软件性能测试应用领域
性能测试的概念(重点)

性能测试的概念(重点)性能测试的概念定义:软件的性能是软件的⼀种⾮功能特性,它关注的不是软件是否能够完成特定的功能,⽽是在完成该功能时展⽰出来的及时性。
由定义可知性能关注的是软件的⾮功能特性,所以⼀般来说性能测试介⼊的时机是在功能测试完成之后。
在系统基础功能测试验证完成、系统趋于稳定的情况下,才会进⾏性能测试,否则性能测试是⽆意义的。
另外,由定义中的及时性可知性能也是⼀种指标,可以⽤时间或其它指标来衡量,通常我们会使⽤某些⼯具或⼿段来检测软件的某些指标是否达到了要求,这就是性能测试。
性能测试定义:指通过⾃动化的测试⼯具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进⾏测试。
性能测试类型基准测试:在给系统施加较低压⼒时,查看系统的运⾏状况并记录相关数做为基础参考负载测试:是指对系统不断地增加压⼒或增加⼀定压⼒下的持续时间,直到-系统的某项或多项性能指标达到安全临界值,不断加压使系统达到瓶颈,为调优提供参考数据。
压⼒测试:(1)稳定性压⼒测试:在不同的给定的条件下(⽐如内存的使⽤,⼀定时间段内有多少请求等),系统表现出来的处理,反应能⼒(这⾥会考虑系统的容错能⼒,恢复能⼒)(2)破坏性压⼒测试:不断加压,直⾄系统崩溃,挂掉,来得出系统的最⼤承受能⼒在哪⼉稳定性测试:在给系统加载⼀定业务压⼒的情况下,使系统运⾏⼀段时间,以此检测系统是否稳定。
并发测试:测试多个⽤户同时访问同⼀个应⽤、同⼀个模块或者数据记录时是否存在死锁或者其他性能问题,失效恢复测试:针对有多余备份和负载均衡的系统设计,检测如果系统局部发⽣故障,系统能否继续使⽤配置测试:通过对被测系统软硬件环境的调整,了解各种不同环境对系统性能影响的程度,从⽽找到系统各项资源的最优分配原则image.png性能测试应⽤场景(领域)性能测试应⽤场景(领域)主要有:能⼒验证、规划能⼒、性能调优、缺陷发现、性能基准⽐较,下表简单介绍和对⽐了这⼏个场景的各⾃⽤途和特点:image.png下表为性能测试应⽤领域与测试⽅法关联:image.png性能测试常⽤的指标1、响应时间(Response Time)定义:从⽤户发送⼀个请求到⽤户接收到服务器返回的响应数据这段时间就是响应时间计算⽅法:Response time = (⽹络时间 + 应⽤程序处理时间)合理的响应时间 2/5/10 (2秒之内给客户响应被⽤户认为是⾮常有吸引⼒的,5秒之内,⽐较糟糕,10秒之内,糟糕的⽤户体验,超过10秒,请求失败)响应时间-负载对应关系:image.png图中拐点说明:1、响应时间突然增加2、意味着系统的⼀种或多种资源利⽤达到的极限3、通常可以利⽤拐点来进⾏性能测试分析与定位2、吞吐量定义:单位时间内系统处理的客户端请求的数量计算⽅法:Throughput = (number of requests) / (total time)吞吐量-负载对应关系:①上升阶段:吞吐量随着负载的增加⽽增加,吞吐量和负载成正⽐;②平稳阶段:吞吐量随着负载的增加⽽保持稳定,⽆太⼤变化或波动;③下降阶段:吞吐量随着负载的增加⽽下降,吞吐量和负载成反⽐;image.pnga1⾯积越⼤,说明系统的性能能⼒越强,a2⾯积越⼤,说明系统稳定性越好,a3⾯积越⼤,说明系统的容错能⼒越好吞吐率吞吐量/传输时间,即单位时间内⽹络上传输的数据量,也可以指单位时间内处理客户请求数量,它是衡量⽹络性能的重要指标。
软件测试案例分析

