性能测试上手难度比较高,是一门融合测试、开发、运维、需求调研、架构、协调管理等综合技能的学科,掌握一门性能测试工具对于性能测试来说只是万里长征的第一步,没有一定的需求、开发和运维专业能力,往往会吃一些苦头。
性能测试有几大难点:
(1)需求分析;
(2)场景涉及;
(3)性能诊断调优;
(4)环境搭建和模拟。
很多性能测试初学者总觉得性能测试就是写个脚本,弄几台机器应付,出个报告就行了。通常关注并发多少,响应时间多少,能跑通吗等问题。认为并发越大,响应时间越快,那性能一定就越好,实际上我们需要对系统进行一系列复杂精密的工作才能开始性能测试执行,经过N次回归,找到瓶颈的具体原因,优化再验证。
下面讲解性能测试重要关注点。
1、评估系统,需求分析
对性能测试进行需求分析,通常情况下我们很多功能测试人员会直接依赖需求人员或者项目经理的口诉或者有缺陷的文档。实际上,大多数情况下我们需要自己来引导相关的运维人员和需求人员给出具体的需求数据,并对这些数据进行二次分析,得出我们真实的性能需求。
对于初次上线的系统,我们需要用同行的系统数据,进行用户行为分析和商业数据结构的估算为前提,利用性能评估算法推算。得到的负荷和响应时间数据可以被用于验证所计划的模型的能力,并帮助做出决策。
对于已经上线的系统,我们可以通过运维人员获取TPS和时间的比例分布图、用户数和时间的分布图、数据库ER关系图、容量数据等,直接精确得出目前的系统的用户行为和业务数据关系,进而得出我们需要的性能需求。
2、场景设计、用例设计
充足的需求调研与分析之后,我们要在测试场景中尽可能真实地复原系统负载。
通过需要我们要决定哪些功能要参与性能执行,如何参与?这就是用例设计。
如何有效地组织测试用例就是场景要做的事,按业务分布、业务量、业务时段、业务角色来综合分配用户数、执行时间、执行比例等。看似简单,实际操作起来还是比较麻烦的。
3、测试执行、是否通过
模拟不同负载执行测试场景来识别系统弱点;做好各种监控,甄别各种问题;验证系统的稳定性。下图是我们在执行时常见的需要关注的指标。
4、性能诊断优化
性能诊断知识面要求甚广,系统日益复杂,单打独斗的日子已经远去,依靠团队力量才能够高效完成诊断任务。性能测试从业者要具备良好、敏感的性能意识,能够把遇到的问题初步分类,协助各开发团队完成问题定位、分析调优。所以首先要是一个好的协调者,还是一个技术面广的技术人员,具备跨领域知识,如开发、运维、数据库、缓存等。
以上是关于软件测试的知识,由多测师亲自撰写,全网独家提供!
发表评论 取消回复