软件测试的分类

2021/6/1 18:51:14

本文主要是介绍软件测试的分类,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

分类:

1、按阶段划分
2、按是否运行程序划分
3、按是否查看代码划分
4、其他划分

按阶段划分

1、单元测试
2、集成测试
3、系统测试
4、验收测试

单元测试:
又称为模块测试,是针对代码中函数或者方法的测试。
在实际工作中,单元测试工作基本上都是开发人员在做。
实际意义:一开始并不把程序作为一个整体来测,而首先集中测试最小的单元,这样能够尽早的发现问题,解决问题。

集成测试:
集成测试又称为接口测试,是针对程序接口的一种测试。
接口:模块与模块之间的耦合。
实际意义:单元测试完之后,方法已经没有问题了,局部不出问题了,程序员之间的各个功能整合起来,集中测试,要保证整合后的代码与代码实现的功能完全对接,没有问题。因此集成测试就显得非常有必要了。

我们怎么做集成测试呢?
1、把所有的模块组合成一个整体后进行测试,称一次性集成。
问题:容易出现混乱,因为测试时可能发现一大推问题,但每个故障的定位和纠正问题很难。
2、把一个待测模块组合到已经测过的模块上去再进行测试,这种方式称之为增量式集成
自顶向下:桩程序
自底向上:驱动程序

系统测试:
什么是系统测试:
1、将已经确认的软件,计算机硬件、外设、网络等其他元素集合在一起,进行信息系统的各种组装测试和确认测试。
2、系统测试是针对整个产品系统进行的测试,目的是检索系统是否满足了需求规格的定义,找出与需求规格不符合或与之矛盾的地方,从而提出更加完善的方案。
3、对象不仅仅包括需测试的软件,还包括软件所依赖的硬件,外设甚至包括某些数据,某些支持软件及其接口。
系统测试的范围:
功能、界面(UI)、兼容性、配置、安装、卸载、数据库等。

验收测试:
验收测试:是指客户确认系统是否符合设计规格或契约之需求内容的测试。
验收形式:
1、Alpha(α):在开发公司内,由开发和测试联合进行,环境是模拟环境。
2、beta (β):在开发公司外,由经过专门挑选的真正用户群进行,环境是真实的。

在测试工程种,用户要记录遇到的所有问题,并且定期向开发人员通报情况。

实际过程种:
1、初验(α和β都属于初验)
2、终验

按是否允许程序分:

静态测试:
不运行被测试的程序,而只是检查代码,界面或文档。

方法名称执行人员检查内容检查过程
界面开发人员对源程序代码进行分析、检验,并补充相关的文档,发现程序中的错误
审查开发人员组成的审查小组通过阅读,讨论和争议,以程序进行静态分析的过程。第一步:小组成员提前阅读设计规格书,程序文本等相关文档。
第二步:召开程序审查会,开发人员读程序,审查小组讨论、发现、解决问题。
走查开发人员组成的审查小组通过逻辑运行程序发现问题第一步:小组成员提前阅读设计规格书,,程序文本等相关文档。
第二步:利用测试用例,使程序逻辑运行,记录程序的踪迹,发现、讨论、解决问题。
动态测试: 运行被测试的程序,输入相应的测试数据,检查世界的输出结果是否和预期结果相一致的过程。

检查是否查看代码:

1、黑盒测试
把软件看成一个黑盒子,不管内部逻辑和内部特性,只依据规格说明书检查程序的功能是否符合功能说明。
2、白盒测试
又称之为结构测试,着重于程序内部结构和算法,不关心功能和性能指标。
3、灰盒测试
介于白盒和黑盒之间,基于程序运行时刻外部表现同时又结合程序内部逻辑结构来设计用例,执行程序并采集程序路径执行信息和外部用户接口接口的测试技术。

灰盒测试有啥缺点?
1、不适合用于简单的系统
2、对测试人员的要求比黑盒测试高
3、不如白盒测试深入

其他划分:

回归测试:
对软件的新版本测试时,重复执行上一次版本测试时使用的测试用例(有效用例)。防止出现”以前没有问题的地方现在出问题了。“

冒烟测试:
冒烟测试的对象是每一个新编译需要正式测试的版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作。

随机测试:
测试数据是随机产生的,在测试用例之外,只能作为一个测试的补充。

敏捷测试:(敏捷开发引发)
首先敏捷测试是测试的一种,原有测试定义中通过执行被测系统发现问题,通过测试这种活动能够提供对被测试提供度量等概念还是使用的。

TDD(测试驱动开发)



这篇关于软件测试的分类的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程