软件测试方法的分类是什么?
软件测试有以下几种方法。
1、按是否检查程序内部结构分为:
(1)黑盒测试(black-box testing):只关心输入和输出的结果。
(2)白盒测试(white-box testing):研究源代码和程序结构。
2、按是否操作程序分为:
(1)静态试验(static testing):它是指不实际操作被测软件而只静态检查程序代码、界面或文档可能出现的错误过程。
(5)动态测试(dynamic testing),是指实际操作被测程序,输入相应的测试数据,检查输出结果是否与预期结果一致的过程。
3、按阶段划分:
(1)单元测试(unit testing),是指检查和验证软件中最小的可测试单元。
(2)综合测试(integration testing),是单元测试的下一阶段,是指将通过测试的单元模块组装成系统或子系统,然后进行测试,重点测试不同模块的接口部门。
(3)系统测试(system testing),指的是将整个软件系统作为一个整体进行测试,包括测试软件运行的功能、性能和软硬件环境。
(4)验收试验(acceptance testing),是指在系统测试的后期,以用户测试为主,或由测试人员等质量保证人员共同参与的测试,也是软件正式交给用户的最后一道工序。
4、黑盒测试分为功能测试和性能测试:
(1)功能测试(function testing),一方面,它检查实际软件的功能是否符合用户的需要。
(2)性能测试(performance testing),软件性能测试分为:
一般性能测试:是指在正常的软硬件环境下运行被测系统而不施加任何压力的性能测试。
稳定性测试又称可靠性测试(reliability testing):是指连续运行被测系统检查系统运行时的稳定性。
负载测试(load testing):指使被测系统在其能承受的压力范围内连续运行,以测试系统的稳定性。
压力测试(stress testing):它是指测试系统能够承受的最大压力,直到被测系统被压垮。
5、其它测试类型:
回归测试(regression testing)是指在对软件进行新版本测试时,重复执行上一版本测试时的用例。
冒烟测试(smoke testing),是指在对新版本进行大规模测试之前,先验证软件的基本功能是否实现,是否具有可测性。
随机测试(random testing),这意味着测试中的所有输入数据都是随机生成的,其目的是模拟用户的实际操作,并发现一些边缘错误。