学历代表过去、能力代表现在、学习力代表未来!

[转]测试人员要像医生一样把要测试的程序当自己的病人一样看待一样检测!

上一篇 / 下一篇  2011-06-12 13:31:28 / 个人分类:软件测试相关

如果我们将软件测试视作发现错误的过程,而不是将其视为证明“软件做了其应该做的”过程,我们发现后一类错误的可能性会大很多。

总结:软件测试更适宜被视为试图发现程序中错误(假设其存在)的过程。一个成功的测试用例,同感诱发程序发生错误,可以在这个方面上促进软件质量的改进。当然最终我们还是要通过软件测试来建立某种程度的信息:软件做了其应该做的,未做其不应该做的,但是通过对错误的不断研究是实现这个目的的最佳途经。

有人可能会声称“本人的程序完美无缺”(不存在错误),针对这种情况建立起信心的最好办法是尽量反驳他,即努力发现不完美之处,而不只是确认程序在某些输入情况下能够正确的工作

穷举输入测试是无法实现的。这有两方面的含义,一是我们无法测试一个程序以确保它无错的;而是软件测试中需要考虑一个基本问题是软件测试的经济学。也就是说,由于穷举测试是不可能的,测试投入的目标在于通过有限的测试用例,最大限度的提高发现问题的数量,以取得最好的测试效果。除了其他因素之外,要实现这个目标,还需要能够窥见软件的内容,对程序作些合理但非无懈可击的假设。

 

人类行为总算倾向于具有高度目标性,确立一个正确的目标有着重要的心理学影响。如果我们的目的是证明诚信中不存在错误,那就会在潜意识中倾向于是想找个目标:也就是说,我们会倾向于选择可能较少导致程序失效的测试数据,另一方面,如果我们的目标在于证明程序中存在错误,我们设计的测试数据就有可能更多的发现问题,与前一种方法相比,后一种方法会更多的增加程序的价值。

程序中的错误总数始终是未知的。

根据我们的经验,修改一个现存的程序比编写一个新程序更容易产生错误(以每写一行代码的错误数量计)

代码检查与代码走查所带来的附作用是:可以发现易于出错的程序区域,通过接触软件错误、编程风格和方法来获得教育等


软件测试中最重要的因素是设计和生成有些的测试用例。
然而,无力软件测试进行得如何具有创造性、如何完全,也不能保证软件中不存在任何错误。测试用例的设计如此重要,原因在于完全的测试是不可能的,对任何程序的测试必定是不完全的。那么,最显然的测试策略就是努力使测试尽可能完全。

由于时间和成本的约束,软件测试的最关键问题是:所以可能的测试用例中,那个子集最有可能发现最多的错误?

我们建议综合最多的测试方法来设计严格的程序测试,因为每一张测试方法都有其独特的优点和弱点。举例来说,某种方法遗漏掉的错误,而用其他的方法就可能找出来。

没有人曾承诺说:软件测试会是容易的事。引用一位智者的话如果你觉得设计和编写程序很困难,你就并非一无所知。

我们推荐的步骤是先使用黑盒测试方法来设计测试用例,然后视情况需要白盒测试方法来设计补充的测试用例
白盒测试关注的是测试用例执行的程度或覆盖程序逻辑结构(源代码)的程度。完全的百货测试是将呈现中每条路径都执行到,然而对以个带有循环的程序来说,完全的路径测试并不切合实际。
如果完全从路径测试中条处理看,那么有价值的目标似乎就是将呈现中的媒体预计至少执行一次。遗憾的是,这恰是合理的白盒测试中较弱的准则

因为对程序的穷举输入测试是无法实现的,所以当测试某个程序时,我们就被限制在从所以可能输入中努力找出某个小的子集。理所当然,我们要找的子集必须是正确的,并且是可能发现最多错误的子集。

确定这个子集的一种方法,就是要意识的一个精心挑选的测试用例还应具备另外两个特性:

1、严格控制测试用例的增加,减少为达到“合理测试”的某些既定目标而必须设计的其他测试用例的数量。

2、它覆盖了大部分其他可能的测试用例。也就是说,它会告诉我们,使用或不使用这个特定的输入集合,哪些错误被发现,哪些会被遗漏掉。

 

1、  任何问题都不应该被解决两次。这是一条看起来容易做起来非常难的“信条”。解决问题之后,要学会总结、记录和分享。时间非常宝贵。懂得记录和分享,能够减少重复解决同类问题的时间,亦能帮助其他人快速获取有价值的信息。要懂得,你在帮助他人,他人也在帮助你。任何问题都不应该被解决两次,任何代码也得尽量避免重复,任何会议要争取当堂有结论,任何交流要力求及时有效。

 

 不抱怨,我们不得不面对一些“不自由”,不得不要去做一些“分配”下来的任务,不得不像被洗脑过的士兵一样“高效执行”,而这些任务是你非常不喜欢的,甚至枯燥无聊的,但是我们不能应该去抱怨,应该在枯燥的任务中寻求兴趣。

 

  在所有公司都有一个不成文的黄金定律:当你达到一定水平后,你做什么,已经不是你的上级能决定,也不是公司总裁能决定的。你只要做你认为对公司有利的事情。当然,你得说服团队同意你的观点,投入时间和资源去做。倘若发现道不同志不合,作为hacker,你可以自由选择公司选择职位,而不是公司选择你。

 

态度不代表能力,态度很重要,但能力才是决定你能否真正继续前进的关键。态度是万里长征第一步,态度很重要,但不要拿态度说事。要去做,去实践,努力去获取能力。

 

 

2、没有必要和直接生产部门的开发争夺所谓的“重要性”,没有任何意义。

摆正测试自身的位置才是王道。


TAG:

 

评分:0

我来说两句

simplezhuo

simplezhuo

得意之时谨记,一半命运还掌握在上帝手里;失意之时须知,一半命运还掌握在自己手里。

日历

« 2024-04-16  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 36657
  • 日志数: 124
  • 建立时间: 2011-02-13
  • 更新时间: 2017-03-08

RSS订阅

Open Toolbar