说明:要知道如何进单元测试,就需要先理解下单元测试基础知识并结合相应开发语和框架去实现;
单元测试的:
从代码度验证业务流程覆盖实现减少BUG快速定位BUG提代码质量减少调试时间实现依赖:
单元测试理论法挑选需要单元测试的业务代码例管理和执框架Tip:接下来就简单说明下单元测试相关理论知识
1.1 测试法
![9c9515b4711db9f68d3f095519f12e70.png](https://i-blog.csdnimg.cn/blog_migrate/5ee0204b687c54f85064fa18aa3c4b9e.jpeg)
1.语句覆盖
说明:红框代码覆盖,要把所有的语句都进覆盖,就需要设计不同的输参数。
2. 分覆盖
说明:框分覆盖,要把所有的分进覆盖,就需要设计不同的输参数。
3. 条件覆盖
说明:绿框条件覆盖,要把所有的条件进覆盖,就需要设计不同的输参数。
示例:(a>5 or b<10)要覆盖:1. a=3 b=4 2.a=6 b=8 3.a=3 b=11
4. 路径覆盖
说明:从开始到结束的路径,要把所有的路径进覆盖,就需要设计不同的输参数。
提示:在作中般覆盖:语句、分、条件
1.2 挑选进单元测试代码
说明: 使定律来说,80%bug在20%的代码中产,也就是说只要选中20%代码即可;当然如果
需要地写的业务进全部单元测试另说;
如何挑选20%代码?
1. 复性的代码
2. 核业务代码(参考优先级)
3. 业务逻辑实现度的代码(多条件、多判断)
全部进行测试:
1. 需要考虑最单元的颗粒度划分(函数、模块、业务)
2. 单个单元测试,避免多个单元依赖调问题(使mock或打桩进解决)
3. 多个单元测试,测试顺序般从核单元代码开始
1.3 例管理框架
例:可以理解为覆盖语句、分、条件、路径所的输参数,每组参数为条例;
说明:例管理框架是作是:可以批量执例,级断,及成测试报告;
框架:不同的语有不同的例管理框架,要根据后端使语来定如:
Java:unitTestNG
Python:unittestpytest
c++:gtest
断: 特殊函数,判断执结果是否符合预期结果,符合在结果集中标记pass,不符合跑出异常记录failed ,示例:
相等:assert a == b
不相等: assert a !=b
属于:assert “成功” in “订单付成功,我们尽快发货!”
总结:根据不同的语使不同的例框架调测试程序,采断来判断是否成功。