前言
本文帮助您了解功能测试和非功能测试之间的区别,并涵盖了两者的示例。功能测试基于被测应用程序应该完成的任务,它基于定义它的要求和规范。测试亚马逊购物应用程序以确保我可以搜索和购买产品是功能测试。与此相反,非功能测试是基于该应用程序的运行情况和执行情况。当以这种方式思考功能性和非功能性测试时,至少对我来说,更容易理解不同类型的测试技术在哪里。例如,单元测试是功能测试的一个主要例子,因为它从字面上测试代码的“功能”——执行一个操作的可重用代码块。更广泛地,功能测试包括一系列测试技术,其中使用明确定义的要求来验证应用程序是否按设计工作。功能测试发生在原子级别(单元测试)和整个开发生命周期。
功能测试示例
- 单元测试- 这是指对特定应用程序的单个组件进行测试。这些可以自动化,确保核心功能不会随着代码库的发展而受到损害。
- 验收测试- 在开发特定功能之后,应执行验收测试作为表明新开发的功能满足提供的要求的签收。在敏捷环境中工作时,可以在完成功能的冲刺结束时执行此类测试。通常的做法是将此作为任务包含在每个用户故事中,以确保它不会被忽视。验收测试通过提供一个检查点来帮助消除对特性功能的任何误解,在该检查点上编写需求的人可以验证功能。
- 集成测试- 集成测试是指测试应用程序的各个部分,其中组件被迫协同工作以执行某些功能集。这种类型的测试可以自动化,确保代码库中的组件可以毫无问题地协同工作。
- 回归测试- 在代码库更改后针对应用程序执