测试方法分类:
注意:评估标准
1) 按照是否执行进行分类:
静态测试
动态测试
2) 按照测试手段分类:
手工测试
自动化测试
3)按照测试对象进行分析:
黑盒
对象:系统功能测试
优点:简单
缺点:介入时间晚,发现重大bug时难以修复
评估标准:需求覆盖率100%
灰盒
对象:系统模块间接口
优点:介入时间早于黑盒测试
缺点:需要测试有相应的代码能力
评估标准:接口覆盖率
白盒
对象:代码,函数
优点:介入时间早
缺点:测试人员需要由代码能力
评估标准:逻辑覆盖率
价值:提前介入测试,发现代码级别的bug
适用项目
1.大型的、项目周期长
2.新系统、新团队
3.涉及财产、生命的项目
UT开展:UT计划,UT设计,UT实现,UT执行
确定单元测试范围
依据标准:二八原则
20%的代码中隐藏了80%的缺陷
如何确定20%的代码?
确定评估标准:逻辑覆盖率
逻辑覆盖率:语句覆盖率,分支覆盖率,条件覆盖率,路径覆盖率,分支-条件覆盖率
什么是语句:非分支分判断
练习:输入数字,判断是否大于0,如果大于0那么对该数字-1,否则+1
计算方式:被测的语句/全部的语句
分支:if语句的两个分支
计算方式:被测试的分支个数/全部的分支个数
什么是条件:结果为True或者False
计算方式:被测条件数/全部条件数
什么是路径:从开始到结束的过程
计算公式:被测路径数/全部路径数
分支-条件:分支和条件的组和
计算方式
被测分支数+被测条件数/全部分支数+全部条件数
UT设计按测试策略:
1)自顶向下
从最上层函数开始逐层开展测试
注意:需要对函数中调用的函数打桩(模拟调用的函数)
测试成本高
2)自底向上
从最下层的函数开始逐层向上开展测试
测试周期长
3)孤立策略(推荐)
选择需要进行测试函数即可
UT实现测试用例产生过程:
1.先将测试的代码转为流程图
2.将流程图转化为流图(流图中只有圈和线)
圈:判定框中的条件或者一条或者多条语句
线:带有箭头指向的连接
通过流图描述的是程序的复杂度(圈复杂度)
路径的个数描述的就是复杂度的级别
3.确定测试路径
4.编写测试用例
原文:https://www.cnblogs.com/zhangyangcheng/p/12526939.html