软件测试---软件性能测试和可靠性测试

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq1010885678/article/details/37955149 1.软件性能测试的基本概念软件的性能是软件的一种非功能特性,它关注的不是软件是否能够完成特定的功能,而是软件在完成该功能时展示出来的及时性。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq1010885678/article/details/37955149

1.软件性能测试的基本概念


软件的性能是软件的一种非功能特性,它关注的不是软件是否能够完成特定的功能,而是软件在完成该功能时展示出来的及时性。

(1)软件性能的指标

1)响应时间:是指系统对请求作出响应的时间,并且这个时间被人们的接收程度是随着系统的不同而不同的(一个游戏相应3秒无法忍受,一个编译程序编译3分钟也是可以接受的)

2)系统相应时间和应用延迟时间:前面的响应时间主要是指用户感受到的响应时间,其中还可以具体分为系统响应时间和呈现时间,性能测试比较关注系统响应时间

而系统响应时间又可以具体分为网络传输时间和应用延迟时间,性能测试比较关注应用延迟时间

3)吞吐量:吞吐量是指系统在单位时间内处理请求的数量,但是并不是访问人数越多吞吐量越高,因为随着访问人数的增多系统的可分配的资源会减少造成吞吐量下降等

4)并发用户数:是指系统可以同时承载的正常使用系统功能的用户数,与1秒钟几十万吞吐量相比上千用户的并发量是一个更直观但也更笼统的性能指标

5)资源利用率:反映在一段时间内资源平均被占用的情况


(2)软件性能的角度

用户视角:对于用户而言,性能就是响应时间,对于大量的数据,如果一边返回数据一边呈现对于用户而言响应时间也是很快的 

管理员视角:管理员可以通过使用软件提供的管理功能等手段来对系统性能进行优化,但是一般不涉及到源代码的修改

开发人员视角:开发人员的角度和管理员的角度基本是一致的,但是开发人员更需要深入的关注软件的性能


(3)性能测试的目标

发现缺陷

性能调优

能力检验与规划


(4)性能测试的分类

性能测试

并发测试

压力测试

可靠性测试

负载测试

配置测试

失效恢复测试


2.软件性能测试的执行


与功能测试相比,性能测试更复杂,执行难度更大,对测试工具的依赖也更强,更需要过程模型的指导(如:PTGM性能测试通用模型)

PTGM模型主要包括6个步骤:

(1)测试前期准备,通常要求软件已经通过功能测试并修正了缺陷

(2)引入测试工具

(3)指定测试计划,需要明确性能测试的目标

(4)测试设计和开发,准备好软件运行的软硬件环境,用户并发使用软件的测试场景,每个用户具体如何使用该软件

(5)测试执行和管理

(6)测试结果分析


SEI负载测试计划过程:

测试负载主要考虑一下六个方面

(1)目标,指的是商业目标而不是技术目标,明确软件达到什么样的负载能力才能满足项目的商业目标

(2)用户,是指可能产生负载或使用资源的人和软件过程

(3)用例,是指用户对软件的不同使用方式

(4)使用环境,软件在实际交付的运行环境中

(5)测试环境,在测试中的环境

(6)使用场景


LoadRunner的性能测试过程:

这是一个针对LoadRunner工具进行设计的测试过程,总体上是满足PTGM的

(1)指定测试计划

(2)设计测试用例

(3)设计测试脚本(将测试用例转换成可以执行的测试脚本)

(4)创建测试环境(测试脚本运行的测试环境)

(5)运行测试脚本

(6)分析测试结果



3.性能分析


(1)性能下降曲线的分析

主要包括三个区间:性能平坦区,性能轻微下降区,性能急剧下降区

(2)快速性能瓶颈识别:优先考虑吞吐量,优先考虑简单的测试用例,优先考虑基础系统的性能

(3)性能计数器的分析:内存,处理器,I/O磁盘,进程等分析


4.性能测试的自动化


包括创建进程或者线程来模拟用户产生压力

对性能进行监控

对结果进行分析

依赖一些性能测试工具



5.软件可靠性的概念


(1)错误,缺陷,故障和失效

错误:指的是软件在生命周期中各个阶段的状态和行为与人们的期待不一致的偏差,不单单是软件系统本身,中间产品的偏差也算是软件错误

缺陷:指的是软件中一切不好的方面,比错误的范围更广,如,一个不易理解的软件不是错误的,但是可以归为缺陷

故障:是指软件代码中的错误

失效:是指由故障引起的在软件运行期间的错误


(2)软件可靠性的定义

在规定的条件下,在规定的时间内,软件不引起系统失效的概率

在规定的时间周期内,在所述条件下程序执行所要求的功能的能力


6.软件可靠性测试的执行


软件可靠性测试的目的是收集软件测试时揭示的软件故障的情况,并对其进行整理

