我见过其他人在 Stack Overflow 上提到了几种类型的测试。
我能回忆起的是单元测试和集成测试。特别是单元测试被提到了很多。究竟什么是单元测试?什么是集成测试?我还应该注意哪些其他重要的测试技术?
编程不是我的职业,但我希望有一天能成为;关于生产等的东西也很受欢迎。
我见过其他人在 Stack Overflow 上提到了几种类型的测试。
我能回忆起的是单元测试和集成测试。特别是单元测试被提到了很多。究竟什么是单元测试?什么是集成测试?我还应该注意哪些其他重要的测试技术?
编程不是我的职业,但我希望有一天能成为;关于生产等的东西也很受欢迎。
在我的头顶上:
我应该知道我的代码的任何其他重要测试吗?
根据软件生命周期的不同阶段,这些是一些不同类型的测试:
还有更多:
而且,更多……测试软件几乎与编写软件一样广泛。
单元测试的主要目标是获取应用程序中最小的可测试软件,将其与代码的其余部分隔离,并确定它的行为是否完全符合您的预期。每个单元在集成到模块之前单独测试,以测试模块之间的接口。单元测试已经证明了它的价值,因为在它的使用过程中发现了很大比例的缺陷。
集成测试是单元测试的逻辑扩展。最简单的形式是将两个已经测试过的单元组合成一个组件,并测试它们之间的接口。从这个意义上说,组件是指多个单元的集成集合。在现实场景中,许多单元被组合成组件,这些组件又被聚合成程序的更大部分。这个想法是测试各个部分的组合,并最终扩展该过程以与其他组的模块一起测试您的模块。最终,组成一个过程的所有模块都一起测试。除此之外,如果程序由多个进程组成,则应成对测试它们而不是同时测试所有进程。
检查网站以获取更多信息。除了 Microsoft 之外,还有大量信息来自其他来源。
另一个重要的技术是回归测试。在这种技术中,您维护一套测试(称为回归套件),它们通常在每晚以及每次签入之前运行。每次修复错误时,您都会向套件添加一个或多个测试。目的是阻止您重新引入已经修复的旧错误。(这个问题出奇的普遍!)
在你的项目变大之前尽早开始积累你的回归套件,否则你会后悔的。我肯定有!
根据您在软件开发生命周期中所处的阶段,有不同级别的测试。最高层是需求分析,最低层是解决方案的实施。
什么是单元测试?
有很多单元测试工具,其中最流行的一种是 JUnit。
在执行单元测试时,我们希望构建一个满足特定覆盖标准的测试集(一组测试用例)。这可能是一些结构覆盖标准(NC、EC、PPC 等)或数据流标准(ADC、AUC、ADUPC 等)
什么是集成测试?
其他级别的测试包括:
回归测试
验收测试
单元测试只是编写(希望)小代码块来测试应用程序的独立部分的想法。
例如,您可能有一个计算器应用程序,您需要确保加法功能有效。为此,您编写一个单独的应用程序,直接调用加法函数。然后您的测试函数将评估结果以查看它是否符合您的预期。
它基本上是使用已知输入调用您的函数并验证输出是否完全符合您的预期。
谷歌上“测试类型”的前两个搜索结果看起来很全面
我认为最相关的那些。见这里。
这是我写的一个条目:不同类型的自动化测试。
单元测试:对一个单元或一个最小的软件进行的测试。完成以验证它是否满足其功能规范或预期的设计结构。
集成测试:一起测试相关模块的组合功能。
回归测试:测试应用程序以验证修改没有造成意外影响。
冒烟测试:冒烟测试验证构建是否可测试。