gpt4 book ai didi

unit-testing - 单元测试与验收测试

转载 作者:行者123 更新时间:2023-11-28 19:38:19 24 4
gpt4 key购买 nike

你是支持其中之一?还是两者兼而有之?

我的理解是单元测试:

  • 从开发人员的角度验证系统
  • 帮助开发者实践 TDD
  • 保持代码模块化
  • 协助检测低粒度的错误

验收测试:

  • 从业务和 QC/QA 的角度验证系统
  • 往往是高层次的,因为它们通常是由不熟悉代码内部工作的人编写的

我觉得两者都有必要。但是,为了尽量减少冗余工作,尝试将单元测试合并到验收测试中是个好主意吗?换句话说,让后者调用前者。朝相反的方向前进有意义吗?

您对单元测试与验收测试的总体看法如何,以及如何管理它们之间的关系?

最佳答案

验收和集成测试告诉您您的代码是否正常工作且是否完整;单元测试会告诉您失败的地方。

如果您在验收和集成测试方面做得很好,并且它们都通过了,那么您的代码就会实现它应该实现的所有功能,并且可以正常工作。很高兴知道(知道事实并非如此也很棒)。但如果它不起作用,验收测试不会让您深入了解哪里出了问题;因为它测试了许多功能单元,所以它可以是一种失败的鸟瞰图。这就是单元测试大放异彩的地方。好的单元测试会准确地告诉您哪里出了问题,以及您的代码的确切部分。与验收测试相比,更难知道您是否编写了足够多的单元测试,但是当您有一个失败的验收测试而没有相应的失败单元测试时 - 是时候编写该单元测试了。

以上都是从测试的角度来看的。当然,TDD 与测试无关(ATDD 也不是)。关于驱动你的设计,验收测试给你一个广泛的路线图(“这是你想去的地方”),而单元测试带你到下一个十字路口(“向左转”)。它们在这方面都很有值(value),而且它们的值(value)又是相互补充的。

不要混淆它们;不要将它们混为一谈。特别是单元测试不应该依赖于任何其他东西,通过让验收测试依赖于它们来限制你的单元测试是错误的。当然他们可以共享一些框架代码,但是他们应该是独立的。

关于unit-testing - 单元测试与验收测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4139095/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com