单元测试用例自动生成分析与设计

来源 :太原理工大学 | 被引量 : 2次 | 上传用户:augenthaler
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件测试是保障软件质量的重要手段。传统的手工测试存在效率低,耗费人力、时间资源大,无法有效量化管理等缺点,自动化测试在软件测试中所占比重日益增加。测试自动化就是希望能够通过自动化测试工具或其他手段,按照测试工程师的预定计划进行自动测试,目的是减轻手工测试的劳动量,从而达到提高软件质量的目的。测试数据自动生成问题是软件测试自动化中的一个基本问题。能够高效自动生成满足测试需要的测试用例,是提高软件测试工作效率的重要手段。面向路径的测试数据自动生成问题可以描述为:给定一个程序P和一条路径W,设P的输入域为D,求输入x,使得P以x为输入运行时所经过的路径为W。求解该问题可以转化为一个约束系统构建和求解的问题。构建约束系统的主要困难在于分析、化简路径上的各种语句成分和数据类型,尽可能将条件谓词表示成为输入变量的函数。而求解约束系统的主要困难在于路径上的非线性约束。已经证明不存在通用有效的方法求解非线性约束系统。Neelam Gupta等人提出了迭代松弛法自动求解该问题,该方法通过分析路径上各语句之间的静态、动态数据依赖关系,构造程序切片和数据依赖集,用线性算术表示对谓词函数进行线性化,用数值计算的方法去求解该问题。由于该方法需要了解语句之间的静态数据依赖关系,因此该方法仅能用于白盒测试。本文从三个方面对迭代松弛法进行改进,省略了构造谓词切片和数据依赖集的过程,选取主要路径,使用函数的导数来代替均差。改进后的方法无需分析路径上各语句之间的静态、动态数据依赖关系,因此可以应用于黑盒测试。改进后的方法比原方法构造线性约束系统的能力更强,效率更高。本文提出了一个面向路径测试数据自动生成的框架,该框架以改进后的迭代松弛法为核心算法,对于路径上谓词函数均为线性函数的情况,该框架迭代一次即可找到路径的解,或者保证路径不可行。对于路径上谓词函数含有非线性函数的情况,该框架需要迭代多次,或者找到路径的解,或者增加该路径不可行的信心。本文开发了一个以面向路径测试数据自动生成框架为蓝图的原型工具(PTDAG)。该工具采用面向对象的思想进行开发,采用Java语言进行编程,定义了一种简单的语言J用于实验,利用JavaCC为J语言自动生成词法分析器和语法分析器,利用MATLAB为线性约束系统求解。初步实验结果表明本文所提出的面向路径测试数据自动生成框架是正确和有效的。
其他文献
随着计算机网络的广泛应用,计算机网络的安全问题也日益引起人们的重视。在网络安全中,各种安全服务都是基于安全协议的,这使得安全协议的安全性变得尤为重要。在过去的二十多年
互联网的飞速发展使人们可以很方便地从网络上获取多媒体数据,同时也给版权保护这一问题提出了新的挑战。数字水印技术作为一种新的有效的数字产品版权保护的技术手段,是信息
在应用软件中嵌入一个脚本编译器,能使软件支持脚本语言,用户可以通过编写脚本程序来对软件进行二次开发,从而提升软件的功能,更符合用户的需求。这种软件有很好的扩充性和通用性
无线传感器网络(Wireless Sensor Networks,简称WSN)集成了传感器技术、嵌入式计算技术、无线通信技术和分布式信息处理技术。它是一种全新的计算模式,是继因特网之后将对21世
随着经济全球化趋势和中国加入WTO,中国电信市场的政府管制力度将越来越弱,市场更加开放、竞争更加激烈。国内具有经营权的电信运营商,在全国范围内均拥有相当规模的公用电信网,
支持向量机(Support Vector Machines)是20世纪90年代由Vapnik等人提出的一类新型机器学习方法,它能够非常成功地处理分类和回归问题。由于支持向量机出色的学习性能,该技术已
本论文首先针对水轮发电机组调节系统的时变性以及非线性特点,主要研究了模糊PID控制策略的特点、神经网络PID控制策略的特点和模糊神经网络控制策略的特点。并在研究控制策略
随着分布式技术的飞速发展,无论是科学研究还是工业生产都要求能够实现跨越组织的资源共享,因此网格应运而生。在网格不断发展过程中,分布在各地的软硬件资源以服务的形式存在。
在当今的信息时代,因特网成为人们表达、展示、联系、沟通、交流的不可或缺的平台,但随着信息量的增大、语言的意义多样性和人们行为方式的增多,传统的信息搜索模式逐渐暴露
随着计算机网络的普及和信息化的推广,计算机网络应用越来越重要。企业、公司、政府部门相当数量的数据信息要通过网络传输,如何保证数据信息在网络上安全传输成为目前国内外热