软件测试案例分析随着信息技术的迅速发展,软件在我们日常生活中的应用越来越广泛。
然而,由于软件开发过程的复杂性,很难保证软件的质量和稳定性。
因此,软件测试在软件开发生命周期中起着至关重要的作用。
本文将通过分析几个典型的软件测试案例来探讨软件测试的重要性和应用。
案例一:支付系统测试假设我们要测试一款支付系统,确保其在各种条件下都能正常运行。
首先,我们需要进行功能测试,即验证系统的各项功能是否按预期工作。
这包括用户登录、账户余额查询、转账功能等。
其次,我们需要进行兼容性测试,确保系统能在不同的操作系统和浏览器上正常运行。
最后,还需要进行性能测试,测试系统在高负载情况下的表现。
通过以上测试,我们可以确保支付系统的稳定性和可靠性。
案例二:电商网站测试电商网站是大家日常购物的重要平台,因此对其进行全面的测试尤为重要。
首先,需要进行界面测试,确保网站的界面设计美观且功能齐全。
接下来,进行用户注册与登录测试,确认用户能够顺利注册和登录。
此外,还需要进行购物流程测试,测试用户在选购商品、下订单、支付等过程中是否会出现问题。
最后,进行安全性测试,检测网站是否具有足够的防护措施,防止恶意攻击和信息泄露。
案例三:移动应用测试移动应用在现代社会中的应用越来越广泛,对其进行充分的测试是保证用户体验的重要一环。
首先,需要进行界面测试,确保应用界面简洁、易用。
接下来,进行功能测试,确保应用的各项功能正常运行。
例如,对于一个地图应用,需要测试地图导航、实时交通信息等功能。
此外,还需要进行兼容性测试,确保应用在不同的设备和操作系统上都能正常运行。
最后,进行性能测试,测试应用在不同网络环境下的响应速度和稳定性。
总结:软件测试是确保软件质量的重要手段,对各个领域的软件开发都至关重要。
通过以上案例分析,我们可以看到不同类型的软件需要进行不同的测试方法和手段。
功能测试、兼容性测试、性能测试等都是非常重要的测试步骤。
只有经过充分的测试,软件才能在各种条件下稳定运行,满足用户需求,提升用户体验。
软件工程简介及其应用领域

软件工程简介及其应用领域软件工程是一门研究如何以系统化、规范化和可量化的方法开发、运行和维护软件的学科。
它旨在通过科学化的方法解决软件开发过程中的问题,确保软件质量、效率和可靠性。
本文将对软件工程的基本概念和应用领域进行介绍。
一、软件工程的基本概念1. 软件工程的定义软件工程是一门综合性学科,它借鉴了工程学的方法和原则,并应用于软件开发过程中。
其目的是通过系统化的方法,将软件开发过程转化为可管理和可控制的活动,从而实现高质量的软件产品。
2. 软件开发生命周期软件开发生命周期是指软件从创建到废弃的整个过程。
它包括需求分析、设计、编码、测试、部署和维护等阶段。
每个阶段都有特定的任务和产出物,通过这些阶段的有序进行,可以有效提高软件开发的效率和质量。
3. 软件工程的原则软件工程遵循一些基本原则,以确保开发出高质量的软件。
其中包括适应性原则、可管理性原则、可测量性原则、可靠性原则和可重复性原则等。
这些原则帮助开发团队规范开发过程,降低开发风险,提高软件的稳定性和可维护性。
二、软件工程的应用领域1. 软件开发软件工程的最主要应用领域是软件开发。
在这个领域中,软件工程师通过需求分析、系统设计、编码和测试等步骤,将用户需求转化为可运行的软件。
软件开发领域的不断发展使得软件工程师的需求量逐年增加。
2. 软件测试软件测试是软件工程中至关重要的一环,旨在保证软件的质量和稳定性。
软件测试工程师通过编写测试用例和执行测试,发现和修复软件中存在的问题。
他们努力确保软件在不同环境下正常运行,并具有预期的功能。
3. 软件项目管理软件项目管理涉及到对软件开发项目的计划、组织和控制。
软件工程师在此领域中承担着项目经理的角色,负责制定项目计划、分配任务、协调团队成员以及监控项目进度。
他们的目标是确保项目按时交付,并满足客户需求。
4. 软件需求工程软件需求工程是软件开发过程中重要的一环,旨在准确收集和分析用户的需求。
软件工程师在此领域中通过与客户的沟通和需求调研,确定软件的功能和性能要求,为后续的开发工作提供指导。
软件测试中的性能监测和调试工具

