网络
虚拟私有云 VPC
弹性公网IP EIP
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
虚拟专用网络 VPN
云连接 CC
VPC终端节点 VPCEP
企业路由器 ER
企业交换机 ESW
全球加速 GA
企业连接 EC
云原生应用网络 ANC
安全与合规
安全技术与应用
Web应用防火墙 WAF
企业主机安全 HSS
云防火墙 CFW
安全云脑 SecMaster
DDoS防护 AAD
数据加密服务 DEW
数据库安全服务 DBSS
云堡垒机 CBH
数据安全中心 DSC
云证书管理服务 CCM
威胁检测服务 MTD
态势感知 SA
认证测试中心 CTC
边缘安全 EdgeSec
应用中间件
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
分布式消息服务RocketMQ版
API网关 APIG
分布式缓存服务 DCS
多活高可用服务 MAS
事件网格 EG
管理与监管
统一身份认证服务 IAM
消息通知服务 SMN
云监控服务 CES
应用运维管理 AOM
应用性能管理 APM
云日志服务 LTS
云审计服务 CTS
标签管理服务 TMS
配置审计 Config
应用身份管理服务 OneAccess
资源访问管理 RAM
组织 Organizations
资源编排服务 RFS
优化顾问 OA
IAM 身份中心
云运维中心 COC
资源治理中心 RGC
解决方案
高性能计算 HPC
SAP
混合云灾备
开天工业工作台 MIW
Haydn解决方案工厂
数字化诊断治理专家服务
云生态
云商店
合作伙伴中心
华为云开发者学堂
华为云慧通差旅
开发与运维
软件开发生产线 CodeArts
需求管理 CodeArts Req
流水线 CodeArts Pipeline
代码检查 CodeArts Check
编译构建 CodeArts Build
部署 CodeArts Deploy
测试计划 CodeArts TestPlan
制品仓库 CodeArts Artifact
移动应用测试 MobileAPPTest
CodeArts IDE Online
开源镜像站 Mirrors
性能测试 CodeArts PerfTest
应用管理与运维平台 ServiceStage
云应用引擎 CAE
开源治理服务 CodeArts Governance
华为云Astro轻应用
CodeArts IDE
Astro工作流 AstroFlow
代码托管 CodeArts Repo
漏洞管理服务 CodeArts Inspector
联接 CodeArtsLink
软件建模 CodeArts Modeling
Astro企业应用 AstroPro
CodeArts盘古助手
华为云Astro大屏应用
计算
弹性云服务器 ECS
Flexus云服务
裸金属服务器 BMS
云手机服务器 CPH
专属主机 DeH
弹性伸缩 AS
镜像服务 IMS
函数工作流 FunctionGraph
云耀云服务器(旧版)
VR云渲游平台 CVR
Huawei Cloud EulerOS
云化数据中心 CloudDC
网络
虚拟私有云 VPC
弹性公网IP EIP
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
虚拟专用网络 VPN
云连接 CC
VPC终端节点 VPCEP
企业路由器 ER
企业交换机 ESW
全球加速 GA
企业连接 EC
云原生应用网络 ANC
CDN与智能边缘
内容分发网络 CDN
智能边缘云 IEC
智能边缘平台 IEF
CloudPond云服务
安全与合规
安全技术与应用
Web应用防火墙 WAF
企业主机安全 HSS
云防火墙 CFW
安全云脑 SecMaster
DDoS防护 AAD
数据加密服务 DEW
数据库安全服务 DBSS
云堡垒机 CBH
数据安全中心 DSC
云证书管理服务 CCM
威胁检测服务 MTD
态势感知 SA
认证测试中心 CTC
边缘安全 EdgeSec
大数据
MapReduce服务 MRS
数据湖探索 DLI
表格存储服务 CloudTable
可信智能计算服务 TICS
推荐系统 RES
云搜索服务 CSS
数据可视化 DLV
数据接入服务 DIS
数据仓库服务 GaussDB(DWS)
数据治理中心 DataArts Studio
湖仓构建 LakeFormation
智能数据洞察 DataArts Insight
应用中间件
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
分布式消息服务RocketMQ版
API网关 APIG
分布式缓存服务 DCS
多活高可用服务 MAS
事件网格 EG
开天aPaaS
应用平台 AppStage
开天企业工作台 MSSE
开天集成工作台 MSSI
API中心 API Hub
云消息服务 KooMessage
交换数据空间 EDS
云地图服务 KooMap
云手机服务 KooPhone
组织成员账号 OrgID
云空间服务 KooDrive
管理与监管
统一身份认证服务 IAM
消息通知服务 SMN
云监控服务 CES
应用运维管理 AOM
应用性能管理 APM
云日志服务 LTS
云审计服务 CTS
标签管理服务 TMS
配置审计 Config
应用身份管理服务 OneAccess
资源访问管理 RAM
组织 Organizations
资源编排服务 RFS
优化顾问 OA
IAM 身份中心
云运维中心 COC
资源治理中心 RGC
区块链
区块链服务 BCS
数字资产链 DAC
华为云区块链引擎服务 HBS
解决方案
高性能计算 HPC
SAP
混合云灾备
开天工业工作台 MIW
Haydn解决方案工厂
数字化诊断治理专家服务
价格
成本优化最佳实践
专属云商业逻辑
云生态
云商店
合作伙伴中心
华为云开发者学堂
华为云慧通差旅
其他
管理控制台
消息中心
产品价格详情
系统权限
客户关联华为云合作伙伴须知
公共问题
宽限期保留期
奖励推广计划
活动
云服务信任体系能力说明
开发与运维
软件开发生产线 CodeArts
需求管理 CodeArts Req
流水线 CodeArts Pipeline
代码检查 CodeArts Check
编译构建 CodeArts Build
部署 CodeArts Deploy
测试计划 CodeArts TestPlan
制品仓库 CodeArts Artifact
移动应用测试 MobileAPPTest
CodeArts IDE Online
开源镜像站 Mirrors
性能测试 CodeArts PerfTest
应用管理与运维平台 ServiceStage
云应用引擎 CAE
开源治理服务 CodeArts Governance
华为云Astro轻应用
CodeArts IDE
Astro工作流 AstroFlow
代码托管 CodeArts Repo
漏洞管理服务 CodeArts Inspector
联接 CodeArtsLink
软件建模 CodeArts Modeling
Astro企业应用 AstroPro
CodeArts盘古助手
华为云Astro大屏应用
存储
对象存储服务 OBS
云硬盘 EVS
云备份 CBR
高性能弹性文件服务 SFS Turbo
弹性文件服务 SFS
存储容灾服务 SDRS
云硬盘备份 VBS
云服务器备份 CSBS
数据快递服务 DES
云存储网关 CSG
专属分布式存储服务 DSS
数据工坊 DWR
地图数据 MapDS
键值存储服务 KVS
容器
云容器引擎 CCE
云容器实例 CCI
容器镜像服务 SWR
云原生服务中心 OSC
应用服务网格 ASM
华为云UCS
数据库
云数据库 RDS
数据复制服务 DRS
文档数据库服务 DDS
分布式数据库中间件 DDM
云数据库 GaussDB
云数据库 GeminiDB
数据管理服务 DAS
数据库和应用迁移 UGO
云数据库 TaurusDB
人工智能
AI开发平台ModelArts
华为HiLens
图引擎服务 GES
图像识别 Image
文字识别 OCR
自然语言处理 NLP
内容审核 Moderation
图像搜索 ImageSearch
医疗智能体 EIHealth
企业级AI应用开发专业套件 ModelArts Pro
人脸识别服务 FRS
对话机器人服务 CBS
语音交互服务 SIS
人证核身服务 IVS
视频智能分析服务 VIAS
城市智能体
自动驾驶云服务 Octopus
盘古大模型 PanguLargeModels
IoT物联网
设备接入 IoTDA
全球SIM联接 GSL
IoT数据分析 IoTA
路网数字化服务 DRIS
IoT边缘 IoTEdge
设备发放 IoTDP
企业应用
域名注册服务 Domains
云解析服务 DNS
企业门户 EWP
ICP备案
商标注册
华为云WeLink
华为云会议 Meeting
隐私保护通话 PrivateNumber
语音通话 VoiceCall
消息&短信 MSGSMS
云管理网络
SD-WAN 云服务
边缘数据中心管理 EDCM
云桌面 Workspace
应用与数据集成平台 ROMA Connect
ROMA资产中心 ROMA Exchange
API全生命周期管理 ROMA API
政企自服务管理 ESM
视频
实时音视频 SparkRTC
视频直播 Live
视频点播 VOD
媒体处理 MPC
视频接入服务 VIS
数字内容生产线 MetaStudio
迁移
主机迁移服务 SMS
对象存储迁移服务 OMS
云数据迁移 CDM
迁移中心 MGC
专属云
专属计算集群 DCC
开发者工具
SDK开发指南
API签名指南
DevStar
华为云命令行工具服务 KooCLI
Huawei Cloud Toolkit
CodeArts API
云化转型
云架构中心
云采用框架
用户服务
账号中心
费用中心
成本中心
资源中心
企业管理
工单管理
客户运营能力
国际站常见问题
支持计划
专业服务
合作伙伴支持计划
我的凭证
华为云公共事业服务云平台
工业软件
工业数字模型驱动引擎
硬件开发工具链平台云服务
工业数据转换引擎云服务
本文导读

