6、功能、控制流、数据流与变异测试

功能、控制流、数据流与变异测试

在软件开发中,测试是确保软件质量的关键环节。本文将介绍基于控制流和数据流的测试方法,以及变异测试技术,包括其原理、实践应用、自动化工具和当前的研究现状。

基于控制流和数据流的测试

Vincenzi等人研究了基于控制流和数据流的测试标准在面向对象和基于组件的产品测试中的应用。为了开发一种通用的解决方案来处理这两类产品,他们决定对Java程序进行静态分析,直接在字节码级别确定测试需求。因为在测试软件组件时,产品的源代码并不总是可用的。通过这种方法,无论源代码是否可用,都可以导出一组关于不同结构测试标准的测试需求,用于评估或开发测试套件。JaBUTi测试工具就是为支持这种方法而开发的,它允许在字节码级别应用基于控制流和数据流的标准。

基于故障的测试技术
变异测试的原理

变异测试基于两个重要假设:
- 称职程序员假设 :优秀的程序员编写的程序是正确的或接近正确的。错误通常是由小的语法偏差(故障)引入的,这些偏差会导致程序执行出现不正确的行为。变异测试通过识别最常见的偏差,并对被测程序(PUT)进行小的更改,促使测试人员构建能够揭示这些修改导致程序出错的测试用例。
- 耦合效应假设 :复杂的错误是由简单错误组合而成的。因此,能够揭示简单故障的测试套件也应该能够发现复杂的错误。在变异测试中,每次只对PUT进行一次变异,即每个变异体与原始程序只有一个语法转换。具有k个更改的变异体称为k - 变异体,本文只考虑1 - 变异体。

测试人员需要提供PUT P和一个待评估充分性的测试套件T。首先将PUT P在

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值