《软件测试的艺术》读书笔记(一)

软件测试心理学

    明确软件测试的定义具有重要的心理学影响。软件测试是“为发现错误而执行程序的过程”。明确测试的目的使得设计的测试数据可以更多的发现程序的问题,而不是减少程序的实效。

    区分“成功的”和“不成功的”的测试。“成功的”测试的指发现了可修复的错误或者最终确定再无其他可查出的错误。“不成功的”测试,仅指未能适当地对程序进行检查,在大多数情况下,未能找出错误的测试被认为是“不成功的”,这是因为认为软件中不包含错误的观点基本上是不切实际的。

    总之,软件测试是试图发现程序中错误(假设其存在)的破坏性的过程。一个成功的测试用例,通过诱发程序发生错误,促进软件质量的改进。

 

软件测试的经济学

    通过软件测试发现“所有”的错误是不切实际的。测试的目标在于通过有限的测试用例,最大限度地提高发现的问题的数量,以取得最好的测试效果。

 

黑盒测试和白盒测试

    “黑盒测试”将程序视为一个黑盒子。在不考虑程序的内部结构下,检查程序不按其规范正确运行的环境条件。

    “黑盒测试”的方法有:等价类划分、边界值分析、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法。黑盒测试针对的错误类型有:功能不正确或遗漏,数据库访问错误,界面错误,性能错误,初始化和终止错误等。

    “白盒测试”允许检查程序的内部结构,设计测试用例检查程序的逻辑结构。主要分为“静态白盒测试”和“动态白盒测试”。

    “静态白盒测试”即代码审查,正式审查和检验设计。

    “动态白盒测试”利用查看代码功能和实现方式得到的信息来设计和执行测试。测试方法有:逻辑覆盖,基本路径测试。测试的错误类型有:内部数据结构的有效性,循环的边界,程序的逻辑判定等。

 

穷举路径测试

    穷举路径测试是指使用测试用例执行了程序中所有可能的控制流路径。该方法存在两个问题:

    首先,程序中不同逻辑路径的数最 可能达到天文数字。

    其次,即使测试了程序中的所有路径,程序可能仍然存在着错误,原因是:

    1.不能保证程序符合其设计规范;

    2.缺少某些路径;

    3.不会暴露数据敏感错误。

 

软件测试的原则

    重要的测试指导原则编号原则归纳如下:

    1 测试用例中一个必需部分是对预期输出或结果进行定义。

    2 程序员应避免测试自己编写的程序。

    3 编写软件的组织不应当测试自已编写的软件。

    4 应当彻底检查每个测试的执行结果。

    5 测试用例的编写不仅应当根据有效和预料到的输入情况,也应当根据无效和未预料到的输入情况。

    6 检查程序是否“未做其应该做的”仅是测试的一半,测试的另一半是检查程是否“做了其不应该做的”。

    7 应避免测试用例用后即弃,除非软件本身就是个一次性的软件。

    8 计划测试工作时不应默许假定不会发现错误。

    9 程序某部分存在更多错误的可能性,与该部分已发现错误的数量成正比。

   10 软件测试是一项极富创造性,极具智力的挑战性的工作。

 

发布了536 篇原创文章 · 获赞 156 · 访问量 31万+

猜你喜欢

转载自blog.csdn.net/liyazhen2011/article/details/104155730
今日推荐