不同类型的测试

Posted 张驰Zhangchi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不同类型的测试相关的知识,希望对你有一定的参考价值。

1. Unit testing

单元测试的级别非常低,接近应用的源代码。它们包括测试软件使用的类、组件或模块的单个方法和功能。通常,单元测试的自动化成本相当低,并且可以由持续集成服务器快速运行。

2. Integration testing

集成测试可验证您的应用使用的不同模块或服务是否可以很好地协同工作。例如,它可以测试与数据库的交互或确保微服务按预期协同工作。这些类型的测试的运行成本更高,因为它们需要应用的多个部分才能启动并运行。

3. Functional testing

功能测试侧重于应用的业务需求。它们仅验证操作的输出,而不在执行该操作时检查系统的中间状态。

集成测试和功能测试之间有时会出现混淆,因为它们都需要多个组件才能相互交互。区别在于,集成测试可能只是验证您可以查询数据库,而功能测试则期望从数据库中获得产品要求定义的特定值。

4. End-to-end testing

E2E  testing 在完整的应用环境中复制用户使用软件的行为。它可以验证各种用户流程是否按预期运行,可以像加载网页或登录一样简单,也可以是验证电子邮件通知、在线支付等更复杂的场景...

端到端测试非常有用,但执行起来很昂贵,而且在自动化时可能难以维护。建议进行一些关键的端到端测试,更多地依赖较低级别的测试类型(单元和集成测试),以便能够快速识别重大变更。

5. Acceptance testing

验收测试是验证系统是否满足其业务要求的正式测试。它们要求测试期间整个应用启动并运行,并专注于复制用户行为。但是,他们也可以更进一步,衡量系统的性能,并在某些目标未实现时拒绝变更。

6. Performance testing

性能测试评估系统在特定工作负载下的性能。这些测试有助于衡量应用的可靠性、速度、可扩展性和响应能力。例如,它可以在执行大量请求时观察响应时间,也可以查看系统在处理大量数据时的行为。它可以确定应用是否满足性能要求、定位瓶颈、测量峰值流量期间的稳定性等等。

7. Smoke testing

冒烟测试是检查应用基本功能的基本测试。它们旨在快速执行,其目标是向您保证系统的主要功能按预期运行。

冒烟测试可以在创建新版本后立即用于决定是否可以运行更昂贵的测试,或者在部署之后立即使用,以确保应用在新部署的环境中正常运行。

以上是关于不同类型的测试的主要内容,如果未能解决你的问题,请参考以下文章

如何测正弦信号的峰值?(测峰值的电路是啥?)

性能测试峰值

如何测量当前 node.js 进程的峰值内存使用量

怎么用示波器测正弦波的峰值

每日学习记录20230306_培养基

如果应用程序和测试在不同的项目中,如何在 python 上测量应用程序的测试覆盖率