业务验证

更新时间:2025-01-21 GMT+08:00
分享

业务验证对上云迁移非常重要。业务验证主要包括功能验证和性能验证等。在上云迁移过程中,有两个阶段需要进行业务验证。首先,业务部署完成后,在切换前需要进行功能和性能验证,其次,业务切换时,当业务流量切换到目的端,切换后也需要进行功能和性能验证。

功能验证

  • 功能测试内容

    功能测试确保应用系统在上线前能够正常运行,以下是功能测试的内容:

    表1 功能测试内容列表

    测试内容分类

    说明

    本应用功能测试

    测试的内容强依赖应用系统的功能,比如某电商系统,核心的功能测试用例至少包括线上线下的浏览、购物、下单支付(各种支付途径支付、用劵支付)、打印账单、开发票、活动促销、库存同步、新会员注册,老会员退会、订单退款、订单返劵等核心功能。

    周边系统集成功能测试

    测试的内容强依赖应用系统的集成功能,比如某大型零售电商平台,和某团购平台、某外卖平台、某到家平台、某小视频平台等都有业务合作,集成的用例至少包括在这些集成平台的下单、用劵、通知发货,评论等各种功能的验证。

  • 功能测试目的
    • 验证应用系统迁移到目标端华为云后,更换了技术组件后的应用功能是否正常
    • 验证应用更换到目标端后,应用和周边的系统的集成是否正常,识别需要周边系统配合修改的内容都已修改正常。
  • 功能测试方法
    • 冒烟测试:冒烟测试是一种简单的功能测试,通过执行少量的核心测试用例来验证系统是否可用。在目标端部署完成后,可以首先执行冒烟测试来确认系统的基本功能是否正常。
    • 全业务功能测试:全面的业务功能测试可以验证系统的所有功能是否正常,通过执行针对各种业务流程的测试用例,确保所有功能模块正常。
    • 日志分析:在目的端业务部署完成后,需要对系统的日志进行分析,检查是否存在异常情况的错误信息。通过日志分析可以发现一些潜在的问题和隐患,及时进行修复和优化。
    • DNS劫持测试:因云上部署的业务一般按照生产环境的域名进行配置,在使用手机App或浏览器测试业务功能时,需要配合使用DNS劫持的方式进行测试,可以使用内网WIFI及运维改造的APISIX,配合WiFi上的DNS解析,劫持流量指向测试环境,进行的内网测试。
  • 功能测试流程
    图1 功能测试流程
    1. 确定测试目标和重点关注点:明确需要测试的应用功能和场景,以及测试的重点和关注点。
      1. 系统功能:如促销活动,用劵支付、退货反劵等
      2. 批处理JOB功能:若本次搬迁的应用同时涉及多个批处理JOB,在功能测试时,需要重点关注批处理JOB的执行情况,比如库存推数。
      3. 第三方业务集成功能:如某团购平台、某外卖平台、某到家平台、某小视频平台的集成功能验证,以及门店POS支付等功能验证。
    2. 确认测试环境:确认使用哪个环境用作测试,不要对生产业务造成影响。注意,如果有请求第三方接口的业务,需要注意外网隔离,防止测试污染生产数据,可以通过内网搭建特殊WIFI,让内部测试人员登录模拟进行三方功能的测试。
      表2 测试环境的对比分析

      场景

      测试环境选择建议

      优点

      缺点

      目标端华为云生产环境是否已上线部分应用

      方案1:在目标端华为云生产环境用作测试

      1.测试后直接转生产上线,节省工作量

      2.各项参数在测试期间已调为最优

      需做好网络隔离,有对现网影响的风险。

      方案2:在目标端华为云新建一套测试环境用作测试

      对现网无影响

      1.新搭建一套环境有一定的成本费用

      2.在测试环境调测好的配置参数需要1:1配置到生产环境,有一定工作量

      目标端华为云生产环境是全新环境

      目标端华为云生产环境用作测试

      1.测试后直接转生产上线,节省工作量

      2.各项参数在测试期间已调为最优

    3. 设计测试用例:根据测试目标,设计和准备测试用例。切换之前的测试用例要尽可能的全覆盖,切换期间,由于测试时间有限,建议将测试用例划分P0、P1、P2三个优先级。
      1. P0定义:最核心的功能用例,此用例通过,可以决策不再考虑回退。
      2. P1定义:重要功能用例,此用例通过表示基本功能全部可用,此用例通过后,即可宣布当晚切换成功,可取消外部维护公告。
      3. P2定义:其他补充用例,如切换时间窗足够,可切换当晚测试,如果切换时间窗不够,可第二天测试。
        表3 测试用例执行说明

        阶段

        测试用例

        覆盖率

        切换前测试

        所有

        包括所有的应用功能和第三方集成功能测试。特殊无法测试场景需单独讨论模拟测试方案。

        切换期间测试

        分P0、P1、P2三个级别。

        在切换时间窗内至少完成P0和P1级用例测试。

        根据切换时间窗口,时间窗口充足,完成所有的用例,时间窗口不足,至少完成P0和P1级用例。

      对于测试环境的测试用例选择,企业需要根据应用场景分析是否具备测试条件,比如第三方库存同步的用例,第三方只有生产环境对接本企业生产环境,无法对接测试环境情况下,此用例就无法测试。所以需识别无法测试的用例,评估测试用例的覆盖率,对于无法覆盖的用例单独讨论模拟测试方法,参考如下:

      场景

      是否具备测试条件

      特殊场景应对措施

      第三系统下单

      第三方系统由于和测试环境无法打通,所以在测试环境无法测试

      针对无法测试的场景,讨论应对方案如直接调用库存同步接口模拟测试

      库存同步

      第三方库存由于和测试环境的库存系统无法打通,所以在测试环境无法进行测试

      针对无法测试的场景,讨论应对方案如直接调用库存同步接口模拟测试

      支付

      线上支付具备测试条件

      线下POS支付由于和测试环境无法打通网络,不具备测试条件

      针对无法测试的场景,讨论应对方案如:直接调用接口模拟测试等

    4. 预置测试数据:为了确保测试的真实性和有效性,需提前预置测试数据。可以使用源端测试环境数据,也可以使用脱敏后的生产数据。
    5. 执行测试用例:部分企业测试自动化起步较晚,大量用例仍需要人工执行,手工执行用例,在测试过程中需执行人详细记录测试时间、测试人员、用例执行结果等相关信息。部分企业已有自动化测试能力,上云过程中只需要将新增的用例增加到自动化平台自动执行。
    6. 输出测试报告:全部测试用例测试完成后,输出测试报告。 总的来说,功能测试需要确保测试环境和生产环境尽可能的一致,测试用例覆盖率100%,以保证应用上云后的功能正常。

