Testing and Test-First Programming

Black-box testing
黑盒测试是一种软件测试方法,它检查应用程序的功能,而不检查其内部结构或工作方式
黑盒测试试图在以下类别中发现错误:
-(1)不正确或缺失的函数,
-(2)接口错误,
-(3)数据结构或外部数据库访问中的错误,
-(4)行为或性能错误,
-(5)初始化和终止错误

黑盒测试 的测试用例是围绕规范和需求构建的,即应用程序应该做什么。
测试用例通常来自软件的外部描述,包括规范、需求和设计参数。虽然所使用的测试本质上主要是功能测试,但是也可以使用非功能测试。

Test design techniques for black-box testing
-等价划分
-边值分析
-决策表测试
-全对测试
-因果图
-错误猜测
-状态转换测试
-用例测试
-用户故事测试
-领域分析
-组合技术

Choosing Test Cases by Partitioning通过分区选择测试用例
Equivalence Partitioning
等价划分是一种测试方法,它将程序的输入域划分为可以从中派生测试用例的数据类。
▪等价划分的测试用例设计基于对输入条件等价类的评估
如果一组对象可 以通过对称、传递和自反的关系链接,则存在等价类
等价类表示输入条件的一组有效或无效状态
相似的输入会产生 相似的结果的输入分为一个集合,可以用集合中一个输入的测试结果 代表整个集

Guidelines for Equivalence Partitioning等价划分指南
输入是一个范围,则定义1个有效和2个无 效等价类
输入是特定值,则定义1个有效和2个无效 等价类
输入是集合的成员,则定义1个有效和1个无 效等价类
输入是布尔型,则定义1个有效和1个无效等价类。

Include Boundaries边界 in the Partition
Boundary Value Analysis:错误隐藏在角落里和边界处

Guidelines for Boundary Value Analysis
对范围[a,b],取值a,b,以及紧邻a,b的值
一组值,取值最大最小,以及邻近最大最小的值

Coverage of Testing
代码覆盖率是用来描述特定测试运行时程序的源代码执行 程度的度量。
基本方 法:逐步增加测试,直到达到足够的覆盖度。
通过工具来度量测试的 覆盖度。

Testing strategy
在这里插入图片描述
Static vs. Dynamic testing
Static testing :不执行程 序,在源代码上进行,如评审、走查等。 ----强调过程
Dynamic testing :通过一组给定的测试用例执行程序。 -----强调结果

Documenting Your Testing Strategy

  • 测试策略是ADT设计的补充
  • 写下测试 策略,如何进行的等价类划分和选取的边界。
  • 其目 标是进行代码审查时检查测试是否充分,并让其他开发人员了解你的 测试。

An example
Document the strategy at the top of the test class
在这里插入图片描述
每个测试方法上面都应该有一个注释,说明如何选择它的测试用例,也就是说,它覆盖分区的哪些部分

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值