51Testing软件测试论坛
标题:
浅谈黑盒测试——5.启发式方法
[打印本页]
作者:
zhangting85
时间:
2010-5-18 15:18
标题:
浅谈黑盒测试——5.启发式方法
5.启发式方法
5.1启发式方法和测试的依据
用启发式方法(这个翻译不一定准确,原文是heuristics)得到的结果,并不能被当做是最终的或者严格的,而仅仅是临时的或者并不确定的,但是用这种方法的目的是为了解决现在的问题- Georg Polya
本文中说的启发式方法是一种不严谨的但是又可以帮助你简化并解决一个难题的方法。
这种方法得到的结果并不一定正确,应该说他只在特定的条件下正确。
在软件测试中,启发式的方法可以作为测试的依据:
1)与本产品内的类似功能是否符合
2)与同类产品的同种功能是否符合
3)与本产品历史版本是否符合
4)与测试人员对系统的想象是否符合
5)与非技术文档以及本产品的广告的描述是否符合
6)与一些必须实现的要求是否符合
7)与用户的预期是否符合
8)与产品或者功能的明显目标是否符合
5.2启发式方法和自动化测试的依据
我们经常会想要把一些或者所有测试变成自动化测试。自动化测试的程度取决于我们的能力,我们需要能够程序化地发现待测软件在什么情况下会通不过一个测试。我们自动化测试的能力从根本上受到我们对自动化测试的依据的构建和使用的能力所限制。
一种确定自动化测试的依据的基本方法是定义一组测试的预期结果。
A) 你比较你的待测程序的结果和你准备的作为自动化测试的依据的预期结果作比较,如果不符合,那么表示程序出错
B) 用Microsoft Word的输出作为预期结果来对比Open Office这个待测程序的测试方法就属于这种。
这种方法是进行自动化测试的最直接的方式。
但是,有一个问题,就是我们要把待测程序跟什么东西来比较?换句话说,我们怎么确定这个测试的预期结果。在结果很复杂的时候,我们就不可能简简单单地做一个表格手工列上预期的结果。(比如测试Open Office的font size功能)
再看自动化测试的依据:
输入---à待测程序---à输出实际结果
输入---à测试依据---à输出预期结果
如上图,自动化测试的依据可能会是一个程序。比如,用不同方法实现同种同能的代码(这种方法可靠度最高但是成本过高),用类似功能的软件(比如我们前面测试Open Office的font size功能时就用到了Word)
自动化测试的对比测试结果和预期结果,其实就是一种启发式的方法。(参本文开始部分关于启发式方法的定义)。之所以说这种对比不是严谨的,是因为,有可能会有:
A) 误报:比如对比写字板和Word时,发现的不一致,有可能并不能算是bug(原因参考本系列上一篇)。另外,可能会由于设计的变更导致一些误报,我们必须随时更新这些自动化测试脚本。
B) 漏报:比如对比写字板和Word,即使他们功能互相符合,也有可能遗漏一些共同的bug
自动化测试受到误报和漏报的影响,必然包含风险,是否要进行自动化测试,必须考虑这些风险。
浅谈黑盒测试——1.测试的基本问题
http://bbs.51testing.com/thread-203447-1-1.html
浅谈黑盒测试——2.测试的目标
http://bbs.51testing.com/thread-203453-1-1.html
浅谈黑盒测试——3.测试的策略
http://bbs.51testing.com/thread-204300-1-1.html
浅谈黑盒测试——4.测试的依据
http://bbs.51testing.com/thread-206539-1-1.html
浅谈黑盒测试——5.启发式方法
http://bbs.51testing.com/thread-209119-1-1.html
浅谈黑盒测试——6.测试的不可穷尽性-----a)代码覆盖率的局限性
http://bbs.51testing.com/thread-211605-1-1.html
本文内容翻译自Florida Institute of Technology的Cem Kaner和Satisfice Inc的James Bach组织的Black Box Software Testing课程
[
本帖最后由 zhangting85 于 2010-5-24 10:22 编辑
]
作者:
hueslife
时间:
2010-5-19 11:41
顶一下::xixill:::
作者:
chengning
时间:
2010-5-19 11:44
谢谢楼主分享
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2