软件测试中的性能监测和调试工具在软件开发过程中,性能监测和调试是至关重要的一步。
为了确保软件的高效运行和稳定性,开发人员需要使用各种性能监测和调试工具。
本文将介绍几种常见的软件测试中的性能监测和调试工具,并探讨它们的优点和应用场景。
一、性能监测工具性能监测工具用于监测软件在不同负载下的性能表现,从而帮助开发人员发现并解决性能问题。
下面列举了几种常见的性能监测工具。
1.性能测试工具性能测试工具广泛应用于软件测试领域。
它们可以模拟多种负载情况,并监测软件的性能。
通过性能测试工具,开发人员可以了解软件在不同负载下的响应时间、吞吐量、并发性等指标,以便及时优化和调整软件。
2.性能分析工具性能分析工具可以帮助开发人员深入了解软件的性能瓶颈。
它们通过收集软件运行时的数据,分析各个模块的性能指标,并提供可视化的性能报告。
开发人员可以根据这些报告找到性能问题的根源,并进行优化。
二、调试工具调试工具用于定位和修复软件中的bug和错误。
在软件开发过程中,由于各种原因,软件可能会出现各种问题,如崩溃、死锁、内存泄漏等。
下面介绍几种常见的调试工具。
1.断点调试工具断点调试工具是调试工具中最基本、最常用的一种。
通过在代码中设置断点,开发人员可以逐行调试程序的执行过程。
当程序运行到断点处时,开发人员可以查看变量的值、调用栈信息等,从而找到代码的问题所在。
2.内存分析工具内存分析工具可以帮助开发人员查找和修复内存泄漏等问题。
它们可以监测程序在运行时的内存使用情况,并生成内存分析报告。
开发人员可以根据报告找到内存泄漏的地方,并进行相应的优化。
三、性能监测和调试工具的应用场景性能监测和调试工具在软件测试过程中有广泛的应用。
它们可以帮助开发人员发现和解决性能问题,提高软件的性能和稳定性。
1.在软件开发过程中,性能监测工具可以帮助开发人员评估软件的性能表现,找到性能瓶颈,并及时进行优化。
例如,在开发一个网站时,可以使用性能测试工具模拟多种负载情况,并监测网站的响应时间和吞吐量,从而确定网站是否能够承受大量访问。
软件测试技术及其应用案例分析

软件测试技术及其应用案例分析近年来,随着软件行业的迅速发展,软件测试技术也逐渐成为了软件研发中不可或缺的重要环节。
软件测试技术不仅仅是指单纯的代码测试,更包括了测试方案、测试计划、测试用例设计、测试执行与结果分析等多方面内容。
在这篇文章中,我们将会通过一些实际的应用案例分析,深入了解软件测试技术的相关知识点及其在实践中的应用。
一、测试类型概述及其实际应用针对软件测试的具体内容,一般来说可以分为功能测试、性能测试、安全测试、兼容性测试、随机性测试等多个子项。
其中,功能测试通常是最主要的一个测试类型。
在实际应用中,功能测试是针对软件产品中固有的功能,通过人工或自动化方式进行测试,以保障软件产品在实际使用中的正确性。
具体而言,我们可以通过对用户需求、系统架构、用例设计等等方面进行测试,来评估软件产品的功能是否合理,是否符合用户实际需求。
除了功能测试之外,其他测试类型也都具有实践应用价值。
性能测试可以评估软件在高负荷下的性能表现,安全测试可以评估软件在安全方面的表现,兼容性测试可以评估软件在不同操作系统、硬件设备下的表现,随机性测试则可以评估系统在极端情况下的表现等等。
综合来看,不同的测试类型适用于不同的场景,针对不同的问题解决方法,则需要采用不同的测试方式及相应的测试策略。
二、测试用例设计思路及实际操作一旦确定了测试类型,我们就可以为软件产品设计相应的测试用例。
针对测试用例的设计,我们可以考虑使用较为流行的BDD (Behavior-Driven Development)框架。
BDD框架通过将软件需求和测试场景整合在一起,促进了“通用语言”的建立,使得测试用例更容易理解和践行。
通常来说,我们可以通过业务领域分解、场景分析、用例设计等多个步骤来完成测试用例的设计。
举个例子,假设我们现在需要为一个社交APP设计测试用例。
首先我们需要定位业务领域,即社交领域。
然后,我们可以再按照功能、性能、安全、兼容等方式,将测试用例进行细分。
黑盒测试和白盒测试的区别以及各自的应用领域

