|
楼主是13期的吧?
我的疑问和edwin_chen一样, 请问一下你是如何定义黑盒,白盒设计出来的用例效率高低的?根据在哪里?
观点上,我与empire,xiaoan的意见相同,先黑盒再白盒. 根据: <软件测试技术概论>P21页2.3节’白盒测试与黑盒测试的比较’. 我就劳累点,将一些重点打上来以供大家再深入讨论一下.
白盒优点比如说,可以检测测试对象代码中各条路径,分支; 发现代码本身的错误;等. 白盒缺点就是成本高,不对代码是否实现了规格要求做验证,等.
黑盒优点,估计大家都可以数N多出来,比如说测试起来不用了解代码是咋写的,内部结构是咋整的, 站在用户角度来测试,可以找出与规格不同之处,用例可以执行得早等等. 这缺点也就多了些, 比如说,输入的测试就不可能完全实现,如果完全实现,还不累死? 所以才出现了等价类划分等方法嘛; 假若规格不清楚,用例就难整出来;还有就是前面的同学也提到过N多路径不会被测到,等等.
因此,我个人认为, 在单元测试阶段, 你用例的设计应该是以黑盒为先, 先验证了单元是与规格(LLD,如果没有,找设计人员喝茶去;-))要求相符了, 以及有没有做些规格上没有写的东西, 如果连规格要求都不符,还搞下面的测试干嘛?这不是浪费成本吗?通过黑盒后,再用白盒测试设计方法来对代码本身进行测试.(请参考<软件测试技术概论>P101页)
综上所述, 在单元测试(当然也包括其它阶段的测试)中设计用例,应该以满不满足规格要求为先(黑盒),然后再搞白盒为好.
Stringw的说法有问题, 如果白盒先行, 等你费了老大的劲, 把单元内的逻辑问题,代码问题都搞定了, 回过头来才发现,你测的单元连规格要求都没实现, 内部逻辑再没问题, 当规格一改正确了,你还不一样要返工重新测试? 基于这一点, 你觉得是不是应该是用黑盒对规格测试先为好? ;-) 还有, 在各个阶段的测试,都可以应用各种测试方法的, 比如说我们现在说的在单元测试中的设计用例方法,就是结合了黑白盒的优点来对单元进行测试, 而不是书上说单元测试是白盒测试,所以就应该只用白盒的方法去测试,而不考虑其它的方法.
讨论让我们学习更进一步! 欢迎拍砖!! |
|