一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第6天,点击查看活动详情。
前言
最近写了几天的数据结构,是时候换个方向卷一卷了。今天我们就来谈谈,自动化测试。
为什么要做自动化测试,传统的QA测试不行了吗?
在大型项目中,每次的功能改动,项目迭代,如何评估影响面,是否准确,是否需要全量回归,全量回归又需要多少人力成本?人力回归又一定可靠吗?每次项目交接,维护人员变动等都会增加未知的风险。种种原因,导致很多项目越来越烂,漏洞越来越大。所以,我们需要一种更自动化的流程来帮助我们提前发现问题,保障业务稳定性。
如何选择测试框架
测试框架的选择需要考虑以下几个方面
- UI功能测试用例,写起来尽量简单
- 使用稳定在维护中的UI测试框架来写UI测试,保证团队成员可以低成本上手
- 搭配额外的动作录制插件,辅助编写UI单测
- 能覆盖大多数场景即可,如果有必须可以考虑多浏览器内核支持,便于回归不同浏览器的兼容性问题
- 流水线集成,主干代码合入后自动执行,及时发现问题
为什么选择cypress
- 时间追溯,cypress可以在测试运行中自动存储视频以及出错时候截屏存储,鼠标滑过命令行时可以看到这个命令行执行时的动画。
- 可调试性,不用猜测你的测试是否失败,像使用chrome的DevTools一样直接调试,并且可以快速的追踪到出错栈。
- 实时重加载,当测试代码改动过之后,cypress会自动重新加载测试。
- 自动等待,不需要添加wait或是sleep在你的测试中,cypress会自动等待命令和assertion。
- 测试状态菜单,可以实时看到有多少个测试通过或是没通过。
- 访问窗口的尺寸调整,可以随意调整页面访问窗口的尺寸。
- 测试统计报告(增强功能,免费版只能支持3个用户登录查看)
- 选择cypress,搭配动作录制插件 (cypress recorder),可以尽可能简单的编写辅助UI测试用例。
总结
本文简单介绍了自动化测试,以及做自动化测试的意义。并介绍了cypress的一些优点。后续会陆续介绍用例代码的最佳实践,如何编写cypress等。