关于测试:干货|一次完整的性能测试测试人员需要做什么

47次阅读

共计 5106 个字符,预计需要花费 13 分钟才能阅读完成。

作者介绍

邓宝菊(Kiki Deng),10 年软件测试教训,4 年团队治理教训,以后任职研发部架构品质工程部,整体负责研发部测试团队的效力、工具流程建设和人才培养。

前言

一、标准性能测试施行流程的意义

标准的性能测试施行流程可能增强测试工作流程管制,明确性能测试各阶段应实现的工作,领导测试人员正确、有序的发展性能测试工作,进步各角色在性能能测试中的工作效率。本次分享的性能测试施行流程是性能测试发展的”指导方针”,心愿帮忙您能够早日成为性能测试”达人”。

二、性能测试施行流程

性能测试流程分为五个阶段,别离是【需要调研阶段】→【测试筹备阶段】→【测试执行阶段】→【测试报告阶段】→【测试总结阶段】。

每个阶段做什么事件?重点关注什么?

1. 需要调研阶段

注释

1.1. 阶段概述

调研阶段的次要工作为:组建工作小组、我的项目创立、需要剖析、模型构建、定制性能测试具体施行打算。

重点关注:需要调研、须要剖析、模型构建

1.2. 关键点形容

需要调研分为两个步骤进行:需要调研、需要剖析。

该工作是性能测试 必须的工作环节。工作产出文件为《XX 我的项目性能测试需要表》,如:《云智慧 \_XXX 零碎 \_XXX 模块性能测试需要表》。

此阶段模型构建次要是业务模型构建。

1.2.1 需要调研

Ø 需要调研工作由性能测试施行人员牵头负责,产品经理、开发工程师、运维工程师配合实现;

Ø 需要调研的次要内容为:

n 零碎线上环境的性能需求,例如性能需求、可靠性需要、可维护性需要等;

n 与零碎性能需求相干的其它信息,包含零碎信息(如线上环境硬件、参数配置、零碎架构与部署形式、关联系统部署等)、业务信息(要害业务逻辑与解决流程、交易列表、交易量信息、业务散布法则等)、生产问题、文档资料等方面,并对收集到的信息进行汇总整顿,实现看待测系统业务与技术的整体理解;

Ø 开发项目组、需要部门、运维部门等测试工作提出方应填写《云智慧 \_XXX 零碎 \_XXX 模块性能测试需要表》中的“工作信息”和“测试背景”等信息,提出的测试需要, 简略文字不能阐明的,可附加文件;

Ø 性能测试小组的施行人员将调研获取的其它内容填入《云智慧 \_XXX 零碎 \_XXX 模块性能测试需要表》;

Ø 对于新立项零碎或零碎新开发版本,《云智慧 \_XXX 零碎 \_XXX 模块性能测试需要表》应与《需要规格说明书》中的性能需求相一致。

1.2.2 需要剖析

Ø 需要剖析的根本流程是:

n 首先,由性能测试工程师依据需要调研所获取的信息进行剖析,将《云智慧 \_XXX 零碎 \_XXX 模块性能测试需要表》中的性能需求转换为具体的性能 需要指标值

n 其次,依据测试环境与线上环境的差别剖析,由性能测试工程师将线上环境条件下的性能需求指标值转换为本次测试环境条件下的性能 需要指标值

例如:TPS(Transaction per Second):零碎每秒解决交易数,推导过程如下,

当火线上 APP1.0 试用零碎次要为查问类交易,交易占比 40%,零碎生产交易量统计为 1 个月约 20W 笔,假如 APP2.0 零碎上线后业务量激增到每日查问类 20W,则每日总交易量 T 达到:

T = 20W/40%=500000 笔 / 日

零碎解决能力 TPS 推导:APP2.0 上线后交易量最大 500000 笔 / 日, 零碎晚间简直无交易量,按 2:8 准则推算, 则(500000*80%)/(8*20%*3600)=69.4 笔 / 秒,取整为 70 笔 / 秒,每年按业务量增长 50% 计算,则一年后零碎解决能力指标约等于 70+70*50%=105 笔 / 秒。

稳定性交易量推导: 取零碎解决能力的 60%_时长 =105 笔 / 秒 *60%*8_3600=1814400 笔。

通过剖析后汇总成测试指标值

Ø 需要剖析其次要内容和规范性要求如下:

n 性能测试需要:应精确形容性能测试指标项及需要指标值。

n 零碎范畴:应精确形容性能测试需要指标值所依靠的测试范畴信息,如应形容测试范畴的关联系统逻辑示意图,及各关联系统的信息;在对系统部分环节进行测试时,也需说明具体测试范畴,详细描述被测系统的相干子系统。

