应用软件版本升级测试研究

2021-07-30 01:18姜文刘立康
微型电脑应用 2021年7期
关键词:云化镜像工程师

姜文,刘立康

(西安电子科技大学 通信工程学院,陕西 西安 710071)

0 引言

随着计算机技术的不断发展,软件企业需要不断更新已经推向市场的软件产品,以便更好地满足用户需求,Windows操作系统软件,Oracle数据库软件等知名软件都在不断地推出新的软件版本。随着计算机硬件技术的发展,计算机的内存、硬盘容量、运算速度获得相当大的提升,为单机版应用软件功能和性能的提升提供了硬件环境,需要不断更新软件产品版本。近年来计算机网络技术和云计算技术获得广泛应用,应用软件需要及时推出网络版和云化版软件,以满足市场需求,更好为广大客户服务。

采用新的软件版本替换原来低版本软件产品称为软件升级[1-4],升级是软件从低版本向高版本的更新。高版本通常会修复低版本的部分缺陷,同时扩展新的功能。经历了软件升级,一般都会比原版本的性能更好,得到优化的效果,用户也能有更好的体验。为了能够顺利进行软件升级,需要软件企业做好软件升级的测试工作。

1 软件升级

软件升级从变更涉及面大小可以分为补丁级别升级和版本级别升级。

1.1 补丁版本

软件产品进入维护阶段,为了解决客户方在软件使用过程中的缺陷问题需要软件维护组不断推出补丁版本。补丁级别升级主要是对某个软件本的局部问题进行修复。在软件新版本推出之前通常会有多个补丁版本解决客户反映的各种问题。补丁版本有助于延长软件版本的使用寿命。

1.2 正式的软件版本

通常经过多个补丁版本后,根据技术的发展,客户方的功能扩展的要求,结合补丁版本改进的技术问题推出软件产品新版本。

1.3 二者的区别

二者之间的区别如同“一件旧衣服打补丁”和“换一件新衣服”,如表1所示。

表1 正式的软件版本和补丁版本之间的区别

从表1中的比较可以看出补丁版本的升级相对来说更为简单。

2 软件升级前的测试工作

软件升级前需要做好一系列软件测试工作,测试工作是软件版本升级[5-8]技术环节。

2.1 软件正式版本

软件正式版本立项之后,由研发部门的测试组负责软件功能、性能、可靠性和安全性测试工作,研发工作结束之后,内部发布软件版本进入试用阶段。根据以往的经验,在试用阶段暴露的软件缺陷较多,需要开发工程师和测试工程师不断定位解决、反复测试这些问题,不断完善该软件版本,一直到该软件在使用过程中进入稳定状态,组织相关人员评审之后,正式发布对外的软件版本,投放市场推广应用。

2.2 软件补丁版本

软件投放市场应用之后,转由软件维护组进行软件维护工作,处理客户在软件使用过程遇到的各种问题。对于需要修改软件代码的缺陷问题,通常通过定期发布补丁包来处理。补丁包通常包含多个需要处理的补丁问题。完成补丁包的测试和验收工作后,正式发布软件补丁版本。

2.3 软件升级前的镜像测试

客户局点实施软件版本升级之前,客户局点可以向软件研发部门申请镜像测试。测试工程师需要对客户环境进行模拟仿真测试,这种测试称为“镜像测试”。镜像测试的目的是为了在客户局点软件升级之前,提前发现局点升级过程中的问题,保证客户局点顺利完成版本升级和升级之后顺利恢复业务。

软件镜像测试主要包括如下内容。

2.3.1 搭建测试环境

根据客户的环境类型、组网、业务特性、环境配置、软件版本等信息搭建测试环境。该测试环境通常称为“镜像环境”。

2.3.2 升级前软件版本业务测试

在测试环境上安装客户当前使用的软件版本,进行客户局点使用的软件业务测试,表明对客户软件使用状况的模拟是成功的。

2.3.3 软件升级前检查与软件升级测试

完成软件升级前业务测试后,通过软件的升级工具对镜像测试环境进行升级前检查,排除外部导致升级失败的因素。

升级前检查结果若符合升级要求,就可以启动升级测试,升级测试的过程是镜像测试中最关键的步骤。升级检查结果是否成功,决定下一步测试如何进行。

2.3.4 升级后的软件新版本业务测试

在测试环境中用软件新版本替换原来的软件版本,测试软件新版本的业务功能,验证软件新版本业务功能是否正常。

