软件测试的7条原则:从实例中学习

本教程介绍每个软件测试人员和QA专业人员都应该知道的七个基本软件测试原则。

软件测试的7条原则

  • 测试显示存在缺陷
  • 不可能进行详尽的测试
  • 早期测试
  • 缺陷聚集
  • 测试依赖于上下文

背景

在不偏离目标的情况下进行软件测试时获得最佳测试结果是很重要的。但是在这里如何定义是在软件行业中广泛实践的常见的七个测试原则。 要理解这一点,考虑将文件从文件夹A移动到文件夹B的场景。 想一想所有可能的方法来测试这一点。

除了通常的情况外,还可以测试以下条件

  • 尝试在文件打开时移动该文件
  • 没有将文件粘贴到文件夹B中的安全权限
  • 文件夹B位于共享驱动器上,存储容量已满。
  • 文件夹B已经有一个同名的文件,事实上,列表是无穷无尽的
  • 或者,假设有15个要测试的输入字段,每个字段都有5个可能的值,那么要测试的组合数量将是5^15

如果要测试所有可能的组合,项目执行时间和成本将呈指数增长。我们需要一定的原则和策略来优化测试工作

以下是7条原则:

1) 不可能进行详尽的测试

相反,不可能进行详尽的测试,我们需要根据应用程序的风险评估来确定最佳的测试量。

百万美元的问题是,如何确定这个风险?

为了回答这个问题,让我们做一个练习

在看来,哪个操作最有可能导致操作系统失败?

我相信们中的大多数人都会猜到,同时打开10个不同的应用程序。

因此,如果正在测试这个操作系统,会意识到在多任务活动中很可能会发现缺陷,并且需要进行彻底测试,这就引出了我们的下一个原则缺陷群集

2) 缺陷聚集

缺陷聚类,说明少数模块包含大多数检测到的缺陷。这是帕累托原则在软件测试中的应用:大约80%的问题在20%的模块中被发现。

根据经验,可以识别此类有风险的模块。但是这种方法也有它自己的问题。

如果相同的测试一遍又一遍地重复,最终相同的测试用例将不再发现新的错误。

3) 农药悖论

在耕种期间重复使用相同的杀虫剂混合物来根除昆虫,随着时间的推移,会导致昆虫对该杀虫剂产生抗药性,从而使杀虫剂对昆虫无效。如果进行相同的重复性测试,这种方法对于发现新的缺陷将是无用的。

为了克服这一点,需要定期检查和修改测试用例,添加新的和不同的测试用例,以帮助发现更多的缺陷。

测试人员不能简单地依赖现有的测试技术。这一点,他一定要不断地提防小鬼,让我们来看看这段Windows98公开发布的视频

认为像微软这样的公司不会彻底测试他们的操作系统,只会冒着名誉的风险看到他们的操作系统在公开发布期间崩溃!

4) 测试显示存在缺陷

因此,测试原则规定,测试谈论的是缺陷的存在,而不是缺陷的缺失。软件测试降低了软件中未发现缺陷的可能性,但即使没有发现缺陷,它也不是正确性的证明。

但是,如果格外努力地工作,采取一切预防措施,使软件产品99%没有bug,会怎么样呢?软件不能满足客户的需求和要求。

这就引出了我们的下一个原则,那就是–没有错误

5) 没有错误谬误

99%无bug的软件可能仍然无法使用。如果系统构建不可用,并且不能满足用户的需要和要求,这可能是因为发现和修复缺陷没有任何帮助。

为了解决这个问题,测试的下一个原则指出,早期测试

6) 早期测试

早期测试-测试应该在软件开发生命周期中尽可能早地开始。在稍后的培训教程中将详细介绍这一原则。

7) 测试依赖于上下文

测试依赖于上下文,这基本上意味着测试电子商务站点的方式将与测试现成的商业应用程序的方式不同。例如,在零售店测试任何POS系统都不同于测试ATM机。

误区:“原则仅供参考,不在实践中使用“。

测试原则将帮助创建有效的测试策略并起草错误捕获测试用例。 但是学习测试原理就像第一次学习开车一样。

最初,当学习驾驶时,会注意每一件事,比如换挡、速度、离合器操纵等,以至于甚至可以与车内的其他乘客进行对话。

测试原则也是如此。经验丰富的测试人员已经将这些原则内在化到了某种程度,因此认为这些原则没有在实践中使用的是不正确的。

IT赶路人

专注IT知识分享