首页 考试吧论坛 Exam8视线 考试商城 网络课程 模拟考试 考友录 实用文档 求职招聘 论文下载
2011中考 | 2011高考 | 2012考研 | 考研培训 | 在职研 | 自学考试 | 成人高考 | 法律硕士 | MBA考试
MPA考试 | 中科院
四六级 | 职称英语 | 商务英语 | 公共英语 | 托福 | 雅思 | 专四专八 | 口译笔译 | 博思 | GRE GMAT
新概念英语 | 成人英语三级 | 申硕英语 | 攻硕英语 | 职称日语 | 日语学习 | 法语 | 德语 | 韩语
计算机等级考试 | 软件水平考试 | 职称计算机 | 微软认证 | 思科认证 | Oracle认证 | Linux认证
华为认证 | Java认证
公务员 | 报关员 | 银行从业资格 | 证券从业资格 | 期货从业资格 | 司法考试 | 法律顾问 | 导游资格
报检员 | 教师资格 | 社会工作者 | 外销员 | 国际商务师 | 跟单员 | 单证员 | 物流师 | 价格鉴证师
人力资源 | 管理咨询师考试 | 秘书资格 | 心理咨询师考试 | 出版专业资格 | 广告师职业水平
驾驶员 | 网络编辑
卫生资格 | 执业医师 | 执业药师 | 执业护士
会计从业资格考试会计证) | 经济师 | 会计职称 | 注册会计师 | 审计师 | 注册税务师
注册资产评估师 | 高级会计师 | ACCA | 统计师 | 精算师 | 理财规划师 | 国际内审师
一级建造师 | 二级建造师 | 造价工程师 | 造价员 | 咨询工程师 | 监理工程师 | 安全工程师
质量工程师 | 物业管理师 | 招标师 | 结构工程师 | 建筑师 | 房地产估价师 | 土地估价师 | 岩土师
设备监理师 | 房地产经纪人 | 投资项目管理师 | 土地登记代理人 | 环境影响评价师 | 环保工程师
城市规划师 | 公路监理师 | 公路造价师 | 安全评价师 | 电气工程师 | 注册测绘师 | 注册计量师
缤纷校园 | 实用文档 | 英语学习 | 作文大全 | 求职招聘 | 论文下载 | 访谈 | 游戏
您现在的位置: 考试吧(Exam8.com) > 软件水平考试 > 复习资料 > 软件评测师 > 正文

2010年软件水平考试软件测评师自动化测试(12)

