践行良心教育,铺就职业坦途
博为峰老师直接接听
2024/5/13 16:31:22
前言最近在网上搜索前端自动化测试相关的文档,但是发现网上的文...
前言最近在网上搜索前端自动化测试相关的文档,但是发现网上的文章都是偏使用,没有把一些基础概念说清楚,导致后续一口气遇到一些karma、Jasmine、jest、Mocha、Chai、BDD等词汇的时候很容易一头雾水,这次一方面整理一下收获的知识一方面做个分享。什么是前端自动化测试我个人做题喜欢使用拆解法,比如什么是“前端自动化”,根据这个题目可知,“前端”是在范围/领域,”自动化“是方法,通过脚本或者工具等各种方式在没有人或者很少人的协助下实现预期的目标的过程,“测试”是工作,是为了保证软件项目质量的工作。那么前端自动化测试就是在不借助人员帮助下,通过使用脚本或者工具等各种方式保证前端项目的项目质量的任务。首先,一般人在正式工作中,往往由于工作的强度和业务的要求开发项目的时候都没有编写自动化测试脚本的环节。但是在后续过程中职业生涯中,参与一些大型项目或者一些使用人很多的第三方库中,会对代码质量和功能稳定性的要求越来越高,以及多人协作开发的开发集成交付效率,更为了提高自己的知识储备和行业竞争力,学会前端自动化测试的一些相关基础是很必要的。前端测试分类既然讲了什么是前端自动化测试,那么前端测试又分成哪几类呢?首先前端测试分类往往指的是涵盖的模块大小,从最小的函数方法到整个应用的自动化测试分成了多个模块:1.静态代码分析:静态代码分析工具(如?ESLint、Stylelint、Preitter)通过静态分析源代码来检测潜在的错误、代码风格问题和安全漏洞。它们的原理是基于预定义的规则或自定义规则对代码进行扫描,并生成相应的警告或错误。这些工具帮助开发人员在编码阶段捕获问题,提高代码质量和可维护性。静态代码分析的工作主要是通过配置分析工具配置文件的方式,由于Eslint工具十分成熟且网上配置教程众多,这里就不展示案例。2.单元测试:单元测试——这是在软件开发里常常听到的词,单元测试是针对软件系统中最小的可测试单元(在前端里通常是函数或方法)进行的测试。测试工具(如?Jest、Mocha、Enzyme)使用断言库来验证函数的输入和输出是否符合预期。它们通过提供的测试框架和断言库来运行和验证函数的行为,以确保各个单元(函数)的正确性。下面一个例子,通过mocha编写的自动化脚本去测试函数的返回是否符合预期: // 目标函数,返回的是两数之和 function sum(a, b) { return a + b; } describe("sum", () => { it("返回两数之和", () => { const result = sum(2, 3); // expect里为测试目标,入参为2和3的sum函数 // equal里为结果,期望返回的是5 // 如果实际执行中返回的结果不对则会报错 expect(result).to.equal(5); });});3.集成测试:再封装一层,将已通过测试的单元按设计要求集成起来再进行的测试就是集成测试;集成测试用于测试多个组件或模块之间的交互和集成情况。测试工具(如?Jest、Mocha)提供了功能来组织和运行集成测试套件,并使用模拟、桩(stub)或替代(mock)等技术来模拟外部依赖。它们可确保不同组件之间的集成正常工作,并验证系统的整体功能。在前端往往是模拟组件生成到接口集成测试这部分的工作。下面一个例子,Mock远程数据到调用组件方法来验证登陆组件是否能正常工作:
成都博为峰·软件测试培训
成都博为峰·软件测试职业技能培训
成都博为峰·软件测试小白入门培训
成都博为峰·软件测试线下课程
成都博为峰·软件测试就业培训