关于测试的心得笔记
1、软件测试
测试
静态测试、动态测试:静态:review,walkthrough,inspections
测试:发现是否存在错误,调试:消除错误
白盒测试:对程序内部代码结构测试
黑盒测试:对程序外部表现出来的行为测试。
2、测试用例
测试用例=输入+执行条件+期望结果
3、测试优先的编程
先写spec、再写测试用例、再写代码、再写测试用例直至通过
TDD:测试驱动开发 (TDD) 是一个开发过程,它依赖于非常短的开发周期的重复:将需求转化为非常具体的测试用例,然后改进软件以通过新的测试。
4、单元测试
针对软件的最小单元进行测试
5、Junit
测试可以访问具有默认(包)可见性的成员
6、黑盒测试
用于检查代码功能,不关心内部细节
检查程序是否符合规约,用尽可能少的测试用例,尽快运行,并尽可能大的发
现程序的错误
6.1、等价类划分
针对每个输入数据需要满足的约束条件,划分等价类(每个等价类中选一个代表作为用例,降低测试用例的数量)
限定数值范围(里外)、指明特定值(一个多个)、确定一组值(若干一个),YN
大量的错误发生在输入域的“边界”而非中央, 在等价类划分时,将边界作为等价类之一加入考虑.
笛卡尔积全覆盖:测试完备,但是测试用例多,测试代价高;覆盖每个取值最少1次即可:测试用例少,代价低,但测试覆盖未必高。
8、代码覆盖度
代码覆盖度越低,测试越不充分 但要做到很高的代码覆盖度,需要更多的测试用例,测试代价高
函数覆盖、语句覆盖、分支覆盖、条件覆盖、路径覆盖
效果:路径>分支>语句
难度:路径>分支>语句