自动化测试的分层
更新时间:2021-12-16 09:41:11 作者:多测师 浏览:220
单元自动化测试(数据处理层):
单元测试(unit testing):是指对软件中的最小可测试单元进行检查和验证。
单元的含义:单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试,如 C 语言中单元指一个函数,Java 里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。
单元自动化测试一般需要借助单元测试框架,如 java 的 Junit、TestNG,python 的 unittest,常见的手段是 code review 等;
前端单元测试框架:
Jasmine: 自带断言(assert),mock 功能
Mocha: 框架不带断言和 mock 功能,需要结合其他工具,像 chai。由 tj 大神开发
Jest: 由 Facebook 出品的测试框架,在 Jasmine 测试框架上演变开发而来,集成了 Mocha,chai,jsdom,sinon 等功能。
前端断言库
断言库提供了很多语义化的方法来对值做各种各样的判断。
chai: 目前比较流行的断言库,支持 TDD(assert),BDD(expect、should)两种风格
should.js:也是 tj 大神所写
前端集成管理工具
karma:负责自动化执行测试脚本,批量处理脚本,统计测试。Google Angular 团队写的,功能很强大,有很多插件。可以连接真实的浏览器跑测试用例。能够用一些测试覆盖率统计的工具统计一下覆盖率;或是能够加入持续集成,提交代码后自动跑测试用例。
接口自动化测试(业务逻辑层):
接口测试:接口测试是对系统或组件之间的接口进行测试,主要是校验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系。其中接口协议分为 HTTP,WebService,Dubbo,Thrift,Socket 等类型,测试类型又主要分为功能测试,性能测试,稳定性测试,安全性测试等。
主要检查验证模块间的调用返回以及不同系统、服务间的数据交换,常见的接口测试工具有 postman、jmeter、loadrunner 等;
这里我是强烈推荐 Rap,一款开源免费的接口自动化、MOCK 数据自动生成、自动化测试,企业级 Web 接口管理工具(阿里妈妈 MUX 团队出品)。RAP 通过 GUI 工具帮助 WEB 工程师更高效的管理接口文档,同时通过分析接口结构自动生成 Mock 数据、校验真实接口的正确性,使接口文档成为开发流程中的强依赖。有了结构化的 API 数据,可避免更多重复劳动。
接口自动化测试收益大:因为容易实现,维护成本低,有着更高的投入产出比,是每个公司开展自动化测试的首选。
UI 自动化测试(GUI 界面层):
UI 层是用户使用产品的入口,所有功能通过这一层提供给用户,测试工作大多集中在这一层,常见的测试工具有 UFT、Robot Framework、Selenium、Appium 等
什么样的项目适合自动化测试
性价比:按照测试金字塔模型以及投入/产出比,越向下,回报率越高;
Google 的自动化分层投入占比:
小测试(Unit):占比 70%;
中测试(Service):占比 20%;
大测试(UI):占比 10%;
自动化测试面临的挑战:面临的最大挑战就是变化,因为变化会导致测试用例运行失败,所以需要对自动化脚本不断 debug,如何控制成本、降低成本是对自动化测试工具以及人员能力的挑战。
像那种做短平快而收钱的项目,自动化测试完全是扯蛋。
以上内容为大家介绍了自动化测试的分层,希望对大家有所帮助,如果想要了解更多接口自动化测试相关知识,请关注多测师。https://www.aichudan.com/xwzx/
上一篇:AI 辅助测试与自动化测试