起因
现状
● 测试经理不知道性能测试人员在做什么
● 不知道性能测试进展如何
● 不知道性能测试是否有效
● 不知道如何协助性能测试人员
本文目的
● 了解性能测试的进展,更好的控制整个测试流程
● 了解性能测试的质量
--------------------------------------------------------------------------------
十问
● 性能测试何时介入
● 性能测试的过程是怎样的
● 是否有必要提起性能测试
● 性能测试有哪些类型
● 如何分析性能需求
● 如何衡量性能
● 性能测试(不)能做什么
● 如何检验性能测试的质量
● …
--------------------------------------------------------------------------------
Q1、性能测试何时介入
开发生命周期中的性能测试
● 单元测试
代码层面的测试。写完一块代码,对代码的执行效率、内存使用、资源占用等情况进行测试,由开发人员完成。
● 组件/服务/接口测试
此层面的测试,通常是针对一个已完成的公用功能,此功能向外提供服务或者接口。既可以是代码级别的测试,也可以是不涉及代码的调用测试(如webservice接口),应由测试人员完成。
● 系统测试
整个系统已经实现,通过模拟用户的使用对系统进行测试。我们做的性能测试主要就是这个,由测试人员完成。
● 生产环境测试
在系统测试通过的基础上,构建出更完整的生产环境。比如一个生产环境,部属多个系统,这些系统共同使用时可能会相互影响,需要考虑到此种情况进行测试。
系统测试中,何时介入呢
● 稳定版
→ 进入太晚,进度无法保证
→ 可能会影响到功能测试
这是测试负责人最害怕的,即测试晚期发现性能问题,修改涉及面较大,造成功能测试返工。
● 尽早
→ 流程可跑通
→ 数据无严重问题
等到稳定版再进入是不靠谱的,要尽早。
尽早到什么时候,性能测试需要哪些流程和数据呢?关注性能方案中的用户模型。
Q2、性能测试的过程是怎样的
敏捷方式的最大特点就是不断确认、不断修正、多次迭代。
在传统方式的测试过程中,经常出现的问题恰恰是缺少了敏捷思想中的确认过程,导致了测试方向偏离、测试有效性不够。