第二章 测试优先的编程
测试&debug
测试目标:证错 debug:识别错误并改正
测试等级:
单元测试:函数级别;
集成测试:多个类、包、组件、子系统
系统测试:系统
静态测试&动态测试:靠眼睛看&撸起袖子使劲干
静态测试:没有执行程序的情况下,检查源代码、语法和数据流
动态测试:用给定的测试用例执行编程代码
白盒测试:对程序内部代码结构的测试
黑盒测试:对程序外部表现出来的行为的测试
测试用例:输入+执行条件+期望结果
测试优先的编程:先写spec;再写符合spec的测试用例;写代码、执行测试、有问题再改、再执行测试用例,直到通过它
单元测试:针对软件的最小单元模型开展测试,隔离各个模块,容易定位错误和调试
黑盒测试:用于检查代码的功能,不关心内部实现细节;检查程序是否符合规约;用尽可能少的测试用例,尽快运行,并尽可能大的发现程序的错误
等价类划分:
将被测函数的输入域划分为等价类,从等价类中导出测试用例;
针对每个输入数据需要满足的约束条件,划分等价类;
每个等价类中的输入有相似的行为,故从每一个等价类中选一个作为测试用例即可;
划分时:输入数据的特殊情况、输入的上限;
注意考虑等价类的边界,可作为单独的等价类来考虑;
覆盖分区的两个极端
笛卡尔积全覆盖:测试完备,但用例多,测试代价高;
覆盖每一个取值,最少1次即可:测试用例少,代价低,但测试覆盖度未必高;
白盒测试:需要考虑内部实现细节
根据程序执行路径设计测试用例;
代码覆盖度
函数覆盖,语句覆盖,条件覆盖,路径覆盖(每个分支的每个可能的组合)
记录测试策略
标签:复习,覆盖,代码,软构,等价,测试用例,测试,输入 From: https://www.cnblogs.com/777-Song/p/17417721.html