来源:考试吧Exam8.com) 2010-10-25 19:00:29 考试吧:中国教育培训第一门户 模拟考场
考试吧整理了2010年软件水平考试软件测评师自动化测试(12),帮助考生备考.

  三、组建并执行性能测试场景。

  从VU运行成功到controller运行成功,一般需要以下几个步骤(我也是从英文论坛上看到的,觉得不错,拿出来共享):

  1. 确认在VU里SUSI(单用户单循环次数single user & single iteration)

  2. 确认在VU里SUMI(单用户多循环次数single user & multi iteration)

  3. 确认在controller中MUSI(多用户单循环次数multi user & single iteration)

  4. 确认在controller中MUMI(多用户多循环次数 multi user & multi iteration)

  做这样一个步骤划分是有道理的,第一步骤是验证脚本编写的正确,第二步骤可以验证数据池是否正常运作。第三步骤验证并发功能,第四步骤是最终目的,验证软件系统的性能。在论坛上看到一些朋友提的问题,有一些就是于此的,在controller中运行场景时出现问题,首先得保证VU中运行成功,这是一个显然的逻辑。软件工程中把软件开发的种种行为都要制定一个proccess,即过程,性能测试也是如此,按照过程来调试脚本和场景,能及早发现问题和定位问题。除非是高手,烂熟于心中,才能超越proccess而不出问题。

  场景是把虚拟用户和交易数按一定规则组织起来去模拟真实世界的业务行为。这其实是把单个用户的行为复制,连接。场景的组织通常和真实世界的业务规则有很大关系。

  做个如下可能并不恰当的比喻:

  脚本像演员,场景就像表演的舞台,而测试工程师是导演,多少个演员,怎么在舞台上演出,都由导演说了算,而剧情又不能离谱,脱离现实,否则就要砸锅了。注意,导演的职责不光是确保演出能顺利结束,而且还要同时观察和收集观众的反馈信息,以确认这次演出是否成功。

  同样的也是,性能测试人员不光是看场景是否得到顺利的执行,同时还要收集各个server的反馈信息,以确认软件系统的性能表现是否正常。

  在真实世界中的用户业务规则要转换到可操作的性能指标是需要分析和计算的。当然这通常是市场需求分析人员干的活,但我觉得测试人员应该在做性能测试时,对这些指标进行理解,知道为什么要这样做。有时有的性能指标并不清楚和准确,还需要测试人员来分析。比如一个性能指标:要求软件系统支持每分钟700用户的登陆行为。这对于测试人员来说,其实是一个不确切的性能需求。这指的是瞬时并发用户700,在一分钟的响应时间要求下登陆系统?还是在一分钟内陆续有700个用户登入软件系统即可?这两种场景其实对软件系统的压力是不同的,第一种显然大,第二种要小一些。甚至有的性能需求就是支持50000注册用户,这种需求就更需要分析了,还要引入一些业务发生概率算法模型来做。这已经不是性能测试人员的职责了,但由于目前有不少软件公司流程不规范,或者有流程没执行,这些工作都要测试人员来做了,不过也好,正好是锻炼的机会。

  四、分析结果数据,找到软件系统性能瓶颈

  上面说了,做了那么多,就是为了本步骤-寻找软件系统性能瓶颈。

  个人认为寻找性能瓶颈是一个非常有挑战性的工作,毛主席曾经说过:一个优秀的指战员就是能够根据已有的客观形势,制定作战计划,然后在作战过程中,发现计划与执行不符的地方,分析,然后调整作战计划,缩小计划和战势的误差。简明一句:就是一个理论和实践结合的过程,一个人的主观思想和客观现实的结合过程(注明:本人是毛主席老人家的忠实fans)。

  在性能测试中,测试方案就是我们的作战计划,执行性能测试就是我们的作战战场。在性能测试中,可能会发现种种意想不到的问题。当然一个经验足够丰富的性能测试专家可能会在测试之前就能考虑全面,使测试方案吻合测试执行实际情况,并一举找出性能瓶颈。我sunshinelius不是专家水平,当然就要匆忙应对和分析性能测试中出现的问题,并有可能会修改测试方案,增加必要的test case,删除没用的test case。总之,性能测试是一个不断修改测试方案,反复执行test case的过程,直至越来越逼近性能瓶颈。在此过程中,需要了解很多的知识,知识了解得越多,就越接近软件系统运行的真相,也就能找出性能瓶颈了。

  比如:loadrunner要是调用程序员的程序,服务器资源占用情况可能是追查瓶颈的一个线索,但如果是标准中间件,那就没那么简单了,比如oracle数据库的某项参数设得不对,照样会造成数据库瓶颈,应用程序调用数据库的API写法不对,比如未使用软解析变量,也有可能导致数据库瓶颈。这些瓶颈都不会反映在cpu,内存使用量上等指标上的。

  对于这种情况,一方面需要对中间件有一定的了解,知道哪些参数有什么作用,怎么可调的,另外还可能使用中间件的专有监测工具,来分析。lr的性能计数器是不够用的。

  个人体会,查找瓶颈的难易程度,由易到难

  服务器硬件瓶颈-〉网络瓶颈-〉应用瓶颈-〉服务器操作系统瓶颈(参数配置)-〉中间件瓶颈(参数配置,数据库,web服务器等)

  记忆比较深刻的一次,用lr做了两天性能测试,指标上不去,后来使用oracle数据库的图形化性能检测工具才发现某个表的查询处理时间超长,原来索引创建得不合理,把表的索引改了之后,性能稍有提高,但还是上不去。再次排查,发现应用中有一个sql语句写得有问题,长而且耗时,改了之后,测试指标还是上不去

  经过至少四轮的排查,才大功告成,最后一个除掉的瓶颈是操作系统问题(开始没有想到它,后来看系统消息,才发现已经有错误报出)

  五、每个系统的性能测试都是一个全新的挑战!

  相关推荐:考试吧策划:2010年软件水平考试完全指南

       
2010年11月计算机软件水平考试备考宝典汇总
文章搜索
软件水平考试栏目导航
版权声明:如果软件水平考试网所转载内容不慎侵犯了您的权益,请与我们联系800@exam8.com,我们将会及时处理。如转载本软件水平考试网内容,请注明出处。