LAYO最近下载了几篇PPT;又看见了这样一段描述。
G.J.Myers给出了关于测试的一些规则,被软件工程领域认可:
(1)测试是为了发现程序中的错误而执行程序的过程;
(2)好的测试方案极有可能发现迄今为止尚未发现的错误;
(3)成功的测试是发现了至今为止尚未发现的错误。
上面这段话是测试行业经常能看到的一段关于测试的工程的一种解释;可能有些太理性或者说是书面化的解释,作为一个TESTER我很表示同意;但是一直没有认真理解这段话。
测试是为了发现程序中的错误没错;但是我认为有些狭义的想法;综合整体的软件质量去评估去看;不单单在过程中去发现程序中的错误;而包括在设计之初的错 误逻辑和不合理的流程以及操作方式都是测试的过程中要关注的因子;所以就不仅仅是为了发现程序的错误;一个认真思考的TESTER是不拘在程序之内的范 畴。所以我认为测试是为了发现整个项目中任何不合理的错误;包括文档的错误、业务流程中的漏洞、程序中的BUG、不正规的操作方式、不合理的数据流程。当 然这算是一种理想测试过程。
好的测试方案极有可能返现迄今为止尚未发现的错误;我总是认为这句话带有钻牛角尖的意味;好的的是方案其实 是一种无穷尽的操作;记得有一个夸张的小道理:一百万只猴子,给他们每人一个键盘,给他们足够的时间,让他们打出莎士比亚全集。就是在接近无穷的测试下会 让程序的问题完全暴漏无疑;一个好的测试方案应该是合适项目的测试方案;到什么山唱什么歌;看菜吃饭、量体裁衣;根据项目去指定测试方案,这种方案下去测 试该项目才能真正说明项目问题。
成功的测试是发现了至今为止尚未发现的错误;我认为将测试工作进行了一次反革命性的引导;行业需要创新思维;需要吹毛求疵;只能说在现有的需求下去发现不应该出现的问题。测试用例是在有限的资源下设计出涵盖面最广而最有效的用例;不是说为了测试而测试。
测试的根源在需求;一切测试脱离需求都是不现实的测试;一切测试不能满足需求就是不成功的测试。
本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/