常用的软件测试方法

1. 黑盒测试

  黑盒测试顾名思义就是将被测系统看成一个黑盒,从外界取得输入,然后再输出。整个测试基于需求文档,看是否能满足需求文档中的所有要求。黑盒测试要求测试者在测试时不能使用与被测系统内部结构相关的知识或经验,它适用于对系统的功能进行测试。

  黑盒测试的优点有:

  1)比较简单,不需要了解程序内部的代码及实现;

  2)与软件的内部实现无关;

  3)从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;

  4)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;

  5)在做软件自动化测试时较为方便。

  黑盒测试的缺点有:

  1)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;

  2)自动化测试的复用性较低。
2. 白盒测试

  白盒测试是指在测试时能够了解被测对象的结构,可以查阅被测代码内容的测试工作。它需要知道程序内部的设计结构及具体的代码实现,并以此为基础来设计测试用例。
白盒测试的直接好处就是知道所设计的测试用例在代码级上哪些地方被忽略掉,它的优点是帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。

  白盒测试的缺点有:

  1)程序运行会有很多不同的路径,不可能测试所有的运行路径;

  2)测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求;

  3)系统庞大时,测试开销会非常大。

  3. 基于风险的测试

  基于风险的测试是指评估测试的优先级,先做高优先级的测试,如果时间或精力不够,低优先级的测试可以暂时先不做。有如下一个图,横轴代表影响,竖轴代表概率,根据一个软件的特点来确定:如果一个功能出了问题,它对整个产品的影响有多大,这个功能出问题的概率有多大?如果出问题的概率很大,出了问题对整个产品的影响也很大,那么在测试时就一定要覆盖到。对于一个用户很少用到的功能,出问题的概率很小,就算出了问题的影响也不是很大,那么如果时间比较紧的话,就可以考虑不测试。
基于风险测试的两个决定因素就是:该功能出问题对用户的影响有多大,出问题的概率有多大。其它一些影响因素还有复杂性、可用性、依赖性、可修改性等。测试人员主要根据事情的轻重缓急来决定测试工作的重点。
posted @ 2010-06-21 23:03  潜龙9527  阅读(156)  评论(0编辑  收藏  举报