Logo
Section 1 / 4

测试入门

了解测试是什么以及不同类型的测试有哪些。

导入

测试入门

了解测试是什么以及不同类型的测试有哪些。

React 是一个非常易于使用的 UI 库,相比其他许多库来说,它能让你快速迭代和原型开发,将交付给客户的时间缩短数个数量级。

5934444165726208.png
5934444165726208.png

但任何优点都伴随着缺点。由于 React 不强制任何结构,也不提供具体规范,因此很容易犯错。这时测试就显得尤为重要。

什么是测试?

测试 是一种通过将实际系统的行为与预期行为进行对比来验证其正确性的过程。大多数情况下,测试是自动化的。测试让你只需运行一条命令,就能检查整个应用是否正常工作。

在测试的影响下,诞生了测试驱动开发(TDD)。这是一种强调测试重要性的编程方法。TDD 的核心理念是:先编写测试,让它们失败,再编写生产代码来修复这些失败。

遵循 TDD,你可以从第一天起就确保整个系统是可测试的。如果尝试将测试引入一个原本没有考虑测试的项目中,你会遇到很大困难。这是因为测试要求代码具备特定的结构,而这种结构只有在开始测试时才能真正理解。

在接下来的课程中,你将学习如何正确遵循 TDD,编写有意义的测试,并保持代码库的一致性。

测试的不同类型

测试代码的方式有很多,这里我们将重点介绍两种最常用的测试类型:单元测试 和 集成测试。

单元测试

正如你可能猜到的,单元测试 与测试“单元”有关。“单元”是一个模糊的概念,通常指函数或类,即系统的独立组成部分。此外,对这些组件进行隔离测试是单元测试的另一个关键特征。
假设你的应用中有一个按钮会发送 HTTP 请求。在测试这个按钮时,你并不关心请求是否成功发出,你只关心按钮是否触发了该请求。同样地,当你测试 HTTP 请求本身时,你也不关心是哪个按钮触发了它,你只关心请求是否被正确发送。一旦你对系统中的每个组件都进行了独立测试,就可以有信心地认为整个系统会按预期运行。

但这真的可靠吗?正如亚里士多德所说:“整体大于部分之和。”即使你已经对系统的每一个部分都进行了独立测试,仍然需要确认它们之间能否正确协作。而这超出了单元测试的范围。此时就需要使用 集成测试。

集成测试

集成测试 指的是将系统作为一个整体来测试,或者像普通用户那样使用系统进行测试。这比单元测试更复杂,通常需要大量的设置工作。集成测试往往涉及启动浏览器并自动执行一系列操作,例如:

  1. 打开应用
  2. 填写登录凭证
  3. 点击登录按钮
  4. 检查是否成功跳转到个人主页

集成测试特别适用于验收标准。例如,你可以为某个用户故事编写集成测试,帮助开发者明确用户期望的行为是什么。

下图有助于你理解集成测试与单元测试之间的区别。为了实现一个具体的用户故事,你需要在整个项目中开发多个小功能。每个功能都通过单元测试来验证。当这些功能组合起来后,再通过集成测试来确保整个系统能够正常协同工作。

...

快速回顾

  • 测试 是一种通过将实际系统行为与预期行为对比来验证其正确性的过程。
  • 我们关注的是 单元测试 和 集成测试。
  • 单元测试 指的是对系统中每个组件进行 隔离 测试。
  • 集成测试 指的是对系统整体进行测试。

测试的重要性