2.3.5 回退到原来的软件版本的业务测试

在测试环境中用原来的软件版本替换软件新版本,进行业务测试和验证,测试结果和升级前的测试结果比较,若二者结果相同,表明软件升级可以正常回退。这样做的好处在于当升级出现问题时可以及时回退到原来的状态,保证客户的日常业务正常运行。

3 软件升级流程

软件升级流程如图1所示。

图1 软件升级流程

3.1 客户提出软件升级需求

软件新版本发布之后,客户对目前使用的软件版本提出升级需求。售后工程师对该局点的环境组网、环境以及特性进行升级评估,确认现网局点需要使用的目标版本。确认该局点可以升级后,售后工程师协助申请新版本的许可证书,确定局点的软件版本升级的时间点。

3.2 获取客户局点环境信息

现场工程师获取客户局点的环境信息和环境配置信息,将这些信息反馈给研发部门的局点接口人。接口人协调测试部门,安排测试人员启动镜像测试,将现网收集到的现网环境信息与配置提供给测试工程师。

3.3 执行镜像测试

测试工程师根据局点目前的软件版本和待升级的目标版本,准备好版本包、升级包和升级工具。

a.根据客户方的环境信息,搭建测试环境,完成环境的配置工作。根据现网环境支持的特性,进行特性功能测试。

b.上传现网局点待升级的版本包、升级包以及升级工具包。

c.安装待升级的版本包,启动升级前测试工作,收集测试报告。

d.通过升级包与升级工具,启动软件升级。升级过程中,如果遇到发生错误导致升级失败,联系开发工程师定位升级失败的原因,给出避免升级失败的规避手段。如果升级成功,收集升级报告;收集环境的配置,版本信息与告警信息等。测试验证新版本的业务功能。

e.启动已升级版本的回退,回退成功之后,收集回退报告,收集环境配置信息、版本信息与告警信息等。再次进行特性功能测试验证。

3.4 提交镜像测试报告

镜像测试完成后,测试工程师要根据测试结果,完成镜像测试报告。镜像测试报告的内容包含镜像测试内容、测试结果、测试过程中发现的问题与问题解决方案。镜像测试报告和镜像测试结果,发送给研发部的客户局点接口人,抄送版本经理、测试组长和相关人员。

3.5 客户方软件升级和提供技术保障

镜像测试完成后,客户局点接口人与版本经理安排客户局点升级时间,售后工程师在客户局点进行软件版本升级;同时安排开发工程师与测试工程师以办公室现场值守或电话值守的方式为客户局点软件升级提供技术保障。客户局点升级过程中与升级后发现的问题,立刻组成软件升级问题小组开展问题复现与定位,尽快找到问题发生的原因,提出规避方案,完成规避方案验证之后,将规避方案提供给客户局点,处理软件升级过程中出现的问题。

4 软件升级过程中遇到的技术问题

应用软件升级过程中遇到的一些技术问题。

4.1 镜像环境部署过程中出现的问题

V局点镜像过程中需要将云化软件5.18.1版本升级为云化软件5.19.1版本。搭建云化的网络环境,环境中部署5.18.1版本,部署到43%时,出现创建软件虚拟机失败的问题。经定位确认,有一个软件虚拟机所在的主机出现网络故障,导致部署到这个主机上的软件虚拟机与其他软件虚拟机之间的网络不通,因此出现部署失败。将故障主机隔离之后,重新部署5.18.1版本软件,部署成功。

4.2 升级前检查过程中出现的问题

I局点在云化环境中,需要将软件从软件5.2.3版本升级到5.20.0版本。镜像环境搭建完成之后,验证软件5.2.3版本基本业务功能;上传5.20.0版本的版本包与升级包,打开软件升级工具的WEBUI页面,进行升级前检查,检查的结果存在失败项,检查结果显示一个新虚拟机类型的镜像包未上传。该问题处理之后,重新上传5.20.0版本的版本包与升级包,再次运行升级前检查,该失败项检查通过,可以继续进行升级测试。

4.3 升级过程中出现的问题

H局点将基于硬件环境的软件3.18.1版本升级到基于云化环境的软件3.19.1版本。搭建镜像环境,完成软件3.18.1版本升级前基本业务功能验证;完成3.19.1版本的软件包和升级包上传、升级前检查确认没有失败项;启动软件升级,升级到40%时,在镜像环境上发现了软件进程复位现象。将该问题反馈给软件开发工程师,确认出现软件进程复位是软件缺陷导致的。该问题由测试工程师提单,通过后续3.19.1的SPH203补丁包来解决该问题。

