软件测试培训之性能测试应用领域分析

网友投稿 814 2022-11-05

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

软件测试培训之性能测试应用领域分析

1、能力验证

能力验证领域的特点与性能测试的特点非常接近:

(1)要求在已确定的环境下运行。

只有在一个确定的运行环境下,软件性能的承诺和规划才是有意义的。

(2)需要根据典型场景设计测试方案和用例。

能力验证需要了解被测系统的典型场景,并根据典型场景设计测试方案和用例。一个典型场景包括操作序号和并发用户数量条件。在设计用例时,需要确定相应的性能目标。

能力验证一般采用性能测试方法,一般包括性能测试、可靠性测试、压力测试和失效恢复测试方法。

2、规划能力

规划能力应用领域与能力验证应用领域有些不同,能力验证应用领域关心的是“在给定条件下,系统能否具有预期的能力表现”,而规划能力应用领域关心的是“应该如何使系统具有我们要求的性能能力”或是“在某种可能发生的条件下,系统具有如何的性能能力”。规划性能应用领域内的问题常常会被描述为:“某系统能否支持未来一段时间的用户增长”或是“应该如何调整系统配置,使系统能够满足增长的用户数的需要”

规划能力的特点:

(1)它是一种探索性的测试

(2)它可用于了解系统的性能以及获得拓展性能的方法。

用于规划能力领域的问题,常用的测试方法包括负载测试、配置测试和压力测试方法。

3、性能调优

一个标准的性能调优过程的描述如下:

1)确定基准环境,基准负载和基准性能指标。

注意⚠️:实际的性能调优过程中常见的错误包括以下几种:

(1)没有保证每次执行时的数据库具有相同的数据环境。

(2)对于某些建立在J2EE或dotNet应用服务器上的应用,在应用服务器需要重启时,没有在测试之前首先进行一段时间“预热”。

2)调整系统运行环境和实现方法,执行测试。

这是性能调优的核心步骤。性能调优的目的是通过调整,提高应用系统的性能表现,对于一个应用系统来说,这种调整包括一下3个方面。

1⃣️硬件环境的调整:主要是对系统运行的硬件环境进行调整,包括改变系统运行的服务、主机设备环境(改用具有更高性能的机器,或者调整某些服务的物理内存总量,CPU数量等)、调整网络环境(更换快速的网络设备,或是采用更高带宽的组网技术)等。

2⃣️系统设置的调整:主要是对系统运行的基础平台设置进行调整,例如,根据根据应用需要调整UNIX系用的核心参数,调整数据库的内存迟大小,调整应用服务使用的内存大小,或是采用更高版本的JVM环境等。

3⃣️应用服务级别的调整:主要是对应用实现本身进行调整,包括选用新的架构、采用新的数据访问方式或修改业务逻辑实现方式等。

注意⚠️:实际生产环境上的部署完成的系统,调优的重点可能会放在硬件环境和系统设置上,以达到投入/产出比;但对于开发中的的应用,通过硬件环境和系统设置仍达不到用户要求已部署系统,还需要再应用级别上进行调整。

3)记录测试结果,进行分析

性能调优使用主要测试方法包括配置测试、负载测试、压力测试和失效恢复测试。

前端性能测试在使用上类似于性能调优的步骤,具体如下:

(1)通过前端性能统计数据或工具发现前端性能的问题

(2)根据问题进行前端性能的调整(通过修改前端实现方式,页面代码达成)

(3)验证前端性能是否达到预期的要求。

4、缺陷发现

缺陷发现性能测试应用领域的主要目的是通过性能测试的手段来发现系统中存在的缺陷。为了解决“应用在测试环境下非常正常,但是一旦交付给用护,就出现大量莫名其妙的错误”的一类错误。

如果测试环境正常,生产环境出现应用挂死,多人访问时速度时快时慢,多人访问时应用崩溃几率增大等问题,则基本上市由于并发时的线程锁,资源竞争或内存问题引起的。

该应用领域主要目的是发现缺陷,并没有可以参照的性能指标或是需要达到的性能目标。因此需要采用并发测试的方法。还需要关注压力及失效恢复过程中出现的问题,则可以采用压力测试和失效恢复测试方法。

5、性能基准比较

性能基准比较通常应用在敏捷开发过程中。敏捷软件开发采用“递增”的开发方式,由于很难在一开始就为每个迭代定于明确的性能需求,因此,在每个迭代中对应用进行性能检查,以保证应用的性能不会随着迭代的不断发生而变化是非常好的实践。

在实际操作中,可以将性能测试形成固定的脚本,并在固定的环境上对模块执行相应的性能测试,测试结果通过工具直接写入数据库并通过图形展现工具将其展现成折线图,其中可以直观的反映模块每个迭代中性能表现的变化,甚至可以做为验收条件的一部分。

另一方面,在敏捷软件开发过程中,用于设立性能基准比较的不仅仅是模块,还可以在单元测试中为给懂的函数设置性能基准比较

上一篇:一文读懂"监控"与"可观测性"的区别
下一篇:软件测试培训之选择服务性能测试脚本使用的协议
相关文章

 发表评论

暂时没有评论,来抢沙发吧~