|
黑盒测试的黑盒核心,就是测试把软件当成一个不透明的黑箱子。你不关心里面代码怎么写的体方,逻辑怎么绕的黑盒,只关心你输入了什么,测试它吐出来什么。体方这活儿看着简单,黑盒真要做好,测试全靠一套拳法。体方 最基础的黑盒一招,叫等价类划分。测试举个例子,体方你要测一个输入年龄的黑盒窗口,要求填1到100之间的测试整数。你要是体方挨个儿从1填到100,那叫傻测,测到下班也测不完。等价类的思路是,把输入域切成几块:合法的1到100是一块,小于1的是一块,大于100的是一块,非数字的又是一块。每一块里随便抽一个代表出来测,比如测个50,测个0,测个101,再测个“abc”。只要这几个代表能过关,这一整块的数据基本就稳了。这法子省时省力,但有个致命伤——它假设同一类里的数据表现一样,可有些bug偏偏就藏在边界上。 于是就有了边界值分析。这是我最喜欢的一招,因为大量bug都死在边界上。还是那个年龄窗口,1和100是边界,0和101是紧挨着边界的非法值。你得测1、100、0、101,甚至还得测2和99,看看边界两侧的过渡是否正常。很多程序员写判断条件时,用的是“<”还是“<=”,差之毫厘谬以千里。我见过一个电商网站的优惠券系统,满100减20,结果用户刚好凑到100.00元整时,系统死活不认,就是因为在边界判断上写错了一个等号。这种问题,你不踩到边界,永远发现不了。 光靠边界还不够,有些功能像迷宫,得靠路径走。这时候用因果图法。你得先理清输入条件之间的组合关系,比如登录功能:用户名正确、密码正确、验证码正确,三者都满足才让进。但验证码错误时,用户名密码再对也没用。因果图就是把这种“因”和“果”用逻辑门连起来,画出布尔关系图,然后根据图来设计测试用例。这招对付那种条件多、组合爆炸的功能特别管用。不过画图挺费脑子的,有时候逻辑绕得你怀疑人生。 还有一招更野的,叫错误推测法。这完全靠经验积累和直觉。老测试员看到输入框,本能地就往里敲特殊字符,比如单引号、百分号、 |