4.4 硬件单板问题

H局点将基于硬件环境的软件3.18.1版本升级到基于云化环境的软件3.19.1版本。升级成功之后,发现负责软件产品音频编解码的单板出现概率性重启,将该问题反馈给软件开发工程师,对该问题提单跟踪,定位确认音频编解码单板在烧制过程中存在缺失,可以更换单板处理该问题。发给B局点的单板在使用前经过严格的验证,不会出现该问题。

4.5 回退过程中遇到的问题

C局点在云化环境中将软件5.18.1版本+SHP116补丁包升级到5.19.1版本。完成升级后业务验证,进行软件回退验证时,在回退至30%之后,出现一个软件虚拟机无法正常启动,导致回退失败。软件开发工程师定位确认,由于故障虚拟机的主机出现部分服务异常导致软件虚拟机异常。迁移该虚拟机之后,完成云化测试环境中的虚拟机恢复重建,问题虚拟机能够正常启动,测试工程师继续完成回退验证。隔离故障主机,再次进行镜像升级验证时,升级回退均可以正常进行。

4.6 升级成功后,客户使用过程中发现问题

J局点软件成功升级到3.19.1版本之后,客户在使用过程中发现每天凌晨3点,负责编解码转换的P单板,会出现复位问题。该问题经过开发工程师紧急攻关定位确认,问题根因是P单板硬件软件中有个到凌晨3点左右定时启动的检测工具,工具定时启动检测时涉及的进程较多,工具启动之后,会大量持续占用IO资源,导致单板的CPU瞬时飙高,导致单板复位。开发工程师经过反复对J局点问题进行复现,细致地分析了检测工具代码,发现检测工具定时启动检测时,不必全量检测所有进程,因此在工具检测脚本中去掉部分不需要加入检测的进程这样就在很大程度上降低了对单板IO资源的占用,避免出现单板的CPU出现瞬时飙高。经过售后部门与J局点协商,由软件研发部门提供紧急补丁给J局点解决该问题。该问题提单跟踪并规划到3.19.1的SPH203补丁解决。

5 软件升级案例

以下介绍2个软件升级案例,一个是基于硬件环境的,一个是基于云化环境的,通过案例详细介绍了软件升级过程。

5.1 基于硬件的软件升级

某通信软件产品C,最新发布了3.19.1的云化版本与硬件版本,分别适配云化平台和原有的硬件平台。许多局点要求申请升级3.19.1版本。其中B局点申请3.19.1的硬件版本。以下详细介绍基于硬件的软件版本升级过程。

5.1.1 提交升级申请

B局点目前安装的是基于硬件版本软件,版本是3.18.1+SPH111补丁;通过负责该局点的售后工程师向研发部门的局点接口人提交升级到3.19.1版本的升级需求。

5.1.2 获取B局点环境信息

现场工程师获取B局点的组网信息、环境信息、环境配置信息,将这些信息发给研发部门的局点接口人、版本经理以及相关人员。

5.1.3 安排镜像测试

B局点的升级计划确定之后,局点接口人安排测试工程师进行镜像测试。

5.1.4 搭建测试环境

B局点的环境组网是由两个机框与几种业务单板组成的级联环境,一个机框内可放置6个不同的业务单板。搭建测试环境时,需要准备2个机框以及若干块业务单板,将机框安装在机架上,业务单板安装到机框里,完成硬件环境的部署。硬件环境准备完成后,在该环境上安装软件版本3.18.1版本,加载SPH111补丁包。

5.1.5 升级之前的测试验证

分析B局点目前的现网配置,确认B局点主要使用的软件特性是GX特性,部分环境上的IP地址的格式为IPV6格式。根据B局点的现网配置在镜像环境上进行业务配置。记录镜像环境上的告警,并执行MML命令EXP MML导出镜像环境上的配置。

在软件的WEBUI页面上打开话统页面,在话统页面上打开需要度量的指标项。验证IPV4与IPV6格式下的软件特性的功能、性能以及话统数据。功能验证使用华为自主研发的SPIDER工具,性能验证使用华为自主研发的NTE工具。

观测GX特性的功能(包括IPV4与IPV6两种场景下的功能验证)与性能(包括业务单板的CPU占用率、丢包率等指标)是否正常。话统指标统计到的数据是否正确等。

