从工作内容看软件性能测试
2012-10-25 16:39
169 查看
[align=left]在前面的文章中,我们了解到软件性能测试的基本概念以及意义,那么在实际工作中,性能测试的工作内容是什么?本文我们重点了解性能测试的工作内容。[/align]
[align=left]1、测试确认[/align]
[align=left]理解被测系统、寻找测试点、确认测试范围、测试环境等。一些重要信息需要同PM、需求人员、设计人员讨论确认,如用户最常用哪些功能、最关注哪的性能,程序上哪可能是压力点,哪些数据需要模拟到真实的量级,大体上需要使用哪种测试方法。[/align]
[align=left]2、确定通过标准[/align]
[align=left]性能是好是坏、测试是否通过,必须有明确的标准。这个标准,主要从客户的期望和业务上的需求两方面来考虑,客户的期望一般指页面上的响应时间,业务需求则是系统的处理能力,一般为吞吐量或TPS(每秒完成事务数)。标准制定的不合理,测试结果可能无法反映系统真实的性能表现,或者会让客户无法接受我们认为通过的软件。[/align]
[align=left]至于具体如何去设定,是需要同业务负责人(一般为PM)和技术负责人(一般为设计人员)共同确认的,业务负责人了解用户的实际需求和期望,技术负责人了解具体的实现,可以判断哪些是不可达到的要求。[/align]
[align=left]一旦达成了共识,那么测试就要严格的按照标准去执行。[/align]
[align=left]3、测试设计[/align]
[align=left]主要从上面提到的几个方面进行分析,针对系统的特点设计出合理的测试场景。为了让测试结果更加准确,这里需要很细致的工作。如建立用户模型,只有知道真实的用户是如何对系统产生压力,才可以设计出有代表性的压力测试场景。这就涉及到很多信息,如用户群的分布、各类型用户用到的功能、用户的使用习惯、工作时间段、系统各模块压力分布等等。只有从多方面不断的积累这种数据,才会让压力场景更有意义。最后将设计场景转换成具体的用例。[/align]
[align=left]测试数据的设计也是一个重点且容易出问题的地方。生成测试数据量达到未来预期数量只是最基础的一步,更需要考虑的是数据的分布是否合理,需要仔细的确认程序中使用到的各种查询条件,这些重点列的数值要尽可能的模拟真实的数据分布(数据统计信息、执行计划相关的内容,此处就不细说了),否则测试的结果可能是无效的。[/align]
[align=left]此外,性能测试执行过程中,需要监控收集的各种指标数据,也需要明确下来。[/align]
[align=left]4、测试环境准备[/align]
[align=left]部署测试环境,生成测试数据,环境预调优等等。[/align]
[align=left]5、测试执行、监控[/align]
[align=left]准备测试脚本,执行之前设计好的各个用例,监控并收集需要的数据。[/align]
[align=left]6、问题分析定位、调优[/align]
[align=left]发现问题或者性能指标达不到预期,及时的分析定位,处理后重复测试过程。[/align]
[align=left]性能问题通常是相互关联相互影响的,表面上看到的现象很可能不是根本问题,而是另一处出现问题后引起的反应。这就要求监控收集数据时要全面,从多方面多个角度去判断定位。[/align]
[align=left]调优的过程其实也是一种平衡的过程,在系统的多个方面达到一个平衡即可。[/align]
[align=left]7、性能报告[/align]
[align=left]将测试过程中记录的各种数据汇总成报告,将各方面需要的结果清楚的展现出来。[/align]
[align=left]上面所有内容中,如果排除技术上的问题,性能测试中最难做好的,就是用户模型(或者叫系统使用模型)的分析。它直接决定了压力测试场景是否能够有效的模拟真实世界压力,而正是这种对真实压力的模拟,才使性能测试有了更大的意义。可以说,性能测试做到一定程度,差距就体现在了模型建立上。[/align]
[align=left]至于性能问题的分析、定位或者调优,很大程度是一种技术问题,需要多方面的专业知识。数据库、操作系统、网络、开发都是一个合格的性能测试人员需要拥有的技能,只有这样,才能从多角度全方位的去考虑分析问题。[/align]
[align=left]山东省软件评测中心韩庆良主任说过:“对于测试人员来说,技术能力只是辅助手段,测试思想才是最根本的。”敏锐的嗅觉、严谨的逻辑、合理的推测、大胆的实践是一个合格测试工程师的必备要素。[/align]
如有疑问,欢迎登陆http://www.sdstc.net/
[align=left]1、测试确认[/align]
[align=left]理解被测系统、寻找测试点、确认测试范围、测试环境等。一些重要信息需要同PM、需求人员、设计人员讨论确认,如用户最常用哪些功能、最关注哪的性能,程序上哪可能是压力点,哪些数据需要模拟到真实的量级,大体上需要使用哪种测试方法。[/align]
[align=left]2、确定通过标准[/align]
[align=left]性能是好是坏、测试是否通过,必须有明确的标准。这个标准,主要从客户的期望和业务上的需求两方面来考虑,客户的期望一般指页面上的响应时间,业务需求则是系统的处理能力,一般为吞吐量或TPS(每秒完成事务数)。标准制定的不合理,测试结果可能无法反映系统真实的性能表现,或者会让客户无法接受我们认为通过的软件。[/align]
[align=left]至于具体如何去设定,是需要同业务负责人(一般为PM)和技术负责人(一般为设计人员)共同确认的,业务负责人了解用户的实际需求和期望,技术负责人了解具体的实现,可以判断哪些是不可达到的要求。[/align]
[align=left]一旦达成了共识,那么测试就要严格的按照标准去执行。[/align]
[align=left]3、测试设计[/align]
[align=left]主要从上面提到的几个方面进行分析,针对系统的特点设计出合理的测试场景。为了让测试结果更加准确,这里需要很细致的工作。如建立用户模型,只有知道真实的用户是如何对系统产生压力,才可以设计出有代表性的压力测试场景。这就涉及到很多信息,如用户群的分布、各类型用户用到的功能、用户的使用习惯、工作时间段、系统各模块压力分布等等。只有从多方面不断的积累这种数据,才会让压力场景更有意义。最后将设计场景转换成具体的用例。[/align]
[align=left]测试数据的设计也是一个重点且容易出问题的地方。生成测试数据量达到未来预期数量只是最基础的一步,更需要考虑的是数据的分布是否合理,需要仔细的确认程序中使用到的各种查询条件,这些重点列的数值要尽可能的模拟真实的数据分布(数据统计信息、执行计划相关的内容,此处就不细说了),否则测试的结果可能是无效的。[/align]
[align=left]此外,性能测试执行过程中,需要监控收集的各种指标数据,也需要明确下来。[/align]
[align=left]4、测试环境准备[/align]
[align=left]部署测试环境,生成测试数据,环境预调优等等。[/align]
[align=left]5、测试执行、监控[/align]
[align=left]准备测试脚本,执行之前设计好的各个用例,监控并收集需要的数据。[/align]
[align=left]6、问题分析定位、调优[/align]
[align=left]发现问题或者性能指标达不到预期,及时的分析定位,处理后重复测试过程。[/align]
[align=left]性能问题通常是相互关联相互影响的,表面上看到的现象很可能不是根本问题,而是另一处出现问题后引起的反应。这就要求监控收集数据时要全面,从多方面多个角度去判断定位。[/align]
[align=left]调优的过程其实也是一种平衡的过程,在系统的多个方面达到一个平衡即可。[/align]
[align=left]7、性能报告[/align]
[align=left]将测试过程中记录的各种数据汇总成报告,将各方面需要的结果清楚的展现出来。[/align]
[align=left]上面所有内容中,如果排除技术上的问题,性能测试中最难做好的,就是用户模型(或者叫系统使用模型)的分析。它直接决定了压力测试场景是否能够有效的模拟真实世界压力,而正是这种对真实压力的模拟,才使性能测试有了更大的意义。可以说,性能测试做到一定程度,差距就体现在了模型建立上。[/align]
[align=left]至于性能问题的分析、定位或者调优,很大程度是一种技术问题,需要多方面的专业知识。数据库、操作系统、网络、开发都是一个合格的性能测试人员需要拥有的技能,只有这样,才能从多角度全方位的去考虑分析问题。[/align]
[align=left]山东省软件评测中心韩庆良主任说过:“对于测试人员来说,技术能力只是辅助手段,测试思想才是最根本的。”敏锐的嗅觉、严谨的逻辑、合理的推测、大胆的实践是一个合格测试工程师的必备要素。[/align]
如有疑问,欢迎登陆http://www.sdstc.net/
相关文章推荐
- 管理工作的内容、本质与特点
- MySQL数据库工具的使用-在公司最近十天的工作内容总结(六)
- 测试工作内容1
- bash的工作特性之命令执行返回值和命令展开的内容及练习示例
- 【企业各层级工作内容比重】合理分配各项工作,最大化挖掘能力潜质
- 将 GridView 中的内容导出到 Excel 中多个工作表(Sheet) 的方法
- 一天的工作内容
- 管理DBA的工作内容和责任
- 提高对邮件的认识,两类邮件都要重视!!(不光有和客户的邮件工作方面的,还有单位的邮件一些联系事项),还有要自己看清楚邮件的全部内容,不要丢三落四!!
- 20150504工作日志(遮盖效果,点击div以外的地方就收起内容,ajax的局部刷新连接)
- rk平板底层C语言调用摄像头(工作内容)
- 售前工程师工作内容
- 内容摘自:Android工作两年之后的第一个App--天真无谐
- 网卡的工作模式及iwconfig 使用手册(内容很丰富,有用,转自Openwrt论坛)
- 项目管理:项目经理的工作内容
- 多张工作表中输入相同的内容
- 当前工作梳理-系列2/5-策划梳理内容
- SQL Server DBA工作内容详解
- 数据库(Oracle)运维工作内容及常用脚本命令
- 在内容工作流程中和预算中优化