自动化软件测试技术研究

被引量 : 67次 | 上传用户:zzs0901
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
从计算机的诞生开始,人们对程序正确性的追求就一直没有停止过。软件测试正好可以帮助人们确定和保证软件产品的质量,提高使用者对软件产品的信心。但是,软件测试同时也是一项非常困难和复杂的工作。无论从测试时间的花销和测试资源的耗费上都达到了整个软件项目的50%以上。因此,软件测试一直都是软件工程中相当活跃的研究领域,提高软件测试的性能和效率,对于软件工程具有非常重要的价值。从上世纪70年代以来,伴随着软件工程的发展,对系统化的软件测试技术和方法的研究也随之不断地发展。软件测试从最初的静态分析,动态调试等简单的个体查错行为逐渐发展成为形式化、系统化的工程行为。各种形式化的证明与验证技术用于确保程序的正确性,大量的统计方法也被应用于软件测试,以评测软件产品的质量和软件系统的可靠性。随着软件系统规模的日益扩大,以及应用领域的不断拓展,对软件系统的测试也变得更加困难和复杂,传统的人工测试的局限性也越来越明显。软件测试技术的研究需要有革新性的发展。自动化软件测试技术正是在这样的背景下受到了密切的关注,成为近年来软件测试的重要研究方向。自动化软件测试技术可以克服传统测试技术的许多问题。自动化测试所依据的是一套严密的测试法则和评估标准,具有完整的自动测试过程。因此,它可以避免测试人员惯性思维所导致的测试疏漏,也可减少由于手工测试中繁复的重复工作所导致的人为差错。同时,自动测试是严密控制的测试步骤,易于实现错误信息的追踪和场景的再现。另外,自动测试所带来的简便性,高效性无疑都能给测试分析人员提供极大的便利。因此,自动测试技术已成为提高测试效率,保证测试有效性的重要研究内容。软件工程中,针对软件的CMM模型,曾经有对应的TMM测试模型。随着自动测试技术的研究发展,已经为不同的TMM测试级别形成了相应的自动化软件测试等级。自动化的测试管理配置工具,以及各种自动测试方法被应用于软件开发生命周期中的各个阶段,极大地提高了测试的效率,减少了测试资源的开销,节省了测试人员的占用,大大地缩短了测试的周期。如今,自动化测试技术的理论研究和工程应用相结合,正显现出强劲的发展势头,具有重要的理论意义和非常有价值的现实意义。本文工作中主要的创新性研究成果和贡献如下:(1)提出了面向程序结构测试的一体化自动测试框架模型。在实际的软件工程应用中,由于软件测试具有很强的针对性,各种测试活动往往难以制定为统一的标准行为,为满足特定的测试目标,需要有效组织多种不同的测试活动。这使得设计和实现统一的高效的自动测试框架模型变得困难。自动测试框架模型可看作是组织和联系各个测试活动的容器,设计良好的自动测试框架模型,不仅能为各种测试活动提供很好地支持,具有较好的扩展性和兼容性;同时,应该能够适应不同测试目标的需求,尽量发挥不同测试活动的特点和性能。本文所提出的测试框架模型考虑到测试策略的动态性,根据测试策略对测试活动进行调配,有较强的适应性。同时,该模型可尽量提供对不同测试活动的支持,以及对不同自动测试活动的实现和扩展,尤其对自动化测试用例技术的支持,具有较好的可操作性。(2)对自动化测试用例的生成技术进行了深入的研究后,针对不同的测试策略,设计了不同的测试用例自动生成的实现方法。在基于程序功能的测试用例自动生成中,设计和实现了基于程序规则说明和决策表技术的测试用例自动生成方法,从功能覆盖角度指导测试用例的自动生成。该研究中,针对功能测试中缺乏确定和公认的测试充分性判定标准,导致难以保证自动测试的充分性和完备性的问题,使用测试条件决策表技术用于指导测试用例的自动生成。该方法确保了针对功能的测试用例生成的完备性,有效解决了前述的自动测试标准问题。(3)在基于程序结构的测试用例自动生成研究中,设计了使用遗传算法的测试用例自动生成方法。该方法是一种面向目标的自动测试技术,其目标是为了生成能够均匀覆盖程序各条动态执行路径的测试用例。程序的静态控制路径作为参照基础,并以路径信息将测试用例空间进行等价类划分,以等价类中的元素数量设计测试用例的适应度函数。通过动态调测试用例的整适度,可抑制冗余测试用例的生成,同时奖励可触发不易发生路径的测试用例生成。可有效避免由于测试用例空间分布不均匀性所导致的测试冗余或测试不充分情况,有效地提高了测试用例自动生成的效率。(4)研究启发式学习算法在自动测试技术中的应用,针对路径CSP的自动求解设计了改进的前向检测算法。算法结合了边界测试数据选取技术和宽度优先的二叉树搜索技术,可以完成对实数域空间的有限数据集选取,但同时保证去处的数据可能导致解遗漏的几率低于特定的水平。再通过对该有限集合采用宽度优先的二叉树搜索方法,提高了问题的求解速度。软件测试中,为了检测程序中可能存在的不可达指令代码,需要对程序的动态执行路径进行分析,将程序指令的可达性测试表示成关于该指令所在路径的限制满足问题,则自动测试过程就对应了为对路径CSP的自动求解。因此,这种方法可有效解决自动化指令可达性。(5)将有限状态自动机模型应用于建立自动化测试模型。本文应用该模型对TCP协议服务端进行检测,使用状态转移序列的安全路径和临界循环路径以及时钟检测技术,测试网络应用程序的安全性,是一种较为底层的验证模型。在实现测试自动化的过程中,该模型用于建立较高抽象层次的验证模型,以可执行规则说明提供的测试预测信息作为参照,实现自动测试过程中的错误检测和定位。研究表明,有限状态自动机模型这种形式化的方法,可为软件测试提供不同级别的验证支持。
其他文献
天然气脱水和重烃分离是油气田地面生产的重要工艺环节,传统的低温分离工艺分离效率低、投资和运行费用高、加热防冻困难、防冻剂用量大。针对此类问题提出的免加热或免加注
中国文化发源远古,农业为立国之本,治国之基,兴国之要。中国之传统文化究其根源是一种农耕文化,传统的乡规民约是在这样一种文化渊流下产生的,是中国土生土长的一种乡民自治
信息技术课程的普及和推广使人们不再简单关注其开设的程度,更多的是关注信息技术教育的质量,关注学生信息素养的培养是否到位,而这些都和具体的信息技术教学方法紧密相关。本文
天然气脱水和重烃分离是油气田地面生产的重要工艺环节,本文针对传统的低温分离工艺分离效率低、投资和运行费用高、加热防冻困难、防冻剂用量大的特点,研制出一种新型天然气处
工程地质灾害是人类可持续发展中面临的一个巨大挑战。近10年来,我国因地质灾害而造成的直接经济损失每年超过2800亿元,巨大的灾害不仅直接造成了人民生命财产的损失,而且冲
金属粉末直接激光烧结(Direct Metal Laser Sintering,DMLS)技术是选择性激光烧结技术的一个重要发展方向,DMLS工艺中,高能量的激光直接烧结金属粉末成形致密度高的零件,无须后处
当下,动漫是热门话题,动漫产业早已成为新世纪里各国争先发展的一项重要创意文化产业。进入21世纪以来,中国动漫市场的开放迎来了动漫业的较快发展,中国动漫复兴的重要性早已形成
钛酸盐纳米管是以TiO2纳米粉体为前驱体制备的新型一维管状纳米材料,通过在钛酸盐纳米管中掺杂一些磁性或发光离子,将为这种新型纳米管状材料赋予新的功能,也将赋予这种新材
目的:评价间苯三酚在急诊胆绞痛治疗中的疗效及安全性。方法:368例急诊胆绞痛患者随机分为治疗组236例,对照组132例。治疗组间苯三酚120 mg加入5%葡萄糖溶液静脉滴注,对照组山
本文的选题是源于作者在证券公司及私募基金实习的经历。由于实习期间负责证券投资基金的跟踪研究,对于机构投资者对股市稳定性所产生的影响有一定的体会,因此引发了作者对于此