性能测试是一类测试,它们被实施和执行来描述及评估测试目标的与性能相关的特征,例如时间安排概要文件、执行流程、响应时间以及操作可靠性及限制。整个软件开发生命周期(SDLC)中会实施不同类型的性能测试(每种类型专注于不同的测试目标)。
在体系结构迭代的早期,性能测试专注于找出并消除与体系结构相关的性能瓶颈。在构造迭代中,会实施和执行补充类型的性能测试,以细调软件和环境(优化响应时间和资源),并验证应用程序和系统是否可以令人满意地处理高负载和高强度的情况,例如大量事务、客户端和/或数据。
“性能测试”中包含以下类型的测试:
-
基准测试:将新的或未知的测试目标的性能与已知的参考标准(例如现有的软件或评测标准)相比较。
-
争用测试:验证测试目标是否能够以可接受的方式处理多个参与者对同一资源(数据记录、内存等)的需求。
-
性能概要分析:验证在操作条件保持不变的情况下,测试目标在使用不同配置时其性能行为的可接受程度。
-
负载测试:验证在保持配置不变的情况下,测试目标在不同操作条件(如不同用户数、事务数等)下其性能行为的可接受程度。
-
强度测试:验证测试目标在异常或极端条件(如资源减少或用户数过多)之下其性能行为的可接受程度。
性能评估通常与用户代表一起协作并且以多级别方法执行的。
-
第一级的性能分析涉及评估单个参与者或用例实例的结果以及在几个测试执行之间比较结果;例如,捕获单个参与者执行单个用例(测试目标上无任何其他活动)的性能行为,然后将这些结果与同一参与者或用例的几个其他测试执行相比较。这个第一级的分析可以帮助确定可指出系统资源间争用的趋势,这可能会影响从其他性能测试结果中得出的结论的有效性。
-
第二级的分析检查特定参与者或用例执行的摘要统计和实际数据值以及测试目标的性能行为。摘要统计包括响应时间的标准偏差和百分点分发,它们指出参与者个人所看到的、系统响应中的可变性。
-
第三级的分析可帮助了解性能问题的原因和意义。该详细分析调取低级别的数据,然后使用统计方法帮助测试员从该数据中得出正确的结论。详细分析为作出决策提供目标和数量标准,但是它更加耗时并且要求对统计有基本的了解。
详细分析使用统计意义这一概念来帮助了解在什么时候性能行为中的差异真实存在或者是由于与收集测试数据相关的某些随机事件而造成的。这个观念就是基本上任何事件都有随机性。统计测试确定是否存在无法以随机事件解释的系统性差异。
关于不同的性能测试报告的更多信息,请参阅技术:测试的关键评估。
|