黑盒测试适应于对系统进行功能测试---以需求文档根据,不能使用与被测系统内部结构相关的知识或经验。
黑盒测试的优点有:
1)比较简单,不需要了解程序内部的代码及实现。
2)与软件的内部实现无关。
3)从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题。
4)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能。
5)在做软件自动化测试时较为方便。
黑盒测试的缺点有:
1)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%。
2)自动化测试的复用性较低。
白盒测试是指:了解被测系统的结构和查阅被测系统的代码内容的测试工作,知道程序内部设计结构及具体的代码实现,并以此为基础来设计测试用例。
白盒测试的优点:
1)知道所设计的测试用例在代码级上哪些地方被忽略掉。
2)帮助测试人员增大代码的覆盖率,提高测试质量,发现代码中隐藏的问题。
白盒测试的缺点有:
1)程序运行会有很多不同的路径,不可能测试所有的运行路径。
2)测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求。
3)系统庞大时,测试开销会非常大。
风险测试:1,该功能出问题对用户的影响有多大,出问题的概率有多大
2,影响因素还有复杂性、可用性、依赖性、可修改性
不能自动化测试的用例:
1.易用性测试用例。
2.整个测试中只需要运行1到2次的用例。
3.基于测试者的直觉感官判断以及需要一定的知识基础的用例。
4.没有预期结果的用例。
可以自动化的用例:
1.每轮测试都需要执行的基础测试,如每个测试版本提供后,对整个基础功能的健全性测试,在进行更深入测试前对系统做的稳定性测试等。
2.需要被重复执行很多次的用例,以及多客户端多用户大量并发的情况。
3.数据驱动的用例,如需要输入很多组数据,每组数据对应不同的预期结果。