黑盒测试和白盒测试的区别以及各自的应用领域黑盒测试和白盒测试是软件测试领域中两种常见的测试方法,它们各自具有独特的特点和适用场景。
在软件开发中,测试是至关重要的环节,能够确保软件质量和稳定性。
本文将对黑盒测试和白盒测试进行详细比较,并探讨它们在不同应用领域的使用情况。
黑盒测试黑盒测试是一种测试方法,不关注软件内部结构和实现细节,而是基于功能需求和规格来进行测试。
测试人员将软件视为一个黑盒子,只关注输入和输出之间的关系,以验证软件是否按照需求规格工作。
黑盒测试通常由独立的测试团队完成,他们没有访问软件源代码的权限。
区别1.关注焦点:黑盒测试关注的是软件的功能和用户需求是否得到满足,而不考虑内部代码实现。
2.测试对象:黑盒测试只需了解软件的外部行为即可进行测试,不需要了解实现细节。
3.测试策略:黑盒测试的策略基于需求文档和功能规格,以用户角度出发,以用户预期结果为标准。
应用领域•功能测试:黑盒测试常用于验证软件功能是否按照需求规格正常工作。
•用户验收测试:黑盒测试被用于确认软件交付是否符合用户需求和预期。
•性能测试:黑盒测试可用于评估软件的性能表现,如响应时间、负载能力等。
白盒测试白盒测试是一种测试方法,重点关注软件内部结构和代码逻辑的测试。
测试人员需要了解软件的内部实现细节,以验证代码的正确性和质量。
白盒测试通常由开发人员或有代码访问权限的测试人员完成。
区别1.关注焦点:白盒测试关注的是软件的内部结构和代码逻辑是否符合设计规范。
2.测试对象:白盒测试需要深入了解软件的代码实现,以验证逻辑正确性和代码覆盖率。
3.测试策略:白盒测试基于代码结构和逻辑,以准确性和可靠性为标准,通常需要编写测试用例覆盖不同代码路径。
应用领域•单元测试:白盒测试常用于单元测试阶段,验证每个模块的逻辑正确性。
•集成测试:白盒测试可用于验证多个模块之间的交互和接口的正确性。
•安全测试:白盒测试有利于发现安全漏洞和代码缺陷,提高软件的安全性。
性能测试技术在软件开发过程中的应用

性能测试技术在软件开发过程中的应用近年来,随着软件开发的不断进步和技术的不断革新,性能测试技术越来越受到重视。
性能测试技术指的是在软件开发过程中针对系统的性能进行测试和评估的一种技术,其目的是为了保证系统在面临高并发用户请求、复杂业务场景等情况下,依然能够保持稳定高效的运行状态。
本文将从性能测试技术的实现原理、不同类型的性能测试、性能测试的应用场景以及性能测试技术的优势等方面进行探讨,以期为读者加深对性能测试技术的理解和应用。
一、性能测试技术的实现原理性能测试技术的实现原理主要包括模拟用户、模拟负载和监控分析。
其中,模拟用户指的是利用性能测试工具,模拟多个用户操作软件系统,对系统进行点对点的压力测试;模拟负载则是指在真实的业务环境下,模拟各种运行情况对系统进行压力测试;监控分析则是利用性能测试工具对系统进行实时监测分析,了解系统在运行过程中的瓶颈和优化空间。
二、不同类型的性能测试根据测试的目的和测试的阶段,性能测试可以分为负载测试、压力测试、容量测试、稳定性测试等不同类型。
1、负载测试:对系统最大负载的测试,是衡量系统能力的一项必须测试。
2、压力测试:指在短时间内将系统的负载达到极限,借此来测试系统过载和崩溃的能力。
3、容量测试:通过测试系统各个部分的容量极限,来推断系统整个容量的极限。
4、稳定性测试:测试对系统能够长时间运行而不出现意外崩溃的稳定性。
三、性能测试的应用场景性能测试技术广泛应用在各个领域的软件开发过程中,具体的应用场景有:1、Web应用性能测试:Web应用在信息化时代的普遍运用,性能测试成为Web系统开发中不可避免的环节。
通过正常访问、并发访问等方式来测试Web应用的性能。
2、数据库性能测试:数据库是Web应用程序的基础,所以对于数据库而言,性能测试也是很关键的。
在测试场景中通过模拟多线程的访问,实现对数据库性能的测试。
3、网络流量性能测试:主要应用于网络设备厂商,测试服务器的带宽和在高负载下Altman健康检查系统的性能。
如何评估计算机软件的性能与适用性

