软件测试技术(三)系统测试
一、功能测试
- 单元功能测试:保证每个独立的模块功能正确,从输入条件和输出结果来判断是否满足程序设计要求(黑盒)。
- 系统功能测试:考虑模块的相互作用,考虑系统的应用环境。
二、回归测试
一旦程序某些区域被修改了,就可能影响其他区域,导致受影响的区域出现新的缺陷——回归缺陷。
回归测试是为了发现回归缺陷而进行的测试。
定义
对软件的新版本测试时,重复执行上一个版本测试时的用例。
测试时机
- 发现缺陷,对软件做出修改——所作的修改达到了预定的目的。
- 加入新功能或增强原有功能——不影响软件原有功能的正确性。
可以在任何测试阶段进行,既有黑盒测试的回归,也有白盒测试的回归。
三、性能测试
用来保证产品发布后系统的性能能够满足用户需求。
定义
性能测试就是为了发现系统性能问题或获取系统性能相关指标而进行的测试。
目标
- 获取系统性能某些指标数据
- 验证系统是否达到用户提出的性能指标
- 发现系统中存在的性能瓶颈,优化系统性能。
性能指标由用户提出,如果用户没有提出性能指标,则根据用户需求、测试设计人员的经验来设计各项测试指标。
性能测试类型
- 性能验证测试
- 容量测试
- 性能基准测试
- 性能规划测试
压力负载测试
在一定约束条件下测试系统所能承受的并发用户量、运行时间、数据量,以确定系统能承受的最大负载压力。是性能测试的重要组成部分。
包括并发性能测试、疲劳强度测试、大数据量测试。
1.并发性能测试(重点)
逐步增加并发用户数的负载,直到系统出现性能瓶颈或者崩溃。
2. 疲劳强度测试
采用系统稳定运行情况下能够支持的最大负载(最大并发用户数),持续长时间运行,通过综合分析交易执行指标和资源监控指标,确定系统处理最大工作量强度性能的问题。
3. 大数据量测试
针对特定系统的储存、传输、统计、查询等业务进行大数据量测试。
压力测试&负载测试
- 压力测试:通过逐步增加系统负载,测试系统性能的变化,最终确定在什么负载条件下系统性能处于失效状态,一次来获得系统能提供的最大服务级别。
- 负载测试:通过逐步增加系统负载,测试系统性能的变化,最终确定在满足性能指标的情况下,系统能承受的最大负载量。
二者过程相同,但目的不同。
四、其他非功能测试
1. 安全性测试
检验系统权限设置的有效性、防范非法入侵的能力、数据备份和恢复能力。
系统安全设计的准则:使非法入侵的代价超过被保护信息的价值。
功能性测试&安全性测试
- 功能性测试:软件做它应该做的事。验证输出是否正确。
- 安全性测试:软件不做它不应该做的事。验证系统对危险防止和危险处理是否有效。
2. 可靠性
可靠性:是产品在规定的条件下和规定的时间内完成规定功能的能力。
3. 容错性测试
是检查软件在异常条件下自身是否具有防护性措施或灾难性恢复的手段。
4. 兼容性测试
验证软件之间是否正确地交互和共享信息。
软件测试技术(三)系统测试
https://buttering.github.io/EasyBlog/2020/12/17/软件测试技术(三)系统测试/