主要包括5个步骤:

(1)确定可靠性目标

(2)定义软件运行剖面

(3)设计测试用例

(4)实行可靠性测试

(5)分析测试结果


7.软件可靠性分析


(1)失效模式影响分析

(2)严酷度分析

(3)故障树分析

(4)事件树分析

(5)潜在路线分析

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
3天前
|
测试技术
探索软件测试中的“思维侧翼”——如何以创新思维引领测试策略###
本文旨在探讨软件测试领域中,如何通过培养与运用创新思维,提升测试策略的有效性与效率。不同于传统的技术解析或理论阐述,本文将以“思维侧翼”为喻,启发读者从不同维度审视软件测试,寻找突破常规的思路与方法。我们相信,在快速迭代的软件开发周期中,灵活多变且富有创造力的测试思维,是发现潜在缺陷、保障产品质量的关键。 ###
|
4天前
|
测试技术 定位技术 UED
软件测试的艺术:探索性测试的深度与广度
【10月更文挑战第22天】在软件开发的广阔舞台上,测试扮演着不可或缺的角色。本文将带领读者深入理解探索性测试(Exploratory Testing)的精髓,揭示其在现代软件质量保证中的价值。我们将通过实际案例、生动比喻和具体步骤,展现如何像艺术家一样进行软件测试,确保产品质量的同时,提升测试的效率和乐趣。文章不仅适合初学者建立测试基础,也能帮助资深测试人员深化对探索性测试的理解和应用。
|
2天前
|
监控 安全 jenkins
探索软件测试的奥秘:自动化测试框架的搭建与实践
【10月更文挑战第24天】在软件开发的海洋里,测试是确保航行安全的灯塔。本文将带领读者揭开软件测试的神秘面纱,深入探讨如何从零开始搭建一个自动化测试框架,并配以代码示例。我们将一起航行在自动化测试的浪潮之上,体验从理论到实践的转变,最终达到提高测试效率和质量的彼岸。
|
5天前
|
敏捷开发 监控 jenkins
自动化测试之美:打造高效的软件质量保障体系
【10月更文挑战第20天】在软件开发的海洋中,自动化测试如同一艘精准的导航船,引领项目避开错误的礁石,驶向质量的彼岸。本文将扬帆起航,探索如何构建和实施一个高效的自动化测试体系,确保软件产品的稳定性和可靠性。我们将从测试策略的制定、工具的选择、脚本的编写,到持续集成的实施,一步步描绘出自动化测试的蓝图,让读者能够掌握这一技术的关键要素,并在自己的项目中加以应用。
17 5
|
5天前
|
Java 测试技术 持续交付
探索自动化测试的奥秘:提升软件质量的关键
【10月更文挑战第20天】 在当今快速发展的软件行业中,自动化测试已成为确保产品质量和加速开发周期的重要工具。本文将深入探讨自动化测试的核心概念、实施策略及其对软件开发生命周期的影响,旨在为读者提供一种全面理解自动化测试的视角,并展示如何有效地将其应用于实际项目中以提高软件质量和效率。
13 2
|
25天前
|
测试技术 持续交付 Apache
Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
【10月更文挑战第1天】Python性能测试新风尚:JMeter遇上Locust,性能分析不再难🧐
87 3
|
2月前
|
测试技术 数据库 UED
Python 性能测试进阶之路:JMeter 与 Locust 的强强联合,解锁性能极限
【9月更文挑战第9天】在数字化时代,确保软件系统在高并发场景下的稳定性至关重要。Python 为此提供了丰富的性能测试工具,如 JMeter 和 Locust。JMeter 可模拟复杂请求场景,而 Locust 则能更灵活地模拟真实用户行为。结合两者优势,可全面评估系统性能并优化瓶颈。例如,在电商网站促销期间,通过 JMeter 模拟大量登录请求并用 Locust 模拟用户浏览和购物行为,可有效识别并解决性能问题,从而提升系统稳定性和用户体验。这种组合为性能测试开辟了新道路,助力应对复杂挑战。
93 2
|
3月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【8月更文挑战第5天】性能测试确保应用高负载下稳定运行。Apache JMeter与Locust是两大利器,助力识别解决性能瓶颈。本文介绍这两款工具的应用与优化技巧,并通过实战示例展示性能测试流程。首先,通过JMeter测试静态与动态资源;接着,利用Locust的Python脚本模拟HTTP请求。文中提供安装指南、命令行运行示例与性能优化建议,帮助读者掌握性能测试核心技能。
117 0
|
25天前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【10月更文挑战第1天】告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
53 4
|
2月前
|
缓存 Java 测试技术
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
使用JMeter对项目各个接口进行压力测试,并对前端进行动静分离优化,优化三级分类查询接口的性能
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存