如何评估计算机软件的性能与适用性在当今信息时代,计算机软件的应用已经渗透到各个行业和领域。
随着软件的不断发展和演变,用户对软件的性能和适用性要求也越来越高。
因此,如何评估计算机软件的性能和适用性成为了一项重要的任务。
本文将从几个方面介绍如何评估计算机软件的性能与适用性。
第一章软件性能的评估方法评估软件性能的方法有很多,但在实际应用中,一般通过以下几个方面来评估软件的性能:1. 响应时间:即软件从接受用户输入到给出响应所需的时间。
响应时间是衡量软件性能的一个重要指标,用户对软件的要求越高,响应时间应该越短。
2. 并发能力:指软件能同时处理多少个请求。
对于一些需要同时处理大量请求的软件,如电商网站或者社交媒体平台,并发能力是一个重要的指标。
3. 可靠性:指软件能够在预定的时间内正确运行的能力。
可靠性是评估软件性能的重要指标之一,用户对软件的可靠性要求较高。
4. 资源利用率:指软件在运行过程中对硬件资源的利用情况。
对于一些需要高效利用计算资源的软件,如数据分析软件,资源利用率是一个重要的指标。
第二章软件适用性的评估方法除了性能外,软件适用性也是用户关注的重点。
评估软件适用性主要从以下几个方面入手:1. 功能完备性:即软件是否能满足用户的需求。
通过对软件的功能进行全面的评估,判断软件是否具备完备的功能。
2. 用户界面友好性:即软件的操作界面是否简洁、直观、易用。
一个好的用户界面能够提升用户的体验,增加软件的适用性。
3. 兼容性:即软件能否与其他硬件或软件进行良好的兼容。
在评估软件的适用性时,需要考虑软件与其他系统的兼容性。
4. 可维护性:即软件是否易于维护和升级。
一个易于维护的软件能够更好地满足用户的需求。
第三章软件性能与适用性评估的工具与技术为了进行软件性能和适用性的评估,我们需要借助一些工具和技术。
以下是一些常用的工具和技术:1. 性能测试工具:如LoadRunner、JMeter等。
通过模拟真实的用户请求,测试软件在不同负载下的性能表现。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件性能测试应用领域
概括来说,可以将性能测试的应用领域划分为下面五个不同领域:
·能力验证
·规划能力
·性能调优
·瓶颈发现
·性能基准比较
一、能力验证
能力验证是性能测试中最简单也是最常见的一个应用领域。
一个典型的能力验证的问题会采取这样的描述方式:某系统能否在A条件下具有B能力?
能力验证领域的特点与性能测试的特点非常接近:
①要求在已确定的环境下运行
只有在一个确定的环境下运行,软件性能的验证才是有意义的;因为无法或很难根据系统在一个环境中的表现去推断其在另一个不同环境中的表现,因此这种应用领域内的测试必须要求测试环境(如硬件设备、软件环境、网络条件、基础数据等)已确定。
②根据典型业务场景设计测试方案和用例
能力验证需要了解被测系统的典型业务场景,并根据典型场景设计测试方案和用例;一个典型场景包括操作步骤和并发用户量条件,设计用例时,需要确定响应的性能指标。
可靠性测试的内容也可以归入到该应用领域。
因为从用户角度出发,对软件可靠性的保证也是承诺的软件性能的一部分。
在能力验证领域,一般采用的测试方法有:性能测试、可靠性测试、压力测试和失效恢复性测试。
二、规划能力
规划能力领域通常关心的是:如何使系统具有我们要求的性能能力或者某种可能发生的条件下,系统具有如何的性能能力?
它通常会被描述为:某系统能否支持未来一段时间内的用户增长或者应该如何调整,使系统能够满足增长的用户数的需求?
能力规划领域具有以下特点:
①它是一种探索性测试
规划能力领域侧重点是规划。
即该领域不依赖预先设定的用于比较的目标,而要求在测试过程中了解系统本身的能力;这种测试与能力验证领域内的测试最大区别在于其探索性。
②它可被用于了解系统性能以及获得扩展性能的方法
规划能力领域的问题是期望了解系统现在的能力,获得扩展系统性能以应对将来的业务增长的方法。
该领域在测试过程中,除了要通过负载测试等方法获知系统性能表现外,还需要通过
诸如更换设备、调整参数等方法获知系统性能可扩展的元素。
在规划能力领域,一般采用的测试方法有:负载测试、配置测试和压力测试。
三、性能调优
性能调优领域主要对应于系统性能进行调优。
一般来说,性能调优和其他性能测试应用领
域交杂在一起的;性能调优可调整的对象众多,而且在系统应用的各个阶段都可以进行调优。
对于已部署在实际生产环境中的系统应用,对其进行性能调优可能会首先关注应用系统部
署环境的调整,例如:对服务器的调整、对数据库参数以及对应用服务器的参数调整等;
对正在开发中的应用来说,性能调优会更多关注应用逻辑的实现方法、应用中涉及的算法、数据库访问层的设计等因素;此时并不要求是测试还是生产环境,只要整个调优过程中具
有
一个可用于比较的测试基准环境即可。
一个标准的性能调优过程大概如下:
1、确定基准环境,基准负载和基准性能指标
基准负载是指一种可被用来衡量和比较性能调优测试结果的标准(每次执行性能测试时环
境要严格保持一致)的运行环境、测试操作脚本和可被用来衡量调优效果的性能指标。
2、调整系统运行环境和实现方法,执行测试
这是性能调优过程中的核心步骤,目的是通过调整,提高应用系统的性能表现;主要包括
如下三个方面:
①硬件环境的调整
主要对系统运行的硬件环境进行调整,包括改变系统运行的服务器、主机设备环境(改用
具有更高性能的机器,或调整某些服务器的物理内存总量,CPU数量等)、调整网络环境(更换
更快速的网络设备,或采用更高宽带的组网技术)等;
②系统设置的调整
主要对系统运行的基础平台设置进行调整,比如:根据应用需要调整Unix系统的核心参数,调整数据库的内存池大小,调整应用服务器使用的内存大小或采用更高版本的JVM环境等;
③应用级别的调整
主要是对应用本身的调整,包括选用新的架构、采用新的数据访问方式或修改业务逻辑的
实现方式等;
PS:实际性能调优过程中,具体的调整视具体情况而定;而且不要一次调整过多的参数或应用实现方法,否则很难判断具体哪个调整对性能产生了影响(一般3~5处最好)。
3、记录测试结果,进行分析
该步骤和上一步骤构成了一个性能调优循环,循环的出口是“达到预期的性能调优目标”。
性能调优主要使用的测试方法有:配置测试、负载测试、压力测试和失效恢复性测试。
四、瓶颈发现
瓶颈发现应用领域的主要目的是通过性能测试手段来发现系统中存在的缺陷,瓶颈。
经常在工作中遇到这样的问题:应用在测试环境下运行正常,部署到生产用户环境,就会
出现莫名其妙的错误;这些情况并不完全是并发或者性能问题导致,大多数情况下,都是
由于并发时的线程锁、资源竞争或内存问题引起的。
瓶颈发现应用领域一般作为系统测试阶段的一种补充手段;在测试过程中发现并发时的应
用问题,或作为系统维护阶段的问题定位手段,对系统运行过程中出现的问题进行重现和
定位。
该应用领域的主要目的是发现缺陷、瓶颈,并无可参照的性能指标或需要达到的性能目标,因此主要采用并发测试的方法。
五、性能基准比较
性能基准比较通常用于敏捷开发过程中。
敏捷开发:大约兴起于2000年,与传统重量级软件开发方式相比,敏捷开发采纳轻量级
的软件开发过程,更注重“产出可用的软件”,“沟通胜于文档”等概念,使用“拥抱变化”的态度来面对开发中不断的需求变更。
敏捷开发将软件开发过程划分为多个短时间周
期迭代,每个迭代定义了本次迭代需要完成的目标,一个迭代中保持需求的不变以“交付
了迭代目标的可工作软件”作为每个迭代完成的标志。
由于敏捷开发采用“递增”的开发模式,很难再每个迭代周期内定义明确的性能需求。
因此,性能基准比较,就是在不设定目标的情况下,通过每次迭代的比较来得到性能表现的
变化,根据
这些变化决定迭代是否达到了预期的目标。
在实际操作中,可以将性能测试形成固定的脚本,并在固定环境上对模块执行相应的性能
测试,测试结果通过工具直接写入数据库并通过图形展现工具将其展现成折线图,其可以
直观的反应
模块的每个迭代中性能表现的变化,甚至可以作为验收条件的一部分。
另外,在敏捷开发中,设定性能基准比较的不仅仅是模块,还可以在单元测试中为给定的
函数设置性能基准比较。
下表将性能测试的方法和应用领域做了关联,实际执行中可根据需要选用合适的方法:
PS:颜色越深,代表越重要。
总结:性能测试应用领域的划分主要按照性能测试的目的和目标进行划分,不同应用领域的性能测试采用不同的方法;当然,实际的性能测试中,情况往往比这个更复杂,这种情况下,
应该按照具体情况设计测试实施计划,分解拆分,为其设计规划不同的测试方法。