有效测试软件的方法与技术[1]

发表于:2010-06-02来源:作者:点击数: 标签:软件技术
有效测试软件的方法与技术[1] 软件测试 1. 测试的常识与道理 1.1 你真的懂测试吗 ◆ 编程大师说:没有错误的程序世间难求。 (《编程之道》) ◆ 你在学校里学过测试吗?(读到博士可能也不懂测试) ◆ 你所在的企业重视测试吗? (小公司 程序员 的技能更加全面)

  有效测试软件的方法与技术[1]   软件测试

  1. 测试的常识与道理

  1.1 你真的懂测试吗

  ◆ 编程大师说:没有错误的程序世间难求。 (《编程之道》)

  ◆ 你在学校里学过测试吗?(读到博士可能也不懂测试)

  ◆ 你所在的企业重视测试吗? (小公司程序员的技能更加全面)

  ◆ 临时抱佛脚行吗?你以为有文档模板就会测试了吗?

  ◆ 如果不懂得有效地进行测试,你不仅得不到功劳,也没人欣赏你的苦劳,你拥有最多的将只是疲劳。

  ◆ 职业软件工程师应当掌握需求开发、系统设计、编程、测试、维护 所有技能。

  1.2 测试的目的是什么

  ◆ 测试的目的是为了发现尽可能多的缺陷,不是为了说明软件中没有缺陷。

  ◆ 推论:成功的测试在于发现了迄今尚未发现的缺陷。所以测试人员的职责是设计这样的测试用例,它能有效地揭示潜伏在软件里的缺陷。

  ◆ 千万不要将“测试”与“演示”混为一谈。例如科研鉴定会。

  ◆ 如果产品通过了严格的测试,大家不要不吭气,应当好好地宣传一把 。

  1.3 一些常识和经验之谈

  ◆ 测试能提高软件的质量,但是提高质量不能依赖测试。

  ◆ 测试只能证明缺陷存在,不能证明缺陷不存在。“彻底地测试”难以成为现实,要考虑时间、费用等限制,不允许无休止地测试。我们应当祈祷:软件的缺陷在产品被淘汰之前一直没有机会发作。

  ◆ 测试的主要困难是不知道如何进行有效地测试,也不知道什么时候可以放心 地结束测试。

  ◆ 每个开发人员应当测试自己的程序(份内之事),但是不能作为该程序已经通过测试的依据(所以项目需要独立测试人员)。

  ◆ 80-20原则:80%的缺陷聚集在20%的模块中,经常出错的模块改错后还会经常出错

  ◆ 测试应当循序渐进,不要企图一次性干完,注意“欲速则不达”。

  2. 测试的分类与比较

  ◆ 问题1:有了“黑盒”测试为什么还要“白盒”测试?

  – 黑盒测试只能观察软件的外部表现,即使软件的输入输出都是正确的,却并不能说明软件就是正确的。因为程序有可能用错误的运算方式得出正确的结果,例如“负负得正,错错得对”,只有白盒测试才能发现真正的原因。

  – 白盒测试能发现程序里的隐患,象内存泄漏、误差累计问题。在这方面,黑盒测试存在严重的不足。

原文转自:http://www.ltesting.net