课程前提条件与收益
了解课程中使用的工具和应用工作流程,以及参加本课程的好处。
JavaScript 入门要求
理解 JavaScript 编程语言将帮助学习者从本课程中获得最大收益。本课程将使用现代 JavaScript 语法,包括 const 和 let 变量声明、箭头函数和模板字符串。因此,至少掌握 ECMAScript 2015(也称为 ES6)的知识是理想的选择。以下是 ES6 语法的一个示例:
1// const 变量用于常量数据,例如社会保障号码 2const FIRST_NAME = "John"; 3// let 变量用于可变数据,例如星期几 4let currentAge = 21; 5 6/* 7我们也可以使用函数声明,例如: 8function personInfo(name, age) { 9 return "The person " + name + " is " + age + " years old."; 10} 11但大多数情况下,我们将使用箭头函数和模板字符串。 12*/ 13 14const personInfo = (name, age) => `The person ${name} is ${age} years old.`; 15 16console.log(personInfo(FIRST_NAME, currentAge));
让我们解释上述代码。
- 在 第 2 行,我们声明了一个名为
FIRST_NAME的const变量。该变量以全大写字母命名,因为这是声明常量变量的常见做法。 - 在 第 4 行,我们声明了一个名为
currentAge的let变量。 - 在 第 14 行,我们声明了一个名为
personInfo的箭头函数。在personInfo函数内部,我们将使用模板字符串来创建包含变量的字符串。
基础工具要求
本课程的主要重点是测试应用程序。然而,了解使用 Next.js 框架构建 React 应用程序的基本组件也会有所帮助。本课程将在后续专注于探索待测应用的章节中为读者提供必要信息。最后,基本了解通过 HTTP 协议使用 JavaScript Object Notation (JSON) 数据进行客户端-服务器通信的应用程序编程接口 (API) 也将大有裨益。下图展示了基本的客户端-服务器工作流程:
在上图中,客户端向 /products API 端点发送 GET 请求。服务器响应时,以 JSON 格式发送产品数据。
开发现代应用程序
在当今数字世界中,企业重视那些能够快速构建并交付高质量产品到生产环境的软件开发团队。关键在于超越竞争对手,迅速推向市场,并提供无缺陷的有价值产品,以留住现有客户并吸引新客户。测试工程师(也称为 质量工程师 或 QA)在交付高质量软件方面发挥着至关重要的作用。如今,大多数团队采用敏捷方法来构建和提供软件。敏捷方法采用迭代流程,快速向客户交付可用的软件。构建和交付增量版本的步骤包括规划、设计、开发、测试以及部署到生产环境。
上图展示了典型的敏捷工作流程。第一步始终涉及制定计划,详细说明如何完成工作。连接“设计”、“开发”和“测试”的橙色箭头表示团队在最终部署到生产环境之前,可能会多次重复这些步骤。敏捷中有三种常见的框架——Scrum、看板(Kanban)和极限编程(XP)。
使用 Scrum 框架构建的项目通常由三到十名成员组成的小型本地化团队构成。
一个 Scrum 团队包括以下人员:
- 产品负责人
- Scrum 主管
- 开发人员
Scrum 主管确保团队有效实施 Scrum。产品负责人管理产品待办事项列表,并最大化团队所构建产品的价值。最后,开发人员负责创建最终产品并交付至生产环境。
注意:在敏捷中,任何参与产品工作的团队成员都是开发者,因此没有特定职位名称。
在上图中,三个圆圈相互交织。这是因为,在敏捷开发中,整个团队都对提供高质量软件负责——每个人都在测试产品中发挥作用。然而,测试工程师带来了专门的测试技能,帮助团队实现这一目标。
学习现代测试技能与策略
测试工程师需要具备高效且有效的策略和技能,以便在快节奏的敏捷环境中测试软件。
测试工程师可以利用多种测试类型来评估产品质量并减少缺陷。因此,本课程将教授现代测试策略和工具,以实现并自动化执行这些策略。结果,学习者将获得成功并提升职业生涯所需的必备技能,无论是从事测试工程工作,还是在其他涉及测试活动的角色中。此外,学习者还将获得在测试和质量保证工作中为团队创造价值所需的信心。