文章目录
一. 单元测试(Unit Testing)
- 单元测试通常是软件测试的第一步。
- 开发人员编写单元测试,针对代码中的最小单元(函数、方法、类)进行测试。at the level of a method or class
- 目标是验证单元的正确性,确保代码在最初实现时就没有错误。
二. 集成测试(Integration Testing)
- 集成测试是在单元测试之后执行的,旨在验证多个单元之间的交互和依赖关系。
- 这确保了不同组件在一起协同工作时没有问题。
三. 功能测试(Functional Testing)
- 功能测试是为了验证软件的功能是否按照规范工作。
- 这包括确保应用程序的各种功能和任务可以正确执行。
- 功能测试分为验收测试、系统测试和用户界面测试等。
四. 性能测试(Performance Testing)
- 性能测试是为了确定软件的性能和性能特性。
- 这包括负载测试、压力测试等,以确保软件在不同负载条件下表现良好。
五. 安全测试(Security Testing)
- 安全测试用于检测和识别应用程序的安全漏洞和弱点。
- 这确保了应用程序的数据和用户的安全。
六. 回归测试(Regression Testing)
- 回归测试是在对软件进行更改后执行的测试,以确保新更改不会破坏现有功能。
- 它通常包括重新运行现有测试套件。
七. 接受测试(Acceptance Testing)
- 接受测试是在软件交付给最终用户之前执行的测试,以确保软件满足用户需求。
- 用户验收测试(UAT)和系统验收测试是其中的一部分。
八. 冒烟测试(Smoke Testing)
- 冒烟测试是一组最基本的测试,用于验证软件是否能够正常启动和基本功能是否正常工作。
- 它通常是在每次构建后执行的测试。
九. System Test(系统测试)
- System Test(系统测试)是软件测试中的一个重要阶段,通常在功能测试和用户验收测试之后执行。System Test旨在验证整个系统或应用程序是否按照规格和要求工作,以及它是否满足用户的实际需求。
- 范围:System Test关注的是整个系统的测试,而不仅仅是单个组件或模块。它涵盖了系统的各个方面,包括功能、性能、安全性、可用性等
- 测试类型:System Test包括多种测试类型,如验收测试、性能测试、安全测试、可用性测试等,以确保系统在各个方面都能正常工作。
十. JUnit
1. @Test 注解
JUnit 使用 @Test 注解来标记测试方法。只有被 @Test 标记的方法才会被执行作为测试用例。测试方法应该包含一些断言语句,用于验证被测试代码的行为是否符合预期。
2. 测试运行和报告
当运行 JUnit 测试类时,框架会执行所有标记为 @Test 的测试方法,并生成测试报告。即使一个测试方法失败,它也不会停止后续测试方法的执行,这有助于在单次运行中执行多个测试用例。
3. 丰富的注解
JUnit 提供了多种注解,用于配置测试环境。一些常见的注解包括:
@Ignore:用于忽略特定的测试方法,通常在临时情况下使用。
@BeforeEach:在每个测试方法执行之前运行的方法。
@BeforeClass:在测试类的所有测试方法执行之前运行的方法。
@AfterEach:在每个测试方法执行之后运行的方法。
@AfterClass:在测试类的所有测试方法执行之后运行的方法。
@Timeout:用于设置测试方法的超时限制,防止测试运行时间过长。
4. 异常测试
JUnit 提供了 Assertions.assertThrows 方法,用于验证在特定情况下是否抛出了异常。这对于测试代码的异常处理逻辑非常有用,您可以指定预期的异常类型和相应的代码块。