再谈性能测试

发表于:2008-7-14 16:31

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:kiki 赵    来源:Kiki的专栏

什么是性能测试

        性能测试(在此主要指软件的性能测试)的定义各家各门派的定义很多,个人比较认同Wiki上面的解释:

        In software engineering, performance testing is testing that is performed, from one perspective, to determine how fast some aspect of a system performs under a particular workload.

        It can also serve to validate and verify other quality attributes of the system, such as scalability, reliability and resource usage. Performance testing is a subset of Performance engineering, an emerging computer science practice which strives to build performance into the design and architecture of a system, prior to the onset of actual coding effort.

        译:在软件工程里,性能测试是指从一个角度出发用于测定系统的一些地方在特定负载下运行的速度。

        它也可以用于验证和校验系统的其他质量特性,例如可伸缩性,稳定性和资源使用率。性能测试是性能工程的一个子集。性能工程是一门新兴的计算机科学实践,它致力于构建性能于系统的设计和架构中。

        随着计算机技术以及软件产业的不断发展,性能测试的范围已经从最初简单的范畴衍生到一个非常广的领域,业界叫法也是五花八门,例如压力(强度)测试,负载测试,并发测试等。就我看来,他们之间有差别,但是由于其在测试的手段和技术上的相似性,更多的被看成是广义性能测试的几个子集。

  1. 性能测试:在一个特定的基准下(相对较轻的负载),测试系统的性能表现
  2. 负载测试:测试系统在多种负载组合下(相对较重的负载)的性能表现。
  3. 压力(强度)测试:测试系统在高或很高强度负载情况下的性能表现。
  4. 容量测试:测试系统在高或很高数据量的情况下的性能表现。

        假如预期系统的最大负载为1000的话,性能测试的负载大致为30~100,负载测试为101~800,压力(强度)测试为801~1200。这个预期的最大负载来源于系统各层的最大连接数的设置。容量测试的重点是系统的高数据量,基本不考虑并发用户数,一般测试时会注入数据库最大容量的70~90%。

        下面举个简单的例子,假设客户对系统的性能要求为系统中的主要交易响应时间不超过8秒。那么一般如何执行性能测试呢?下面是一个简单也有代表性的性能测试过程。

性能测试

 

 

1.收集性能要求

 

 

2.编写性能测试计划

 

 

3.编写性能测试方案或用例(转换性能需求,确定性能测试点及性能接收标准)

 

 

4.配置测试环境

 

 

5.实现测试设计

 

 

6.执行性能测试

 

 

7.分析测试结果

 

 

8.报告测试结果,如果性能未达到要求,提交bug

 

 

9.开发人员修复bug,重新执行步骤6~8,直至测试通过

 

 

        (表一)

        去掉列1中的关键词“性能”,再加上“功能”看看。

性能测试

xx测试

功能测试

1.收集性能要求

1.收集xx要求

1.收集功能要求

2.编写性能测试计划

2.编写xx测试计划

2.编写功能测试计划

3.编写性能测试方案或用例(转换性能需求,确定性能测试点及性能接收标准)

3.编写xx测试方案或用例(转换xx需求,确定xx测试点及xx接收标准)

3.编写功能测试方案或用例(转换功能需求,确定功能测试点及功能接收标准)

4.配置测试环境

4.配置测试环境

4.配置测试环境

5.实现测试设计

5.实现测试设计

5.实现测试设计

6.执行性能测试

6.执行xx测试

6.执行功能测试

7.分析测试结果

7.分析测试结果

7.分析测试结果

8.报告测试结果,如果性能未达到要求,提交bug

8.报告测试结果,如果xx未达到要求,提交bug

8.报告测试结果,如果功能未达到要求,提交bug

9.开发人员修复bug,重新执行步骤6~8,直至测试通过

9.开发人员修复bug,重新执行步骤6~8,直至测试通过

9.开发人员修复bug,重新执行步骤6~8,直至测试通过

        (表二)

        看,是不是一样的。所以说基本上所有类型的测试过程都是一样的,不同的就是它们分别针对的是不同的系统特性。

21/212>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号