性能验证

  • 性能验证

    应用系统迁移到云上后,底层技术组件更换了,云上的技术组件默认参数可能与源端默认参数不同,或者源端和目的端的技术组件实现机制不同,可能会导致上云发生性能问题,需要进行性能测试,性能测试内容包括如下三类。

    表4 性能测试内容

    测试内容

    说明

    云服务性能测试

    针对某个云服务进行性能测试,比如数据库,Hbase、存储的IOPS等。

    应用接口性能测试

    接口性能是系统性能评估的一个方面,针对某几个接口进行针对性接口压测。

    应用整体性能测试

    根据应用的使用场景,比如大促期间,上千人同时浏览一个产品并抢购的场景下,整体的性能测试。

    这三类性能测试的目的如下表所示。

    表5 性能测试目的说明

    测试内容

    目的

    云服务性能测试

    评估云服务的规格是否满足应用高并发下的性能,参数是否是最优配置。

    应用接口性能测试

    针对某几个接口评估接口的极限负载能力

    应用整体性能测试

    1. 确定云上业务系统的极限负载能力:通过高并发、高负载的测试,确定云上业务系统可以承载的最大负载,以及达到极限负载时系统的表现和响应时间。在压力逐步上升的过程中,观察云上业务系统在承载和源端压力相当时的性能表现,并对比收集到的指标,确定是否存在问题。
    2. 验证系统的稳定性和可靠性:通过长时间、高负载的测试,验证云上业务系统在各种情况下的稳定性和可靠性,包括系统资源的管理、数据传输、异常处理等。
    3. 评估系统的可扩展性:在系统压力逐步增大的过程中,测试云上业务系统的可扩展性,可以确定系统是否可以扩展到更大的规模,并支持更多的用户和业务需求
    4. 识别系统的性能瓶颈:通过对云上业务系统的压力测试,可以识别系统的瓶颈,确定迁移过程中业务环境的改变带来的系统性能问题,从而优化系统性能。

