软件构造复习——设计测试(PPT2)


一、测试的基本概念

测试只是提高软件质量的一个手段,软件质量取决于软件设计,而不取决于软件测试
在这里插入图片描述
一个好的测试(能发现错误;不冗余;最佳特性;别太复杂也别太简单)

单元测试->集成测试->系统测试

静态测试、动态测试(写测试程序)

在这里插入图片描述

白盒测试是对程序内部代码结构的测试(关注程序的执行路径/情况,开发完才可以做)
黑盒测试是对程序外部表现出来的行为的测试(可以在(开发)运行之前做)

测试无法做到穷举性、完备性

二、测试用例

测试用例
在这里插入图片描述

测试用例以及一个好的测试用例的要求

在这里插入图片描述

三、测试优先的编程

在这里插入图片描述
先写规约,再写符合规约的测试用例,再循环往复的执行测试与修改(TDD,Test-driven development,测试驱动开发)
写测试用例,就是理解、修正、完善你的spec设计的过程

四、单元测试(黑盒测试!)

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

在这里插入图片描述
在这里插入图片描述

五、用Junit进行自动化单元测试

在这里插入图片描述
大部分情况下,我们使用断言assert来编写测试

在这里插入图片描述
在这里插入图片描述

六、黑盒测试

黑盒测试:用于检查代码的功能,不关心内部实现细节
在这里插入图片描述

6.1等价类的划分

在这里插入图片描述
在这里插入图片描述

要将被测函数的输入域划分为等价类,考试的时候等价类可以划分多,但绝不能少,并从等价类中(找出一个代表)导出测试用例

在这里插入图片描述
我们要根据输入,从不同的方面划分等价类,要把所有等价类都覆盖掉。
在这里插入图片描述
在这里插入图片描述
还要记得考虑输入的特殊情况、边界值(边界测试)

边界测试一定要注意哦!

在这里插入图片描述
如上图,要把所有划分的等价类都给覆盖掉
在这里插入图片描述
在这里插入图片描述

测试用例的编写可以采用全覆盖(啥也不管,一个格子一个的去看,保证填满)或者区域覆盖(试数,一个可以填多个,再填剩下的)

6.2边界值

大量的错误发生在边界值,边界值分析法是对等价类划分方法的补充
在这里插入图片描述
在等价类划分的时候,把边界值作为等价类之一加入考虑,比如:写成min-1或者max+1
在这里插入图片描述
在这里插入图片描述

七、白盒测试(小题,考概念)

黑盒测试完全从函数spec导出测试用例,不考虑函数内部实现
白盒测试要考虑内部实现细节
在这里插入图片描述
白盒测试要根据程序执行路径设计测试用例,只能测程序的实现,其一般较早执行,白盒测试要确保程序的每一条路径都被执行
在这里插入图片描述
这个测试是生成的白盒测试的边界值。
典型的白盒测试被称为独立/基本路径测试:对程序所有执行路径进行等价类划分,找出有代表性的最简单的路径(例如循环只需执行1次),设计测试用例,使每一条基本路径被至少覆盖1次。

八、测试覆盖度

在这里插入图片描述
考点:路径覆盖 (但路径数量巨大,难以全覆盖)> 分支覆盖 > 语句覆盖

Automated Testing(自动化测试):只是“测试用例的自动执行”,并非“自动生成测试用例”
回归测试:一旦程序被修改,重新执行之前的所有测试

九、测试策略

在这里插入图片描述

测试策略(test strategy)应该记录在测试类上方,每个测试方法上面应该写上评论注释

Guess you like

Origin blog.csdn.net/m0_50906780/article/details/118280059