对于 DevOps 来说,跟踪软件生命周期性能指标(如响应时间、吞吐量、每秒事务数、错误率等)至关重要。这些参数很复杂,直接影响最终用户体验。有效的性能测试有助于 DevOps 团队跟踪质量指标并及早发现缺陷。它还通过跟踪风险容忍度、用户数量、并发请求、流量峰值以及其他可能导致崩溃的因素来帮助团队完善软件。
性能,在某种程度上,是与功能质量完全不同的质量衡量标准。如果软件的功能方面出现问题,它通常会很快显现出来——一旦有缺陷的产品发布,马上就可以发现错误并使用反馈来纠正问题。但是,性能问题、瓶颈和稳定性缺陷可能会在数周或数月内被忽视,直到下一个年度峰值或直到数据增长到一定水平才会被发现,这时候的损失往往是巨大的。但如果提前进行软件性能测试,开发人员的就可以提前找出软件的性能症状和问题。以下这些都是很常见的症状和问题:
性能测试对于确保客户期望的软件稳定性、可扩展性和可靠性至关重要。在制定全面的性能测试策略之前,要先了解性能测试类型。一般来说,分为以下几大类:
负载测试:是通过逐渐增加系统的负载,测试系统性能的变化,并最终确定在满足系统性能指标的情况下,系统所能承受的最大负载量的测试。简而言之,负载测试时通过逐步加压的方式来确定系统的处理能力和能够承受的各项阈值。
压力测试:是通过逐步增加系统的负载,测试系统性能的变化,并最终确定在什么负载条件下,系统性能处于失效状态,并获得系统能提供的最大服务级别的测试。压力测试是逐步增加负载,使系统某些资源达到饱和甚至失效。
配置测试:主要是通过对被测试软件的软硬件配置进行测试,找到系统各项资源的最优分配原则。配置测试能充分利用有限的软硬件资源,发挥系统的最佳处理能力,同时可以将其与其他性能测试类型联合应用,从而为系统提供重要依据。
并发测试:测试多个用户同时访问同一个应用、同一个模块或者数据记录时是否存在死锁或者其他性能问题,几乎所有的性能测试都会涉及一些并发测试。
容量测试:在一定的软、硬件条件下,在数据库中构造不同数量级的记录数量,通过运行一种或多种业务场景在一定虚拟用户数量的情况下,获取不同数量级别的性能指标,从而得到数据库能够处理的最大会话能力、最大容量等。系统可处理同时在线的最大用户数,通常和数据库有关。
可靠性测试:通过给系统加载一定的业务压力(如CPU资源在70%~90%的使用率)的情况下,运行一段时间,检查系统是否稳定,因为运行时间较长,通常可以测试出系统是否有内存泄漏等问题。
失败测试:对于有冗余备份和负载均衡的系统,通过失败测试来检验如果系统局部发生故障,用户能否继续使用系统,用户受到多大的影响,如几台机器做均衡负载,一台或几台机器垮掉后系统能够承受的压力。
在 DevOps 中,软件开发生命周期中的所有关键步骤都是自动化的,包括测试,性能测试自然也不例外。
在选择 DevOps 性能测试平台时,无论是开源工具还是商业工具,除了它本身的功能之外,这些因素都必须要考虑到:
对于 DevOps 实施团队来说,选择一个集成性能测试的开发平台,可以省去许多不必要的麻烦。以飞算SoFlu软件机器人为例,它将开发、测试、运维三大流程全部打通,并且自动化执行,无需考虑与第三方平台的集成成本,而且由于平台使用可视化开发,简单易上手,人力资源投入大幅减少,开发效率快速提升。
目前,飞算SoFlu软件机器人正在不断更新和优化中。值得一提的是,在性能测试方面,飞算SoFlu软件机器人全自动测试平台新增了并发数自动分配功能。在性能测试计划导入测试用例之后,可以自定义将并发数量分配到哪台资源的服务器上执行,不仅可以合理利用资源,同时还能测试其他资源的情况,执行报告和性能结果会整合在测试报告中一并查看。
关于飞算SoFlu软件机器人的更多信息,可以点击链接:https://www.feisuanyz.com/
|