软构复习2

第二章 测试优先的编程

测试&debug

测试目标:证错   debug:识别错误并改正

 

测试等级:

单元测试:函数级别;

集成测试:多个类、包、组件、子系统

系统测试:系统

 

静态测试&动态测试:靠眼睛看&撸起袖子使劲干

静态测试:没有执行程序的情况下,检查源代码、语法和数据流

动态测试:用给定的测试用例执行编程代码

 

白盒测试:对程序内部代码结构的测试

黑盒测试:对程序外部表现出来的行为的测试

测试用例:输入+执行条件+期望结果

测试优先的编程:先写spec;再写符合spec的测试用例;写代码、执行测试、有问题再改、再执行测试用例,直到通过它

 

单元测试:针对软件的最小单元模型开展测试,隔离各个模块,容易定位错误和调试

 

黑盒测试:用于检查代码的功能,不关心内部实现细节;检查程序是否符合规约;用尽可能少的测试用例,尽快运行,并尽可能大的发现程序的错误

等价类划分

将被测函数的输入域划分为等价类,从等价类中导出测试用例;

针对每个输入数据需要满足的约束条件,划分等价类;

每个等价类中的输入有相似的行为,故从每一个等价类中选一个作为测试用例即可;

划分时:输入数据的特殊情况、输入的上限;

注意考虑等价类的边界,可作为单独的等价类来考虑;

覆盖分区的两个极端

笛卡尔积全覆盖:测试完备,但用例多,测试代价高;

覆盖每一个取值,最少1次即可:测试用例少,代价低,但测试覆盖度未必高;

 

白盒测试:需要考虑内部实现细节

根据程序执行路径设计测试用例;

 

 

代码覆盖度

函数覆盖,语句覆盖,条件覆盖,路径覆盖(每个分支的每个可能的组合)

记录测试策略

posted @ 2023-05-20 19:58  dfhkjsbc  阅读(16)  评论(0)    收藏  举报