读书笔记之软件测试的艺术——第二章软件测试的心理学和经济学

软件测试的心理学和经济学
一、软件测试的心理学
1.软件测试的真谛

- 测试是为了发现错误而执行程序的过程。

这句话就是说在进行测试的时候不要抱着这个程序本来就没有错误,而是要怀着一颗去发现错误的心,这样我们的目标就在于证明程序中存在错误,我们设计的测试数据就有可能更多的发现问题。相反我们如果去证明程序中没有错误的话,那就会在潜意识里面更倾向于实现这个目标。
2.“成功的测试用例”——若设计的测试用例发现了程序中存在的错误,就证明它是值得被设计的,就是一次成功的测试
“不成功的测试用例”——看到程序输出正确的结果,而没有找到错误。
3.软件测试更适宜被定义为试图发现程序中错误的破坏性过程。一个成功的测试用例通过程序产生错误,可以在这个方向上促进软件质量的改进。当然,最终我们还是要通过软件测试来建立某种程度上的信心:软件做了其该做的,未做其不该做的。但是对错误的不断研究是实现这个目标的最佳途径。
二、软件测试的经济学
为了应对测试经济学的挑战,应该在开始测试之前简历某些策略。黑盒测试和白盒测试是最常见的两种策略。
1.黑盒测试
黑盒测试又称为数据驱动的测试或输入/输出驱动的测试。使用这种方法测试时将程序视为一个黑盒子。测试目标与程序的内部机制和结构完全无关,而是将重点集中在发现程序不按其规范正确运行的环境条件。在黑盒测试中测试数据完全来源于软件规范,也就是说不用去理会程序的内部结构。
判定的标准——穷举输入测试:将所有有可能的有效输入进行测试。
穷举输入测试在测试较大的程序是可能会面临着较大的难度。例如:要对一个编译器进行测试的时候,不仅要创建代表所有有效的测用例,还要创建代表所有无效的测试用例,以确保编译器能够检查出它们是无效的。
这说明穷举输入测试是无法实现的,原因有以下两点:
1.我们无法测试一个程序以确保它是无错的
2.软件测试中需要考虑的一个基本问题是软件测试的经济学。也就是说,测试投入的目标在于通过有限的测试用例,最大限度的提高发现问题的数量,以取得较好的测试结果。
2.白盒测试
白盒测试又称为逻辑驱动的测试,允许我们检查程序的内部结构。这种测试策略对程序的逻辑结果进行检查,从中获取测试数据。
穷举路径测试——如果使用测试用例执行了程序中所有可能的控制流李静,那么程序可能就得到了完全测试。
但是当程序中不同的逻辑路径数量有可能达到一个较大的数字,这是测试所需要的时间也就越长。并且就算测试到了所有程序中的路径,但是从程序可能仍然存在着错误。造成这个结果的原因有以下几点:
1.即使是穷举路径测试也绝不能保证程序符合其设计规范。
2.程序可能会因为缺少某些路径而存在问题
3.穷举测试可能不会暴露数据敏感错误
说了半天,以上所说的两种方法都不可能未完成测试,但是或许将两种方法结合起来就可行了呢!
三、软件测试的原则
原则一:测试用例中一个必须部分是对预期输出或结果的定义
原则二:程序员应当避免测试自己编写的程序的错误(程序员对自己的程序当宝贝看,才不会认为自己写的程序有bug呢!^^)
原则三:编写软件的组织不应当测试自己编写的软件
原则四:应当彻底检查每个测试的执行结果
原则五:测试用例的编写不仅应当根据有效和预期的输入情况,而且也应当根据而无效和未预料到的输入情况。
原则六:检查程序是否“未做其该做的”仅是测试的一般,测试的另一半是检查程序是否“做了其不该做的”
原则七:应避免测试用例用后即弃,除非软件本身就是一个一次性的软件。
原则八:计划测试工作时不应默许假定不会发现错误
原则九:程序某部分存在更多错误的可能性,与该部分已发现的错误的数量成正比。
原则十:软件测试是一项极富创造性、极具智力挑战性的工作。(这里的话我对即将成为一名测试人员而感到开心和骄傲^
^)

#测试##读书笔记##笔记#
全部评论

相关推荐

投递美团等公司10个岗位
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务