前言:好多时候单元测试都让开发自测了貌似 = - =,如果要测试人员做单元测试,说明这个东西的重要性比较高。
1、W模型和V模型介绍
W模型:
图片说明
V模型:图片说明
2、需求、概要设计、详细设计分别做了什么
需求:软件要做成什么样子,功能、非功能的要求
概要设计:1、将系统模块化(树状结构图)并描述其范围;
2、定义好模块间的接口(函数名和每一个参数的含义以及取值)
详细设计:实现每个模块的细节代码(伪代码)
3、严谨的概要设计需要将整个系统的模块划分清楚
1、模块的层级关系
2、函数名、参数、返回值的定义
3、相当于需要描述清楚模块之间的调用接口
4、集成测试是接口覆盖
4、详细设计需要描述每个模块内部实现细节和逻辑
1、详细设计需要写伪代码以描述每个函数的实现逻辑
2、单元测试需要考虑代码内部逻辑的覆盖
1、路径覆盖
2、代码覆盖
3、判定覆盖
4、条件覆盖
5、判定条件覆盖
6、组合条件覆盖
图片说明
3、单元测试可以设计“桩”模块,用来模拟其他功能函数
5、为什么要做单元测试
1、单元测试更细致、更有针对性
2、单元测试能测试到很多系统测试无法达到的测试
3、单元测试是在编码中做的测试,发现问题方便修改,而系统测试的问题修改成本可能变高
4、单元测试是自动化测试
6、单元测试框架
python单元测试框架叫做unittest
java单元测试框架叫做Junit, TestNG
c++单元测试框架叫做cppUnit
db单元测试框架叫做dbUnit
7、单元测试实例操作(自己截图操作写一下太费时间,直接搬运一波个人认为还算详细的博客,根据自己简历主要用python还是Java之类的自己选择性看,没必要全会)
1.Java的Junit
https://blog.csdn.net/qq_36110736/article/details/107774507
2.python的unittest
https://blog.csdn.net/weixin_46984154/article/details/112984555
3.Java的TestNG
https://www.cnblogs.com/yxfeng/p/7605522.html
4.C++的cppUnit
https://www.cnblogs.com/abc123456789/p/3433401.html
5.数据库的dbUnit
https://www.cnblogs.com/wade-xu/p/4547381.html