分享

性能测试流程

 Go_Ahead 2016-02-17
性能测试是一个综合性的工作,性能测试的基础是需求(如果没有需求,性能测试是没价值的),脚本的开发需要被测系统开发人员的配合,而性能瓶颈定位需要各个部门的通力协作。如何在工作中进行性能测试?如何成立性能测试部门?如何对性能测试进行自动化?

出于实践方便的考虑,这里选择了Discuz和Phpwind--两款知名的免费开源论坛系统,我们将对其进行一次完整的性能测试,来了解实施性能测试的思路、流程、方法。我们将对Discuz和Phpwind进行性能基准对比测试、平台配置测试、系统压力测试

性能测试流程
计划测试->创建脚本->创建场景->运行场景->分析性能数据->生成性能测试报告
计划测试
在任何类型的测试中,编写测试计划都是必要的步骤。有条不紊、周密的计划可以确保在执行中能够有章可循。计划阶段需要经历以下几个环节
     1.分析系统(确定协议/熟悉业务/获得相关信息)
要进行性能测试,了解被测对象是需要做的第一步。首先需要确认系统的架构和所使用的协议,对工具的可行性进行分析,然后对整个业务进行熟悉,确认相关的数据和业务操作可以被工具录制回放
=======》通过   分析系统   阶段需要知道该系统能不能进行性能测试
确定协议:可以通过询问开发人员;若开发人员不知道,就需要引入网络数据包拦截分析,来确认系统协议。网络数据包拦截软件其实有很多,比如常见的Wireshark、Omnipeek等。通过这类工具,可以拦截整个被测系统所使用的协议类型,甚至明确数据包的封装格式。它们和前面的HttpWatch略有不同,HttpWatch是一个基于浏览器的插件,可以帮助我们拦截HTTPD的数据包;而这里使用的网络拦截工具是基于网卡的底层扫描的。可具体搜索下Omnipeek的使用
熟悉业务流程:每一个系统都有自己的业务流程,通过查看相关文档,可以了解系统的执行步骤和业务流程,从而了解用户如何使用整个系统。我们需要先将各种业务操作的流程进行整理,并且通过VuGen进行录制回放,检查该系统是否能够被性能测试工具模拟用户行为。
比如
对于一个将要被测试的论坛来说,常见的操作包括发帖、查看帖子、用户间收发短消息等操作。这里简单分析一下用户进行常见操作所需要的一些业务流程
浏览帖子,查询帖子,回帖/发帖,注册新用户
获得系统相关信息:当脚本回放出错时,某些情况是由于无法录制到某些操作导致回放失败,而大多数情况是由于系统中存在某些动态数据,导致操作无法达到预期的效果,这时需要通过关联来解决动态数据的问题
那么什么数据需要关联,什么数据不需要关联呢?这要求我们熟悉系统业务流程。常见系统的动态数据无非就是session和一些页面参数,通过询问开发或系统设计人员来了解动态数据的产生规则和使用方式。
在需要测试的Discuz论坛中,可以在操作中发现一些常见的动态数据。如 论坛的帖子编号、用户编号、板块编号等。
当完成了协议的确定、业务的熟悉和相关信息的收集后,接着可以对脚本进行简单的开发了,那么是不是需要把用户所有的行为都进行模拟呢?非也,性能测试并不是要求德智体美劳全面发展,而是强调核心竞争力,接着要做的是针对性能测试的目标进行定义,避免性能测试的眉毛胡子一把抓。




2.定义测试目标(获得用户需求/分解测试目标)



3.明确定义概念(明确测试目标/完成性能测试计划)
4.环境搭建(软硬件环境/容量生成/环境回溯)



















































































































    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多