n 环境差别剖析:应精确形容性能测试需要指标值所依靠的测试环境信息,如须形容测试环境的总体网络拓扑结构图、测试环境机器配置表(数量、型号、资源、操作系统)、以及相应的软件配置、重要参数配置等。同时应精确形容线上环境的上述信息,并进行具体的环境差异性剖析。

以上剖析内容将作为性能测试计划的重要组成部分。

1.2.3 模型构建例如:业务模型

依据 200X 年 XX 月 XX 日~200X 年 XX 月 XX 日期间的业务顶峰日 200X 年 XX 月 XX 日的业务量统计,通过稍微调整得出以下业务模型,要求业务模型交易至多占线上交易量的 90% 以上:

2. 测试筹备阶段

2.1 阶段概述

测试筹备阶段是性能测试工作中 重要阶段。在筹备阶段,须要实现业务模型到测试模型的构建、性能测试实施方案编写、测试环境的筹备、性能测试案例设计、性能测试监控方案设计、性能测试脚本,及相干测试数据的筹备,并在上述相干筹备流动完结后依照测试计划进行准入查看。

重点关注:测试模型构建、方案设计、案例设计、数据筹备等

2.2 关键点形容

2.2.1 测试模型构建

测试模型构建工作由性能测试施行人员实现;

在需要剖析的根底上,对调研收集到的相干材料与信息进行剖析梳理,重点剖析跨零碎的交易门路、交易关联关系、数据的解决与流转、业务量、交易比例、典型交易,以及零碎的解决能力等性能测试点,针对性地确定多个业务场景,并为每个场景抉择一套具体的业务交易集,依照业务量比例构建相应的测试模型。

本阶段的产出物为,各个测试场景,以及场景中典型交易及所占比率。

例如:从业务模型到测试模型推导

根据业务模型,通过与项目组及产品经理沟通,确定本次测试模型还需着重思考以下内容:

(1)思考到前期证券零碎数据库降级,历史查问可能会影响,所以本次测试独自减少一个场景:历史委托和历史成交查问各 50%(即 0456 和 0457)。同时,思考到线上环境绝大部分该交易是由总核心前置发动,所以本次测试“历史委托和历史成交查问”交易均采纳从总核心发动;

(2)减少国债发行交易场景,国债发行认购日个别在柜台营业前进行,此场景只抉择国债发行认购一支交易;

(3)同时,证券零碎交易顶峰时段柜员签到、柜员签退交易占比拟小。

通过以上剖析得出本次测试模型有 3 个:个别交易日日间模型、国债发行日模型、以及历史查问交易模型。

个别交易日日间模型:

储蓄国债交易模型:

历史查问交易模型:

2.2.2 方案设计

性能测试实施方案编制是性能测试工作中必须的工作环节,其产出为《性能测试计划》,如:《云智慧 \_XXX 我的项目 \_XXX 功能模块_性能能测试计划 V1.0.xlsb》。

在计划中须要形容:测试需要、启停准则、测试模型设计、测试策略、测试内容、测试环境与工具需要,以及各个阶段的输入文档。在计划中还需阐明性能测试工作的工夫打算安顿、预期的危险与危险躲避办法等。测试模型设计内容来自本阶段测试模型设计中造成的测试场景,以及场景中典型交易及所占比率。

2.2.3 案例设计

在案例设计中,包含案例的形容、测试环境形容(硬件、软件、利用版本、测试数据)、提早设置、压力场景、执行形容、预期后果、监控要点。

案例设计是性能测试工作的必须工作环节,案例设计的产出文件是《性能测试案例》。

2.2.4 数据筹备

环境筹备工作中波及到根底数据的筹备。测试数据的数量、逻辑关系要求非常严格,测试根底数据的筹备个别采纳自造模仿数据或者应用脱敏后的线上数据。

2.2.5 测试脚本开发

测试脚本开发工作就是施展 LR 的时候。

测试脚本是对业务操作的程序化体现,一个脚本个别为一项业务的过程形容。本流动次要为脚本的录制(编写)、批改和调试工作,从而保障在测试施行之前每个测试用例的脚本都可能在单笔和大量迭代次数的条件下可能正确执行。测试脚本开发的个别步骤如下:

Ø 通过录制,或者编写,实现脚本代码生成。代码生成时,次要依据需要插入事务,作为测试过程中统计交易响应工夫的单位;

Ø 依据测试需要,进行参数化设置;

Ø 设定检查点,依据报文内容字段判断交易是否正确执行,即检查点的设置在利用层面;

Ø 依据测试要求确定是否设置集合点;

3.测试执行阶段

3.1 阶段概述