5.1.6 镜像升级测试验证

上传升级版本3.19.1的版本包、升级包以及升级工具。在升级工具页面上执行升级前检查,查看检查结果,如果没有发现问题,在升级工具页面上执行软件版本镜像升级。升级过程中需要观测是否有报告错误信息,导致升级中断的;如果遇到这种情况需要联系开发工程师定位处理,记录下升级失败的问题现象,跟踪问题的定位解决情况。

升级成功之后,首先查看升级版本号是否正确,执行MML命令EXP MML导出镜像测试环境上的业务配置信息并与升级前的环境配置进行比对。查看镜像环境升级之后是否有新增告警,如有新增告警需要分析告警产生的原因,部分异常告警需要开发工程师协助分析。

镜像升级结束之后,验证升级之后软件的GX特性的功能与性能是否正常,观测话统指标是否正常。

5.1.7 镜像升级后回退测试验证

在升级工具上执行回退验证,从3.19.1版本回退至3.18.1+SPH111补丁版本。回退过程中如果发生报错导致回退终止,需要联系开发工程师定位回退失败的原因,并跟踪问题定位过程。回退成功之后对GX特性镜像功能、性能验证。与升级前的MML与告警信息进行比较,确认回退之后无新增告警生成。

5.1.8 编写镜像测试报告

镜像测试完成之后,测试工程师需要将镜像测试的环境组网、测试场景、测试发现问题、定位结论与问题规避措施编写成镜像测试报告,镜像测试报告与相关的测试结果以邮件形式发送给局点接口人和相关人员,报告由局点接口人审核之后转发给B局点的售后工程师。

5.1.9 B局点软件升级和提供技术保障

局点接口人安排B局点的升级时间。升级需要停掉软件上的所有业务,必须按时完成升级工作,B局点的售后工程师现场进行软件升级。同时软件开发工程师与测试工程师组成技术保障小组,提供B局点升级技术保障工作。保障小组在办公室现场紧密关注B局点升级过程与升级之后业务恢复情况。由于镜像测试工作做得比较好,B局点升级工作顺利完成,业务逐渐恢复正常。

5.2 基于云化环境的软件升级

云化网络环境的搭建和管理通常比较复杂,这是在云化环境中软件升级需要特别关注的地方。

Q局点使用的是云化软件版本为5.18.1+SPH118补丁,需要升级到云化的5.19.1版本。Q局点的底层硬件是华为自研的E9000机框、刀片服务器以及外接磁阵,安装的是Fusion Sphere虚拟化软件,软件版本6.3.1。

目前云化测试环境上安装的Fusion Sphere软件版本为6.5.1,需要重新安装6.3.1版本的Fusion Sphere软件。软件安装之后启动环境部署,环境上一共需要配置27个虚拟机。分析Q局点业务配置,确认Q局点使用的软件特性是XF特性。测试工程师在测试环境上添加了软件特性的配置,分别在升级前、升级后以及回退后完成软件特性的功能、性能、话统验证;版本信息查询;告警比较;配置比较等均正常。Q局点管理现网环境时,通过网管系统软件完成现网配置添加、告警信息观测等,镜像测试需要验证网管系统软件对接测试环境。

测试验证完成之后由测试工程师提供镜像测试报告与镜像测试结果。局点接口人安排Q局点的软件升级工作和软件升级技术保障工作,Q局点顺利按期完成了5.19.1版本的升级工作。

6 总结

计算机技术的发展需要软件企业不断推出新的软件版本,软件升级是软件生命周期中一个重要的环节。在软件升级过程中做好测试工作,能够顺利高效地完成软件升级与迅速恢复客户业务。长期的工作实践表明,软件升级过程,测试工作是不断发现和解决客户局点版本升级过程中与升级之后各种问题的过程,不断提高软件的质量过程。做好测试工作有助于提高软件的安全性与稳定性,平稳保证客户局点软件升级之后的业务恢复与正常使用。同时充分的软件升级测试也为开发软件新版本和扩大软件市场占用率提供了良好的基础。

猜你喜欢
云化镜像工程师
《机械工程师》征订启事
Kenoteq的工程师研发环保砖块
镜像
青年工程师
5G/云化下的VR产业未来
镜像
IBM中国企业云化实践中心成立
核心网云化技术的分析
镜像
工程师变成“资本家”