浅谈基于控制论的软件自适应测试方法
2018-03-02郑涵
郑涵
摘要:隨着信息技术的不断发展,计算机技术已经渗透到各行各业,在工作中,生活中以及学习中发挥着越来越重要的作用。与此同时,软件质量和软件产品的问题备受人们重视。为了进一步的加深对软件自适应测试方法的认识,本论文基于软件控制论的测试方法进行了探讨。
关键词:软件;测试;控制论;方法
中图分类号:TP311.53 文献标识码:A 文章编号:1007-9416(2018)12-0234-01
为了保障计算机软件的质量和性能,要对软件进行一定的测试,而控制论方法对计算机质量和性能的测试有着积极的作用。针对软件的测试,在提高测试效率和加速验证测试的方面,国内外相关的研究集中在统计抽样的方法,例如基于贝叶斯验证信息的软件可靠性测试等。针对软件测试的应用和研究主要体现在技术软件可靠性测试的评估领域。
1 软件测试的概念
经过一定的人工控制或者智能自动手段,对软件的性能质量以及可靠性加以保障,使软件达到预期的工作效果,并且从根本上挖掘软件工作过程中的故障或者产品问题的相关技术就是软件测试。
通过软件测试可以发现软件的缺陷,提高软件的质量和性能。他能够从不同的角度设计软件测试实现测试的目标,达到证明检测和预防的目的。在软件工程的实施过程中,软件测试是保障软件质量和性能的重要工作。
2 控制论的相关理论
2.1 自适应控制理论
基于完全模型的控制方法是当被控对象限定常,并且达到完全一致的情况下,对其软件进行分析和控制器设计。当模型精准描述实际的对象的时候,这种方法可以进行综合的分析,得到精准可靠的控制效果。可是,对于实际对象,难以通过离线系统来进行辨识事先确定,或者数学模型中一些参数是随时间而动态变化的。设计一个有效的控制系统,达到可以主动适应动态变化的情况,就是自适应控制理论目前要解决的主要问题之一。
通常,设计一个有效的,自适应控制系统应当具备以上三个要素。(1)在线积累过程信息。通过在线积累过程信息,降低被控系统的相关参数值的不确定性。主要有两种方法实现积累。第一种利用系统辨别方法实施,另一种是通过测量过程状态的其他辅助变量实现间接的信息积累。(2)可调控制器。通过可调控制器实现被控系统状态和相关指标的自动调整。(3)性能指标控制。目前主要有开环控制和闭环控制的两种方式。
2.2 软件控制论的相关理论
所谓的软件控制是针对软件工程中的问题进行测试解决。被控的对象是被测的软件。一般情况下,控制器的模型和可行性的控制策略,以及性能指标影响着最优控制的问题。
软件测试主要是发现软件的缺陷,提高软件的质量和性能的重要技术手段,他能够从不同的角度设计软件测试实现测试的目标,达到证明检测和预防的目的。在软件测试的过程中,测试的策略就直接影响测试的停止标准,决定该标准选择何种测试用例。优化软件测试,从本质上来讲就是优化软件的测试策略。
针对测试优化的问题,现阶段大多数研究都是,基于测试技术和测试准则的选择用例问题的研究,以及测试过程中一些测试数据的复杂性等等的性质的研究。与此同时,给定一个测试目标,设计最优测试策略,达到该目标的研究也开始引起了学者们的关注。实现这一目标,就需要考虑如何在有限的测试资源内充分的利用测试经验,设计有效的测试策略。
基于控制论的软件测试方法来考虑这一问题,有学者提出从测试过程中对测试用例选择策略进行研究,针对控制理论将软件测试过程中的控制问题,提出了Markov控制方法。把被测软件当做受控对象运用Markov链进行数学建模,此时测试的策略,作为相应的控制器,构成一个闭环反馈控制系统。这一研究对软件测试技术和控制理论有着重要意义。具体如图1所示。
3 软件测试的控制论方法
3.1 软件测试方法
静态测试方法和动态测试方法是软件测试的两种最基本方法。但是就实质而言,还存在随机测试方法,单元测试方法,排错测试方法和组装测试方法。另外也存在软件确认测试方法和功能性的软件测试方法。
3.2 自适应的测试方法应当具备的特性
目前对于软件进行自适应方法测试的研究,具体分析如下:第一,软件控制了模型尽管对传统的软件测试过程进行了抽象和假设,但在模型部分的假设条件无法确实的反映软件测试的实际情况。基于反馈控制测试方法的反馈环节,比较清晰复杂度也可以接受,所以在软件测试的过程中,应当进行适当的优化和改进,充分的提高软件运行效能,提高发现软件缺陷的概率。第二,现阶段自适应测试方法的随机测试,算法简单成熟并且充分的利用了软件缺陷聚集性的特点,能够在纬度低数值输入域中达到良好的测试效果,但是在计算上复杂度更高高维度和非数值输入的情况下存在弊端。
对于之上的分析,本文认为,一种高效的软件自适应测试方法应当具备以下的特性:(1)被测软件的输入域能够被良好的刻画;(2)可以充分的利用软件缺陷聚集的性质;(3)测试过程中的中间测试数据能够被充分的使用;(4)可以完成测试过程中动态自适应反馈调节的功能;(5)能够接受复杂度更高的计算。
4 结语
21世纪以来,时代经济全球化的发展,现代信息化技术也在走向成熟,信息技术的发展带动了软件技术的开发和应用。计算机软件技术在各个行业掀起了时代发展的浪潮。思考如何提高信息化计算机软件的质量和性能是现阶段计算机领域学者们重点研究的热点之一。基于控制论的软件自适应测试,将有着更加广阔的发展前景和应用平台,其科学合理的软件自适应测试方法,对时代经济的快速发展和经济价值也有一定的积极作用。
参考文献
[1]刘乔辉.浅析软件测试的控制论方法[J].电子制作,2015,(18):27.
[2]包晓安,姚澜,张娜, 等.基于受控Markov链的软件自适应测试策略[J].计算机研究与发展,2012,49(6):1332-1338.
[3]姚澜.基于控制论的软件自适应测试策略研究[D].浙江理工大学,2013.
[4]江韩斌.软件测试的控制论方法研究[D].北京大学,2008.
[5]安存召.构件自适应测试技术研究与应用[D].西安理工大学,2008.
[6]蔡开元,李永超,景涛, 等.软件测试的控制论方法[J].航空学报,2002,23(5):448-454.
A Brief Discussion on Software Adaptive Testing Method Based on Cybernetics
ZHENG Han
(Zhongshan Torch Development Zone Polytechnic School, Zhongshan Guangdong 528437)
Abstract:With the continuous development of information technology, computer technology has penetrated into all walks of life, in work, life and study play an increasingly important role. At the same time, the problem of software quality and software products has attracted much attention. In order to further deepen the understanding of software adaptive testing method, this paper discusses the testing method based on software cybernetics
Key words:software;testing;cybernetics;methods