美文网首页
单元测试 SUT

单元测试 SUT

作者: JJNile | 来源:发表于2023-08-12 18:08 被阅读0次

是什么(What)

单元测试是一种软件测试方法,通过对程序的单个组件进行测试来验证它们的正确性。这些组件通常是函数、方法或类,而单元测试是通过编写测试用例来对这些组件进行测试的。测试用例会输入一些数据或参数,然后比较预期的输出或行为与实际的输出或行为是否一致。

单元:函数、类、方法、功能模块、子系统

为什么要用(Why)

使用单元测试可以帮助开发人员更快地检测和修复代码中的错误,减少后期的调试和修复工作量。单元测试可以提高代码的可靠性、可维护性和可重复性,同时还可以提高代码的质量和可读性。此外,单元测试可以帮助开发人员更好地理解代码的行为和设计,以及如何使用它们。

应用场景(When/Where)

  • 对于核心业务逻辑的测试;
  • 对于边界条件的测试;
  • 对于处理复杂数据结构的测试;
  • 对于代码的正确性和性能的测试。

如何使用(How)

基本步骤如下:

  • 选择一个单元测试框架,例如 JUnit、PHPUnit 等;
  • 编写测试用例,包括输入、输出和预期结果;
  • 运行测试用例并分析结果;
  • 根据测试结果进行代码修复,并重新运行测试用例,直到所有测试通过为止。

最佳实践

[[单元测试最佳实践]]

测试覆盖率

  1. 行覆盖(Line Coverage):用于度量被测代码中每一行执行语句是否都被测试到了。
  2. 分支覆盖(Branch Coverage):用于度量被测代码中每一个代码分支是否都被测试到了。
  3. 条件覆盖(Condition Coverage):用于度量被测代码的条件中每一个子表达式(true 和 false)是否都被测试到了。
  4. 路径覆盖(Path Coverage):用于度量被测代码中的每一个代码分支组合是否都被测试到了。

尽管 100% 测试覆盖率不是目标,但核心模块、可重用度高的方法、类的语句覆盖率和分支覆盖率都要达到 100%,而整个系统其他代码尽量达到 70%即可。

参考

单元测试实践
有赞单元测试实践_文化 & 方法_国庆_InfoQ精选文章
Go-怎么做单元测试? - 知乎
https://mp.weixin.qq.com/s/eAptnygPQcQ5Ex8-6l0byA
GitHub - bxcodec/go-clean-arch: Go (Golang) Clean Architecture based on Reading Uncle Bob's Clean Architecture

相关文章

网友评论

      本文标题:单元测试 SUT

      本文链接:https://www.haomeiwen.com/subject/zawxmdtx.html