ccidnet????

出版日期:2002-05-13 总期号:1116 本年期号:33

本期导读
要闻综合
中国信息化
网络与通信
软件与服务
产品与应用
渠道与市场
电子政务专刊
华东专刊
华南专刊
西北专刊
东北专刊
确定测试策略及方法
软件测试系列谈(二十三)


  软件测试通常是指实际运行被测程序,输入相应的测试用例,判定执行结果是否符合要求,从而检验程序的正确性、可靠性和有效性。软件测试可采取的方法和技术是多种多样的,但通常情况下不论采用什么方法和技术,其测试都是不彻底的,也是不完全的,因为任何一次完全测试或者穷举测试(即让被测程序在一切可能的操作情况下,包括正确的操作,也包括错误的操作情况下,全部执行一遍)的工作量太大,在实践上行不通。因此,任何实际测试,都不能够保证被测试程序中不存在遗漏的错误。

  为了最大程度地减少这种遗漏的错误,同时也为了最大限度地发现已经存在的错误,在测试实施之前,软件测试工程师必须确定将要采用的测试策略和测试方法,并以此为依据制定详细的测试案例。而一个好的测试策略和测试方法,必将给软件测试带来事半功倍的效果,它可以充分利用有限的人力和物力资源,高效率、高质量地完成测试。

  那么,究竟如何才能确定一个好的测试策略和测试方法呢,一般来说,在确定测试方法时,应该遵循以下原则:第一,要根据程序的重要性和一旦发生故障将造成的损失,来确定它的测试等级和测试重点;第二,要认真研究测试策略,以便能使用尽可能少的测试用例,发现尽可能多的程序错误,因为一次完整的软件测试过后,如果程序中遗漏的错误过多并且很严重,则表明本次测试是失败的,是不足的;而测试不足意味着让用户承担隐藏错误带来的危险。同时反过来说,如果过度测试,则又会浪费许多宝贵的资源。我们需要在这两点上进行权衡,找到一个最佳平衡点。

  以下是著名软件测试专家Myers提出的使用各种测试方法的综合策略,相信会对大家有所帮助:

  在任何情况下都必须使用边界值分析方法。经验表明,用这种方法设计出测试用例发现程序错误的能力最强。

  必要时用等价类划分方法补充一些测试用例。

  用错误推测法再追加一些测试用例。

  对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。如果没有达到要求的覆盖标准,应当再补充足够的测试用例。

  如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法。