天网 发表于 2004-5-12 21:24:20

第3贴【2004-5-12】:测试的基本原则

(美)Roger S. Pressman
在设计有效测试用例之前,测试工程师必需理解软件测试的基本原则。这里有一组测试原则:
1、所有的测试都应追溯到用户需求。正如我们所知:软件测试的目标在于揭示错误。而最严重的错误(从用户角度来看)是那些导致程序无法满足需求的错误。
2、应该在测试工作真正开始前的较长时间内就进行测试计划。测试计划可以在需求模型一完成就开始,详细的测试用例定义可以在设计模型被确定后立即开始。因此,所有测试应该在任何代码被产生前就进行计划和设计。
3、Pareto原则应用于软件测试。简单地讲,Pareto原则暗示着测试发现的错误中的80%很可能起源于程序模块中的20%。当然,问题在于如何孤立这些有疑点的模块并进行彻底的测试。
4、测试应从“小规模”开始,逐步转向“大规模”。最初的测试通常把焦点放在单个程序模块上,进一步测试的焦点则转向在集成的模块簇中寻找错误,最后在整个系统中寻找错误。
5、穷举测试是不可能的。即使是一个大小适度的程序,其路径排列的数量也非常大。因此,在测试中不可能运行路径的每一种组合。然而,充分覆盖程序逻辑,并确保程序设计中使用的所有条件是有可能的。
6、为了达到最佳效果,应该由独立的第三方来构造测试。“最佳效果”指最有可能发现错误的测试(测试的主要目标),所以创建系统的软件工程师并不是构造软件测试的最佳人选。

[ Last edited by 天网 on 2004-5-13 at 11:26 ]

Askernel 发表于 2004-6-2 15:21:51

测试计划是由一些人分模块来计划呢,还是某个人来做或者是由几个人一起来做呢,

哪种的效率要高点啊

Askernel 发表于 2004-6-2 15:24:06

穷举测试不可能~--但是哪些用来自动测试的软件是不是可以实现穷举测试呢?~:)

天网 发表于 2004-6-9 11:24:18

测试计划是应该由一个还是多个人来做要看被测对象的规模。

穷举测试不可能,简单的例子:假设一个系统输入范围为0-100的实数,测试时不可能将0-100的实数作为输入全部测试。自动化测试能代替人工做一些重复的测试工作、以及模拟一些人工测试难以达到的情况,但同样无法做到穷举测试。

johnliuzy 发表于 2004-9-10 11:06:06

软件测试的另一个原则是,没有完美的软件,为发现BUG的投入不应当超过交付后发现的BUG再进行更改的成本(这也是很多公司对产品的测试并不严格的原因)
穷举测试不是不可能(成本太高,而且没必要),通过等价类划分完全可以替代穷举.

天网 发表于 2004-9-10 12:50:46

等价类划分是不能替代穷举的,因为等价类的划分是建立在等价类集合中所有元素对于软件某个功能完全等效的假设基础之上的,这是不能绝对成立的。
之所以还是采用等价类,是用测试效果换取测试效率。

qingtian 发表于 2004-12-8 09:24:32

学习~~~
页: [1]
查看完整版本: 第3贴【2004-5-12】:测试的基本原则