软件测试的分类

15 阅读
0 点赞
0 推荐
来源:其他

1. 按阶段划分


1.1 单元测试


(1) 定义:指对软件中的最小可测试单元进行检查和验证

(2) 内容:入口和出口函数、输入和输出信息、错误处理信息、部分边界值测试 


1.2 集成测试(组装测试、联合测试)


(1) 定义:在单元测试的基础上,将所有模块按照设计要求组装成为子系统或系统,进行集成测试

(2) 目的:验证各个子模块组合起来,能否达到预期要求的功能;验证一个模块的功能是否会对另一个模块的功能产生不利的影响


1.3 系统测试


(1) 定义:将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,是针对整个产品系统进行的测试

(2) 目的:验证系统是否满足了需求说明的定义,找出与需求说明不符或与之矛盾的地方,从而提出更加完善的方案


1.4 验收测试


(1) 定义:确定产品是否能够满足合同或用户所规定的需求的测试

(2) 目的:主要确认软件是否按合同要求进行工作,既是否满足软件需求说明书中的要求

(3) 分类:

alpha测试:软件开发公司组织内部人员模拟各类用户行为对即将上线的产品进行测试

beta测试:软件开发公司组织各方面的典型客户在日常工作中实际使用,并要求用户报告异常情况,提出改进意见,然后进行完善

正式验收测试:按照正规的测试过程,制定测试计划、选择测试用例进行测试,提交结果,着重考虑软件是否满足合同规定的所有功能和性能,文档资料是否完整准确


2. 按是否运行程序划分


2.1 静态测试


不运行被测试软件,而只是静态的检查代码、界面或者文档


2.2 动态测试


实际运行被测试的软件,输入相应的测试数据,检查实际输出结果是否和预期结果相一致的过程


3. 按是否查看代码划分


3.1 黑盒测试


把软件看成一个黑盒子,不管内部逻辑和内部特性,只依据规格说明书检查程序的功能是否符合功能说明


3.2 白盒测试(结构测试)


着重于程序内部结构和算法,不关心功能和性能指标


4. 其他划分


4.1 冒烟测试


冒烟测试的对象是每一个新编译需要正式测试的版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作。也就是指在对一个新版本进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性


4.2 回归测试


修改了代码后,重复执行上一个软件版本中使用的测试用例,以确认修改没有引入新的错误或导致其他代码产生错误


4.3 随机测试(猴子测试)


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


4.4 敏捷测试


高度迭代,有周期性,并且能够及时、持续的响应频繁的反馈


4.5 安全测试


安全测试是在IT软件产品的生命周期中,特别是产品开发基本完成到发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程

安全测试也在越来越受到企业的关注和重视,因为由于安全性问题造成的后果是不可估量的。尤其对于互联网产品最容易遭受各种安全攻击


4.6 UI界面测试


用户界面测试是指测试用户界面的风格是否满足客户要求,文字是否正确,页面是否美观,文字,图片组合是否完美,操作是否友好等等。UI 测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。确保用户界面符合公司或行业的标准。包括用户友好性、人性化、易操作性测试

用户界面测试用户分析软件用户界面的设计是否乎合用户期望或要求。它常常包括菜单,对话框及对话框上所有按钮,文字,出错提示,帮助信息 (Menu 和Help content)等方面的测试。比如,测试Microsoft Excel中插入符号功能所用的对话框的大小,所有按钮是否对齐,字符串字体大小,出错信息内容和字体大小,工具栏位置/图标等等


4.7 性能测试


性能测试通过测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试

A、压力测试:对系统不断施加压力的测试,是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试;是为了发现在什么条件下,应用程序的性能会变得不可接受

B、负载测试:通过测试系统在资源超负荷情况下的表现,以发现设计上的错误或验证系统的负载能力;是确定并确保系统在超出最大预期工作量的情况下仍能正常运行


4.8 功能测试


功能测试检查实际的功能是否符合用户的需求。测试的大部分工作也是围绕软件的功能进行,设计软件的目的也就是满足客户对其功能的需求。如果偏离的这个目的任何测试工作都是没有意义的

功能测试可分为:业务逻辑测试、界面测试、易用性测试、安装测试、兼容性测试等


4.9 自动化测试


自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程

自动化测试可分为:功能自动化测试与性能自动化测试

一般所说的自动化测试就是指功能自动化测试,通过相关的测试技术,通过编码的方式用一段程序来测试一个软件的功能,这样就可以重复执行程序来进行重复的测试。如果一个软件一小部分发生改变,我们只要修改一部分代码,就可以重复的对整个软件进行功能测试。这样就大大的提高了测试效率

性能自动化测试,现在的性能测试工作都是通过性能测试工具辅助完成的。通过工具可以模拟成千上万的用户向系统发送请求,用来验证系统的处理能力


4.10 安装测试


安装测试是确保软件在正常情况和异常情况下,例如,进行首次安装、升级、完整的或自定义的安装都能进行安装的测试。异常情况包括磁盘空间不足、缺少目录创建权限等场景。核实软件在安装后可立即正常运行。安装测试包括测试安装代码以及安装手册。安装手册提供如何进行安装,安装代码提供安装一些程序能够运行的基础数据


4.11 卸载测试


卸载测试是对软件的全部、部分或升级卸载处理过程的测试。主要是测试软件能否卸载,卸载是否干净,对系统有无更改,在系统中的残留与后来的生成文件如何处理等。还有原来更改的系统值是否修改回去


4.12 兼容性测试


兼容性测试是用来确保软件系统能够在不同的基础设施组件上正常运行的软件测试方式,包括硬件、软件和网络等方面的兼容性测试

APP:不同机型,机型的不同版本系统等等

web:不同浏览器、不同分辨率等等


发布于:2024年12月20日 17:38:16 著作权归作者所有