软件测试自动生成测试数据,软件测试中测试数据的自动生成方法浅析

一、引言

软件质量是制约计算机应用领域进一步发展的关键要素之一,保证软件质量、提高软件可靠性的重要手段是软件测试。软件测试中最关键的问题是测试数据的设计,它主要涉及两个方面,一是测试 数据生成,是测试数据覆盖全面。对于前者,早期程序评价系统都是通过人工方法设计测试数据的,近年来,有更多研究者为实现更高程度的自动化而采用相关技术来实现测试数据的自动牛成。下面简述测试数据生成技术的分类及其中一些典型的方法。

二、测试数据自动生成法分类

相关文献对测试数据自动生成存在不同的分类。Ferguson等1将这些方法所使用的技术划分为随机法、面向目标法和面向路径法三类。这是最恰当的一种分类,但每一类都涉及路径选择问题,且会对测试数据生成全过程产生极大影响,而每一类技术又有多种具体实现方法。近年来出现更多面向日标和面向路径类技术不断发展演变的相关研究,还产生了基于搜索的测试数据自动生成方法。

1.随机法

该法是指在输入空间中随机选择输入来生成测试数据,可完全自动化,优点是生成测试数据的开销小且简便。但其生成盲目且缺乏典型性,理论上可根据预先定义的输入随机分布牛成测试数据,但却难以先验的获知该分布函数,缺乏实用性。

2.面向目标法

该法是针对程序中~条选定分支求取输入数据,该数据要使该分支被执行。初始时,使用任意的输入来执行程序,再将检测程序的执行流程,而搜索过程将决定程序是否按当前的分支执行还是另选一条分支。若观察到当前分支有不期望的流程,则使用函数最小化搜索算法来自动产牛能够改变分支执行流程的输入。其主要思想是仅关注那些影响到目标节点执行的分支。

3.面向路径法

该法是给定一程序和其中一路径,求某一输入数据,使得程序以该数

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值