1. 什么是Performance testing
首先应该区别于压力测试(stress testing),因为压力测试是用来在系统承受的临界点或者超过系统承受能力的情况下,来检测系统的稳定性。
而性能测试,是针对响应时间的一些测试,主要是模拟真实的用户对MUT(测试手机)的响应时间的接受程度。所以这一点就表明要站在用户角度上设计case。要求在不同的场景下的完成同一任务的时间来衡量。
当然性能测试可以联合stress test,用来测试什么时候才是用户能够接受的程度。对于手机是单用户的操作,比起windows上的软件performance要简单的多,至少不需要太多的多用户操作,也很少互操作性。
2.case 的输入部分
需求(spec),制定计划,首先需要考虑几个问题
性能测试的范围,哪些子系统,接口,模块?应该不应该在我的scope中呀?
对于UI测试,比如菜单打开和执行的速度,用户忍受时间是多少?
目标系统(手机)应该是什么样子?就是说你的目标值是多少?
环境/场景是什么样子的?一个环境/场景需要一条case相对应,这样才能和前一次相比较,具有可比性。
和目标只相差多少是被接受的,这就是我们所说的deviation,数学中我们叫做容差值(resolution)
比较吗?和前一次比较吗?和同类手机比较吗?和竞争对手的手机比较吗?
3.case设计原则
收集整理性能测试需求performance requirements (specifications) ,可以站在用户角度。
开发出概况性(high-level)的计划,包含需求,资源,时间线,里程碑等
开发出详细的测试计划,包含详细的场景和测试用例,工作量,环境信息等等
选择测试工具,可以是自动测试工具,也可以是人工测试
制定测试时需要的测试输入资源,每次同样都会使用。
选择测试方法
配置测试环境,准备测试数据,表格等等。
执行测试,这其中会是一遍遍重复的,因为单次的结果可能由于某种原因造成数据不稳
分析结果 - 和前次比较差距?是进步还是退步了,提高百分比是多少?和目标值差距百分比是多少?是否是接受范围(fail/pass).
|