用最简单的方法,做最复杂的测试。

软件测试

上一篇 / 下一篇  2010-08-25 15:38:59 / 个人分类:基础知识

Test(测试):执行软件以验证其满足指定的需求并检测错误的过程。软件工程过程中的一个重要环节,它将软件在预定条件下运行以判断软件是否符合预期结果。随着软件变得日益复杂,规模日益增大,软件测试也变得越来越重要。

测试心理:测试主要由人而不是机器执行,这就免不了与心理因素有关。为了测试的真实性和准确性,对测试的心理要求是"无情"。开发人员无法很好的测试自己的程序是因为做不到"无情"。而测试人员如果做到了"无情"却会引起开发人员的愤怒,遭人白眼。所以,有效而适当的沟通技巧对于测试人员来说是非常关键的。

测试的真理:测试只能证明缺陷的存在,而不能证明缺陷的不存在。这个真理告诉我们,对于一个复杂的软件系统而言,无论采取什么样的测试方法都不能证明缺陷已经不存在。"彻底的测试"只是一种理想。在实践中,测试要考虑费用,时间等限制,不允许无休止的测试。

测试与质量:测试有助于提高软件的质量,但是提高软件的质量不能依赖测试。测试与质量的关系就好比学生在考试中"检查"和"成绩"的关系。好学生,通常在考试时认真检查能减少因疏忽而造成的错误,从而"提高"了考试成绩。而差学生,原本就不会答题,无论检查多么细心,也不能提高成绩。所以说,软件的高质量是设计出来的,而不是靠测试修补出来的。

  • 测试最重要的一件事就是要考虑到所有的出错可能性。同时,还要做一些不按常规做的,非常奇怪的事。像黑客(Hacker)那样找到软件的漏洞,并修复这些漏洞来保证软件的质量。
  • 除了漏洞之外,测试还应该考虑性能(Performance)问题,也就是一定要保证软件运行的很好,非常快,没有内存泄漏,不会出现那种越来越慢的情况。
  • 另外,测试还要考虑软件的兼容性(Compatibility)。

根据微软的经验,每修复三到四个Bug一般就会产生一个新的Bug。
这个过程就类似于数学中的"极限"定义,尽管我们知道某个极限值为0,但是它永远也不可能达到0。这也就是产品的Bug永远也修复不完的原因。因此,我们在修复Bug时要注意,一定要记住用户最需要的是什么,然后优先尽力修复那些影响用户使用的Bug;而对于大部分对用户影响很少,甚至根本不影响的Bug,则可以推迟修复,甚至不修复。


TAG: Testing testing

 

评分:0

我来说两句

日历

« 2024-03-28  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 17979
  • 日志数: 46
  • 建立时间: 2010-08-18
  • 更新时间: 2010-10-11

RSS订阅

Open Toolbar