大家好,我是一名测试开发工程师。 今天看一个性能测试的例子。
性能测试是一种软件测试过程,用于测试软件应用程序在特定工作负载下的速度、响应时间、稳定性、可靠性、可伸缩性和资源使用情况。性能测试的主要目的是识别和消除软件应用程序中的性能瓶颈。它是性能工程的一个子集,也被称为“性能测试”。
性能测试的重点是检查软件程序的性能
软件系统所支持的特性和功能并不是唯一的关注点。软件应用程序的性能(如响应时间、可靠性、资源使用和可伸缩性)确实很重要。性能测试的目标不是发现bug,而是消除性能瓶颈。
执行性能测试是为了向涉众提供有关其应用程序的速度、稳定性和可伸缩性的信息。更重要的是,性能测试揭示了在产品推向市场之前需要改进的地方。如果没有性能测试,软件可能会遇到如下问题:当多个用户同时使用它时运行缓慢,不同操作系统之间的不一致,以及糟糕的可用性。
性能测试将确定他们的软件在预期工作负载下是否满足速度、可伸缩性和稳定性要求。由于不存在或糟糕的性能测试而发送到市场的应用程序的性能指标很可能会获得坏名声,并且无法达到预期的销售目标。
此外,像太空发射计划或救生医疗设备这样的关键任务应用程序应该进行性能测试,以确保它们能够长时间运行而不出现偏差。
根据Dunn & Bradstreet的数据,59%的财富500强公司每周估计会有1.6小时的停机时间。考虑到拥有至少1万名员工的财富500强公司平均每小时支付56美元,对于这样的组织来说,停机成本的人工部分每周将达到896,000美元,换算成每年超过4,600万美元。
据估计,谷歌网站(8月19日至13日)宕机5分钟就会给这家搜索巨头造成高达54.5万美元的损失。
据估计,由于最近亚马逊网络服务中断,公司每秒钟损失1100美元的销售额。
因此,性能测试非常重要。
性能测试的类型
大多数性能问题都与速度、响应时间、加载时间和糟糕的可伸缩性有关。速度通常是应用程序最重要的属性之一。运行缓慢的应用程序将失去潜在用户。性能测试可确保应用程序运行速度足够快,以保持用户的注意力和兴趣。看看下面列出的常见性能问题,并注意速度是如何成为其中许多问题的共同因素的:
CPU利用率
内存利用率
网络利用率
操作系统限制
磁盘使用情况
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036
用于性能测试的方法可以有很大的不同,但是性能测试的目标是相同的。它可以帮助演示您的软件系统满足某些预定义的性能标准。或者它可以帮助比较两个软件系统的性能。它还可以帮助识别降低软件系统性能的部分。
步骤1)确定您的测试环境
了解您的物理测试环境、生产环境以及可用的测试工具。在开始测试过程之前,了解测试过程中使用的硬件、软件和网络配置的详细信息。它将帮助测试人员创建更有效的测试。它还将帮助识别测试人员在性能测试过程中可能遇到的挑战。
步骤2)确定性能验收标准
这包括吞吐量、响应时间和资源分配的目标和约束。确定这些目标和约束之外的项目成功标准也是必要的。测试人员应该被授权设置性能标准和目标,因为项目规范通常不包括足够广泛的性能基准。有时可能根本没有。如果可能的话,找到一个类似的应用程序进行比较是设置性能目标的好方法。
步骤3)计划和设计性能测试
确定最终用户之间的使用情况可能如何变化,并确定用于测试所有可能用例的关键场景。有必要模拟各种终端用户,计划性能测试数据并概述将收集哪些指标。
步骤4)配置测试环境
在执行前准备好测试环境。此外,安排工具和其他资源。
步骤5)实施测试设计
根据测试设计创建性能测试。
步骤6)运行测试
执行和监视测试。
步骤7)分析、调优和重新测试
整合、分析和共享测试结果。然后再进行微调和测试,看看性能是否有所改善或下降。由于每次重新测试的改进通常会越来越小,当CPU导致瓶颈时就停止。然后,您可以考虑增加CPU功率。
性能测试期间监测的基本参数包括:
在实际性能测试执行过程中,模糊的术语如可接受范围、重载等被具体的数字所取代。性能工程师根据业务需求和应用程序的技术前景来设置这些数字。
市场上有各种各样的性能测试工具。您选择的测试工具取决于许多因素,如支持的协议类型、许可成本、硬件要求、平台支持等。下面是一些常用的测试工具。
性能测试总是只针对基于客户端-服务器的系统进行。这意味着,任何不是基于客户机-服务器架构的应用程序都不需要性能测试。
例如,Microsoft Calculator既不是基于客户端-服务器的,也不运行多个用户;因此它不是性能测试的候选。
了解性能测试与性能工程的区别具有重要意义。现达成如下共识:
性能测试是一门涉及在各种参数下测试和报告软件应用程序当前性能的学科。
性能工程是为了实现所需性能而对软件进行测试和调优的过程。这个过程旨在优化最重要的应用程序性能特征,即用户体验。
从历史上看,测试和调优是截然不同的领域,而且通常是相互竞争的领域。然而,在过去的几年里,一些测试人员和开发人员已经独立合作创建了调优团队。因为这些团队已经取得了巨大的成功,所以将性能测试与性能调优耦合起来的概念已经流行起来,现在我们称之为性能工程。
在软件工程中,在销售任何软件产品之前,性能测试是必要的。它确保客户满意并保护投资者的投资免受产品失败的影响。性能测试的成本通常可以通过提高客户满意度、忠诚度和保留率来弥补。
今天的分享就到此结束了, 如果文章对你有帮助,记得点赞,收藏,加关注。会不定期分享一些干货哦......