上述三类性能测试的具体方法如下。

  1. 云服务性能测试(以数据库为例)

    对于大多数应用系统来说,整个系统的瓶颈往往在数据库。因为应用的其他组件,例如网络带宽、负载均衡、应用服务器、中间件等比较容易实现水平扩展,但对于数据库,由于数据一致性要求高,多数业务系统仍然采用数据库主备方式实现,未实现数据库的分布式架构。

    常用的数据库相关指标有:

    • TPS/QPS:每秒处理事务数和每秒查询数,用于衡量数据库的吞吐量。
    • 响应时间:包括平均响应时间、最小响应时间、最大响应时间、时间百分比等,其中时间百分比参考意义较大,如前95%的请求的最大响应时间。
    • 并发量:同时处理的查询请求的数量。
    • 成功率:指请求在一定时间内成功返回结果的比例。
    华为云RDS提供了数据库的TPS/QPS等标准性能基线,企业也可以基于自己的业务数据重新进行压力测试。常用的数据库压测工具是Sysbench,支持多线程,支持多种数据库。主要包括以下几种测试:
    • CPU性能
    • 磁盘IO性能
    • 调度程序性能
    • 内存分配及传输速度
    • POSIX线程性能
    • 数据库性能(OLTP基准测试)
  1. 应用接口性能压测

    你可以使用以下两种方式针对应用接口进行性能测试,一种是采用华为云提供的云原生性能测试工具CodeArts PerfTest,另一种是使用Goreplay。两种方式的优缺点如下表所示。

    表6 接口性能压测方式对比

    测试工具

    压测方式

    优点

    缺点

    CodeArts PerfTest

    基于华为云性能测试工具完成接口压测。

    • 支持多协议、高并发、复杂场景的测试
    • 专业性能测试报告,应用性能表现一目了然
    • 与生产环境核心业务不产生交互,不会对现网产生影响
    • 接口测试对其他业务依赖较少,可以基于单业务系统进行。
    • 执行成本高,前期业务梳理和脚本编写耗时较久。
    • 对测试人员技术要求较高,需要熟悉测试工具的使用和相关测试知识,否则测试效果可能不够理想。

    GoReplay

    在业务网关部署GoReplay工具,复制现网流量,在目的端进行回放。

    • 低成本、效率高:无需梳理各个系统的接口和业务逻辑,可以直接基于实际流量进行测试
    • 一方面线上大量真实流量确保覆盖率,另一方面支持中间过程的验证,例如发送消息的内容、中间计算过程等等的全对象的对比验证,传统手工编写验证点很难实现。
    • 需要在生产环境流量入口网关上安装插件,会占用一定的cpu和存储空间。
    • 对于分批割接的场景,由于流量录制是基于所有业务请求进行录制,如果目标端有部分业务没有部署,会导致有接口404的报错,需要人工进行定位,定位工作量大。
    • 只支持HTTP协议,对于HTTPS、TCP、UDP等无法录制

    关于如何使用CodeArts PerfTest进行性能压测,请参考官网文档。以下介绍如何通过GoReplay流量复制进行性能压测。

    GoReplay是一个用于复制、重放和操作HTTP流量的开源工具。它可以捕获实时流量,并将其发送到一个或多个目标服务器,从而实现流量的复制和重放。通过GoReplay,可以将实际的HTTP请求和响应流量复制到测试、开发或生产环境中,以便在这些环境中进行测试、监控和分析。在上云迁移过程中,我们可以使用GoReplay工具,从源端现网业务网关流量入口复制请求数据,在目的端云上执行机上回放业务请求,实现对云上相关业务接口的压力测试,详细方案如下图所示:

    图2 GoReplay流量复制压测方案

    使用GoReplay做性能压测时要注意以下事项:

    • 在源端网关使用GoReplay录制请求流量时,要注意对主机性能的影响,需实时观察主机相关指标,如CPU使用率,内测使用率等。同时,GoReplay输出的out.file文件,会占用大量的磁盘空间,注意磁盘使用率,防止因磁盘写满导致网关应用不可用,最好使用网络存储来存放输出文件。
    • 在进行流量回放时,目的端业务如果有访问第三方接口的需求,可能会对生产业务产生影响,注意做好网络隔离。
  2. 应用整体性能压测

    应用整体性能压测是指对业务系统的所有业务流程和功能进行综合性的压力测试,以评估系统在真实生产环境下的稳定性和性能表现。在压测过程中,模拟真实用户的行为,并生成高负载情景,以评估系统在高负荷下的性能和稳定性,确认业务系统能够满足用户的实际需求。

    以下是几个常见的全业务整体性能压测场景:

    1. 正常业务负载:模拟系统在正常使用情况下的业务负载,包括用户请求的数量、频率和类型等。通过验证系统在正常负载下的性能表现,确保系统能够满足用户需求。
    2. 峰值负载:模拟系统面临最高负载的情况,通常是在特定时间段内用户请求达到峰值。这种场景用于确定系统的扩展能力是否能够处理高峰期的请求,并确保系统不会出现性能瓶颈或崩溃。
    3. 突发负载:模拟系统面临的异常情况,如突然增加的用户请求或大规模数据处理等。这种场景用于评估系统在压力突增时的稳定性和容错能力,确保系统能够优雅地处理异常负载而不受影响。
    4. 长时间负载:模拟系统长时间运行的情况,一般持续数小时甚至更长时间。这种场景用于测试系统在长时间运行后是否会出现内存泄漏、资源耗尽等问题,以确保系统的稳定性和可靠性。
    5. 异常场景:模拟系统面临的各种异常情况,如网络故障、服务器宕机、数据库连接中断等。这种场景用于测试系统在异常情况下的容错能力和恢复能力,确保系统能够正确处理异常并保持可用性。
提示

您即将访问非华为云网站,请注意账号财产安全

文档反馈

文档反馈

意见反馈

0/500

标记内容

同时提交标记内容