[2020-05-18]
1.黑盒测试方法
1.1等价类划分法
- 输入: 把程序的输入划分为若干子集
- 分类:从每个子集中取少数代表性数据作为测试用例,这些数据等价于这一类的数据。
- 常见分类:有效、无效等价类
1.2边界值分析法
- 边界值是对等价类的补充,各个等价类的边界值
1.3因果图、判定表、决策树
- 因果图是用图解的方法表示输入的各种组合关系
- 判定表是因果图另一种的表达方式
- 判定表也可以用决策树表示
- 可以用流程图表示决策树
- 这三者本质上都是表达流程关系,编程逻辑
1.4探索性测试
- 探索性测试是一种软件测试风格
- 同步学习、测试设计和测试执行
- 基于上下文的反馈,适时调整测试执行
- 缺点是覆盖度无法保障
2.白盒测试方法
- 白盒测试:根据待测产品的内部实现细节来设计测试用例
- 可以涵盖各个阶段的测试
- 使用代码覆盖率作为主要度量指标
2.1代码覆盖率
-语句覆盖:每行代码都要覆盖至少一次
- 判定覆盖:判定表达式的真假覆盖
- 判定/条件覆盖
- 条件组合覆盖:判定表达式中的所有条件组合
- 分支覆盖:控制流中的每条边都要被覆盖一次
- 路径覆盖:
- 指令覆盖:一行代码会被编译为多条指令
- 方法覆盖
- 类覆盖
2.2覆盖率统计工具
- JAVA:
emma
cobertura
jacoco:
对jvm的字节码插桩、基于block插桩、计算覆盖率的代码块
2.3流程覆盖
- 利用代码执行流代表流程
- 用路径覆盖率表达
2.4精准化测试
image.png