如上图所示,由敏捷大师Martin Fowler测试分层概念,以区别于传统的自动化测试。
这里的自动化测试分为从下往上的三层架构:
单元自动化测试(数据处理层):指对软件中最小的可测试单元进行检查和验证,一般需要借助单元测试框架,如java的Junit、TestNG,python的unittest,常见的手段是code review等;
接口自动化测试(业务逻辑层):主要检查验证模块间的调用返回以及不同系统、服务间的数据交换,常见的接口测试工具有postman、jmeter、loadrunner等;
UI自动化测试(GUI界面层):UI层是用户使用产品的入口,所有功能通过这一层提供给用户,测试工作大多集中在这一层,常见的测试工具有UFT、Robot Framework、Selenium、Appium等。
从性价比:按照测试金字塔模型以及投入/产出比,越向下,回报率越高。
所以从成本成本的角度来说,测试尽可能多和早的开始单元测试是必然。UnitTest和PyTest就是Python最常用的两个单元测试框架。
在UnitTest单元测试框架中,利用UnitTest所提供的TestCase类可以快速构建对于被测代码的单元测试用例,并可以完成全部或者指定要求用例加载,并执行生成测试结果。
对于需要出具完整测试报告的情况,还可以利用HTMLTestRunner以及对其进行二次开发优化。
在今晚8点的课程中,芒果将带大家一起学习Python的单元测试的构建与执行,以及如何使用HtmlTestRunner生成符合要求的测试报告。