软件工程 |软件测试的七项原则
软件测试是为了发现错误而执行程序的过程。为了使我们的软件运行良好,它应该没有错误。如果测试成功完成,它将从软件中删除所有错误。
软件测试有七个原则:
- 测试显示存在缺陷
- 无法进行详尽的测试
- 早期测试
- 缺陷聚类
- 农药悖论
- 测试依赖于上下文
- 没有错误谬误
- 测试显示缺陷的存在:软件测试的目标是使软件失败。软件测试减少了缺陷的存在。软件测试谈论缺陷的存在而不谈论缺陷的缺失。软件测试可以确保存在缺陷,但不能证明软件没有缺陷。即使是多次测试也永远无法确保软件 100% 没有错误。测试可以减少缺陷的数量,但不能消除所有缺陷。
- 穷举测试是不可能的:这是在所有可能的输入(有效或无效)中测试软件功能的过程,前提条件被称为穷举测试。详尽的测试是不可能的,这意味着软件永远无法在每个测试用例上进行测试。它只能测试一些测试用例并假设软件是正确的,它将在每个测试用例中产生正确的输出。如果软件将测试每个测试用例,那么将花费更多的成本、精力等,这是不切实际的。
- 早期测试:为了发现软件中的缺陷,应启动早期测试活动。在 SDLC 的早期阶段检测到的缺陷将非常便宜。为了获得更好的软件性能,软件测试将从初始阶段开始,即测试将在需求分析阶段执行。
- 缺陷聚类:在一个项目中,少量的模块可以包含大部分的缺陷。软件测试的帕累托原则指出,80% 的软件缺陷来自 20% 的模块。
- 农药悖论:一遍又一遍地重复相同的测试用例,不会发现新的错误。因此有必要审查测试用例并添加或更新测试用例以发现新的错误。
- 测试依赖于上下文:测试方法取决于所开发软件的上下文。不同类型的软件需要执行不同类型的测试。例如,电子商务网站的测试不同于Android应用程序的测试。
- 没有错误谬误:如果一个构建的软件 99% 没有错误,但它不符合用户要求,那么它是不可用的。软件不仅必须 99% 没有错误,而且还必须满足所有客户的要求。