大部分人对于软件测试是这样的理解:
同时让很多人访问系统,看看系统会不会崩???
其实这只是测试中的一方面而已,性能测试≠ 压力测试
,这里我根据小强老师的测试书做的一些学习笔记,大家一块学习下。
一、性能测试的目的:
(1)压测系统看系统的前端祸端能否满足预期。
(2)压测系统看系统可以承受的最佳压力
和最大压力
判断系统的承受极限。
(3)压测系统在长时间运行下能否可以维持正常运作。类似疲劳测试
(4)容量测试,在系统稳定的发展下,考虑系统的未来规划,主要是容量规划。
二、性能测试的分层:
1.前端:对于用户而言,看中的是前端的相应是否快,根本不会在乎你们后端的处理速度,所以技术后端很牛,但是前端页面性能很差,也是无用功。
1.1APP测试
关于APP的前端也是业务界里常说的APP专项测试;APP的后端,本质上与Web侧能性测试一样。APP的测试其实也是很复杂的。
APP中的测试点具体如下:
2.网络层: 网络是连接前后端的命脉
网络测试所遇到的情况主要有以下两种:
3.后端层
(1)业务层:
既从页面录制你的场景脚本
通过页面录制脚本,完成登录。浏览单品也。下单的流程。
缺陷:过度依赖于前端页面,如果页面没有开发完,则无法提前进行测试,这样会不断压缩测试时间。
(2)接口层:
性能测试的首选,最高效的测试方式之一
优势:
(1)可通过入参、出参以及规则等编写测试接口的代码,无需等待页面开发完,大大提高了测试的切入点。
(2)接口级测试的可拓展性强,可以通过完成借口的性能测试和功能自动化测试框架来提升效率,性价比高。
劣势:
(1)需要测试人员有一定的编码能力。
(3)单元层:
很多公司想做,但是无心去做
(1)业务变化太快,涉及的代码逻辑修改比较大,这样做单元测试得不偿失。
(2)开发的人员没有时间写单元测试代码,业务逻辑代码写起来也是很费劲时的,没有时间高其他的了。
(3)测试工程师编程能力较弱,能独当一面完成单元测试的人少之又少,加之测试时间紧迫,所以更无法去做单元级测试了。