书名:《软件测试的艺术》
作者:GlenfordJ.Myers、TomBadgett
翻译:张晓明,黄琳
出版:机械工业出版社
新型冠状病毒继续蔓延,举国上下齐心协力应对。作为一个普通人,能做的只能是听从指挥,安心在家不给国家添麻烦,空闲之余看了几本书,其中一本就是《软件测试的艺术》。
其实之前也看过很多测试类的书籍,但不知为何都没有这次感触深。可能是因为有了更多测试经验吧,扫除了一些误区,同时收获一些体会。
当然也是因了畅销了25年经典书籍的缘故吧。
1
软件测试能发现“所有”的错误?
答案是否定的。
一个简单的输入,都有数百甚至上千种输入/输出组合,所以要写出所有测试用例是不切实际的。一般说来,要发现程序中的所有错误,常常也是不可能的。
之前测试DAE产品,逐渐趋于稳定,后来维护时新增一些代码再出版本后重新测试,曾经两三次版本测试1-2周后发局点又发现新问题,曾经非常非常自责,虽然没有人回溯,但内心一直在检讨,为何没有发现,如何才能发现?
后面的测试就开始不局限于原有的测试用例和相关资料,而是经常和深圳与杭州的开发人员多多请教,于是也测试出了一直以来没有发现的问题,后来又拓展发现了规格方面的两个问题。
当然,即便这样也肯定没有发现“所有”的错误,但能不断的反思积累,不断精进就是测试人员需要做的。
还有后来测试温湿度传感器,我自认几乎测试了我能想到的所有可能性,而且拓展也比较多,甚至不太常用的场景我也尝试过。但隔了好一段时间后,开发人员测试时还是发现3-4个问题,我不死心,于是追着开发人员确认。
想知道到底当初自己为何没测试出来?为何她可以测试出来?后来发现,原来她测试的所有问题都是2个传感器的情况,而当时我测试时受设备限制,当时的环境只有1个传感器可用。
我才终于放过自己,虽然我当时测试时,传感器并没有出正式版本,也没有实际开局使用,但我还是希望能从每个测试中反思,因为经验的积累就是一点一滴养成的。
如今看了这本书,明白了这个误区,也略略释怀。
后续如果测试后还出现问题,不必过度自责,放宽心态,抱着不断学习和进步的心态去总结、去思考,相信也会越做越好的。
2
产品测试是测试人员的事?
答案是否定的。
终于明白为何总有人说:测试人员应该比开发人员更厉害。因为真正的测试是包括:代码检查、走查、评审;调试(归纳法、演绎法、回溯法);白盒测试、黑盒测试。
如果测试人员真的将上述工作都做到了,那的确不比开发人员厉害都说不过去了。但实际情况是,测试人员无法接触到代码,上述内容能做的仅仅是黑盒测试。
黑盒测试包括等价类划分、边界值分析、因果图分析、错误测试等。而有些错误是无法通过黑盒测试测得出来的,所以注定只