性能测试进阶(一)
软件测试逐渐成为软件开发过程中的一个必不可少的环节,随着功能测试的必要性被认可,自动化测试和性能测试也逐渐崭露头角。
下面一步步分析和理解性能测试
一、性能测试工程师的标准及挑战
1.1 性能测试工程师的考评指标
测试工程师的考评可归结为一条,那就是测试通过的软件不会被用户发现严重的缺陷。而现在,软件测试逐渐正名,我们对测试的理解从证明软件没有错误变为证明软件具备一定的质量,而功能测试工程师的考评也会随之发生变化。
功能测试的考评指标主要有如下几点:
1)缺陷数量
2)缺陷质量
3)工作态度
4)工作效率
5)文档编写
6)团队协作能力
7)其他相关技能
随着性能测试职位的逐渐的成熟,对这个职位的要求也越来越严格,性能测试的目的不仅仅是为了获得当前系统的性能评估,还希望进一步通过性能测试来发现系统的性能瓶颈并修复性能问题,提升系统处理能力,甚至对系统的扩展能力提供一定的数据参考。而性能问题的修复成本一般相对较高,如何使用最低的成本换取最高的性能,从而在性价比上找到黄金分割点,将是性能调优的重点。
1.2 性能测试工程师的考评包括如下几点:
1)是否能够独立开发脚本
该指标是指测试工程师能否使用一种或多种性能测试工具完成用户行为的模拟脚本开发工作。
2)能否对需求进行性能分析并获得性能需求
任何测试都是基于需求的,作为一名性能测试工程师,需具备一定的性能需求分析能力,根据用户的需求进行性能测试,得到被测系统与用户需求之间的差距,从而生成性能测试报告并提供性能调优方案。
3)能否设计场景及监控负载系统完成对性能测试的实施和监控工作
该指标是指测试工程师能否对性能测试进行实施,设计负载规则并监控负载下各个系统的状态。
4)能否通过性能测试发现比较具体的性能瓶颈
该指标是指测试工程师是否具备一定的性能结果分析及瓶颈定位能力。
5)文档编写与环境搭建的能力
该指标要求测试工程师具备独立编写性能测试文档和搭建测试环境的能力。
6)团队协作能力
7)其他相关技能
1.3 性能测试工程师的挑战
对于工作了几年的功能测试工程师来讲,在功能测试工作中会经常遇到很多挑战。
1)公司不重视测试
2)测试人员少
3)找不到缺陷
4)开发不能及时修改测试中发现的BUG
5)不熟悉业务
6)不了解测试的方法和流程
7)整体的流程混乱,测试时间不充足
总结就是测试工作内容略感重复,缺乏技术含量,在有限的时间和资源下很难达到理想化。
在实际总工作中,要确保软件没有缺陷是比较困难的,因为:
1)软件不可能不存在缺陷
2)测试无法发现所有的缺陷
3)测试大多数情况下是没有充足的时间和资源
所有无法完全保证整个软件在交付时不存在缺陷,虽然可以通过各种方法将严重等级或者优先级别较高的的问题发现并修复,但由于个人能力不同和客观原因还是会遗漏某些缺陷
那么作为性能测试工程师,面临的又有哪些困难呢?
1)对性能测试的理论和技术不熟悉
2) 公司不重视性能测试
3)性能测试人员少
4)测试出来的结果不知道怎么分析
5)不熟悉业务
6)定位出的性能问题无法修正
总结:就是如何在有限的时间和资源下,保证提交给用户的软件系统一达到制定的性能需求指标。
从某种角度来说,现在性能测试的功效被过度放大,以功能测试为例,最初软件是无需测试的,因为软件功能单一,而软件质量是依赖于有经验的开发人员自己进行维护。
随着开发规模的逐渐扩大,软件越来越复杂,随之质量逐渐下降,这时功能测试的低成本效果就出现了。
随着功能测试部门的逐渐扩大,其效率不断下降,依赖于功能测试提高质量的性价比逐渐降低;其实功能测试并不是万能的,主要作用是保证软件达到一定的质量。从功能测试到自动化测试再到性能测试是一个不断发展的过程,也是一个不断完善测试的过程。