浅谈前端自动化测试 - 介绍篇

4,066 阅读3分钟

前言


关于前端自动化测试,想必很多前端同学都多少都听说过或者实践过,此系列文章主要针对想了解或实践前端自动化测试的同学

正文


一、什么是自动化测试

维基百科:

自动化测试是指 使用独立于待测软件的其他软件或程序来自动执行测试,比较实际结果与预期 并生成测试报告这一过程。在测试流程已经确定后,测试自动化可以自动执行的一些重复性但必要的测试工作。也可以完成手动测试几乎不可能完成的测试。

自动化测试也称为 TDD。

自动化测试分类:

1. 基于图形用户交互界面测试

基于用户界面(GUI)的测试使用能够产生图形用户界面操作(如出表点击、键盘输入等)的测试框架,模拟用户动作来以观察、验证程序是否正确的响应。

2. 接口测试

接口测试指的是通过调用接口(API)绕过GUI层,以 API 应用验证行为进行测试。通常API 绕过测试的应用程序的用户界面。它也可以测试 公共(通常)的接口 ,用各种各样的输入参数来验证返回的结果是正确的。


二、自动化测试有什么意义

  1. 单元测试的用例可以在代码编写完成之前就设计好,并作为功能的一种定义形式存在。随着新的代码不断完成编写,单元测试随之进行,缺陷被不断找出,因而代码也不断得到改进。

  2. 手工完成一些软件测试的工作(例如大量的低级接口的回归测试)十分艰苦耗时, 而且寻找某些种类的缺陷时效率并不高,因而测试自动化,提供一种完成这类工作的有效方法。

  3. 一旦自动化测试方法开发完成,日后的测试工作将可以高效循环完成。很多时候这是针对软件产品进行长期回归测试的高效方法。毕竟早期一个微小的补丁中引入的回归问题可能在日后导致巨大的损失。

三、前端自动化测试有哪些

由于本篇主要介绍的是前端自动化测试,也就是上述对基于图形用户交互界面测试。

关于 GUI 的自动化测试通常又分为 单元测试 和 e2e测试:

1. 单元测试

把代码看成一个个组件,对每个组件进行单独测试,组件内每一个函数的返回结果(或者dom的结构)是不是和期望值一样。

2. e2e测试

把程序当做黑盒子,以用户的视角对真实系统的访问行为进行仿真,对测试的输入(用户行为/模拟数据),看能否得到预期得到的结果。

后记

根据上面两种前端测试方法,后面两篇文章会进行详细介绍以及其实践过程。

你的前端项目到底要不要写单测或e2e测?

最简单是答案是

业务型项目 不写就不写(项目更新 / 变动较频繁)。

(毕竟忙于写业务代码 而无力写单测 )

组件库 / 基础库 / 底层框架类项目 不得不写(代码质量 和 可维护性要求高 )


一只前端小菜鸟 | 求知若渴 | 梦想与爱皆不可辜负