测试执行阶段是执行测试案例,取得零碎解决能力指标数据,发现性能测试缺点的阶段。测试执行期间,借助测试工具执行测试场景或测试脚本,同时配合各类监控工具。执行完结后对立收集各种后果数据进行剖析。依据须要,执行阶段可进行零碎的调优和回归测试。

重点关注:后果记录、测试监控、后果剖析

3.2 关键点形容

3.2.1 测试执行与后果记录

测试执行过程有相应的优先级策略,根据测试案例的优先级别,优先执行级别较高的测试案例。测试过程中,通过对每个测试后果的剖析来决定是反复执行以后案例还是执行新的测试案例;通常发现瓶颈问题会立刻进行调整并从新执行测试用例,直到以后的案例通过。

在执行阶段,测试的执行、剖析调优、回归测试工作较为重复,须认真记录全副执行过程和执行后果,执行后果数据是剖析瓶颈的次要根据。

3.2.2 测试监控

测试的监控工作与执行工作同步进行,场景或脚本开始执行时,同时启动监控程序(能够用 nmon 或者系统命令 top/vmstat/iostat 等),当然也能够用云智慧的监控宝和透视宝协同工作,监控宝能够监控网站/网页性能/Ping/DNS/FTP/UDP/TCP/SMTP 等 IT 基础设施的性能指标,透视宝能够发现主机资源、Web 利用、浏览器、APP 等利用的性能瓶颈,如下图所示:

监控宝监控页面

透视宝主机资源监控页面

在执行完结后,进行测试监控,并提取监控后果数据。

3.2.3 测试后果剖析

测试过程中依据前端性能测试工具显示后果、监控后果综合剖析呈现的测试问题。

例如:

测试组在执行“个别日日间交易模型”负载测试 570TPS 压力时,数据库监控发现有死锁设想,具体如下:

问题剖析:经与开发一起剖析,起因如下:流控信息收集程序(pltflowGthDaemon)在同一柜员、在毫秒级并发做交易时 plt_flowgather 表呈现死锁。测试环境联机交易应用同一个柜员号发动,因而呈现概率较高。

4. 测试报告阶段

4.1 阶段概述

测试执行工作完结后开始撰写性能测试报告。性能测试报告在公布前须要进行评审。

4.2 关键点形容

4.2.1 报告撰写

性能测试报告要内容包含:测试目标、范畴及办法、环境形容、测试后果形容、后果剖析、论断和倡议等。

4.2.2 测试后果形容

测试后果的形容,应体现性能测试的执行过程,如:混合场景的容量测试后果展现中,须要形容各个并发梯度下测试后果及监控后果;在数字模式的后果记录中,要求小数点后准确 3 位有效数字。

4.2.3 测试缺点与问题

在性能测试剖析报告中须形容测试过程发现的缺点与问题,对于确认是测试缺点的项进行危险评估,并给出危险提醒。

4.2.4 最终后果剖析

测试最终后果的剖析,该局部内容应该全面、透彻、易了解且通过图表形式表白更直观。

例如:

4.2.5 测试论断

测试论断是性能测试剖析报告必须包含的内容。测试的论断须清晰、精确答复性能测试需要中形容的各项指标,需全面笼罩测试需要。

5. 测试总结阶段

5.1 阶段概述

性能测试的总结工作,次要对该工作的测试过程和测试技术进行总结。性能测试工作进入总结阶段,也意味着性能测试工作邻近完结。在这个阶段,工夫容许的状况下应将所有的重要测试资产进行归档保留。

写在最初

近年来,在 AIOps 畛域疾速倒退的背景下,IT 工具、平台能力、解决方案、AI 场景及可用数据集的迫切需要在各行业爆发。基于此,云智慧在 2021 年 8 月公布了 AIOps 社区,旨在树起一面开源旗号,为各行业客户、用户、研究者和开发者们构建沉闷的用户及开发者社区,独特奉献及解决行业难题、促成该畛域技术倒退。

社区先后 开源 了数据可视化编排平台 -FlyFish、运维治理平台 OMP、云服务治理平台 - 摩尔平台、Hours 算法等产品。

可视化编排平台 -FlyFish:

我的项目介绍:https://www.cloudwise.ai/flyFish.html

Github 地址:https://github.com/CloudWise-OpenSource/FlyFish

Gitee 地址:https://gitee.com/CloudWise/fly-fish

行业案例:https://www.bilibili.com/video/BV1z44y1n77Y/

局部大屏案例:

您能够增加小助手(xiaoyuerwie)备注:飞鱼。退出开发者交换群,可与业内大咖进行 1V1 交换!

也可通过小助手获取云智慧 AIOps 资讯,理解 FlyFish 最新进展!

正文完
 0