一、性能测试
1、性能测试定义:
性能测试主要是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行的一种测试。
2、性能测试包含三种类型的测试:
负载测试
负载测试是确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统组成部分的相应输入项,例如通过量、响应时间、CPU负载、内存使用等如何决定系统的性能,例如稳定性和响应等。负载测试通常描述一种特定类型的压力测试,即增加用户数量以对应用程序进行压力测试。
压力测试
压力测试通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大的服务级别的测试。通俗地讲,压力测试时为了发现在什么条件下你的应用程序的性能变得不可接受。在压力测试中,可以采取两种不同的压力情况——用户量压力测试或数据量压力测试。进行压力测试主要有希望找到两种错误类型:内存泄露、并发与同步。
疲劳强度测试
通常是采用系统稳定运行情况下能够支持的最大并发用户数或者日常运行用户数,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程。
3、性能测试目的
目的是验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,优化软件,最后起到优化系统的目的。主要包括以下几方面
1)评估系统的能力,测试中得到的负荷和响应时间数据可以被用于验证所计划的模型的能力,并帮助做出决策。
2)识别体系中的弱点:受控的负荷可以被增加到一个极端的水平,并突破它,从而修复体系的瓶颈和薄弱环节。
3)系统调优:重复运行测试,验证调整系统的活动得到了预期的结果,从而改进性能。
检测软件中的问题:长时间的测试执行可导致程序发生由于内存泄露引起的失败,揭示程序中的隐含问题或冲突。
4)验证稳定性可靠性:在一个生产负荷下执行测试一定的时间是评估系统稳定性和可靠性是否满足要求的唯一方法。
4、性能测试阶段
性能测试可以发生在各个测试阶段中,即使在单元层,一个单独模块的性能也可以使用相应的工具进行测试和评估。一般只有当整个系统的所有成分集成到一起之后,才能检查一个系统的真正性能。
二、性能测试步骤
1、制定目标和分析系统
1)指定目标
- 确定客户的需求和期望
- 确定实际业务需求
- 确定系统需求
2)分析系统
- 系统类别
- 系统构成
- 系统功能
2、制定性能测试计划
主要任务是规划性能测试所需要的测试环境、测试软件、相关技术与测试工具的选择,测试的人员组织,测试目标、测试日程等。
3、设计测试用例
4、执行测试用例
5、分析测试结果