大规模项目软件测试机制研究与应用

2023-10-16 20:19吴超
中国新通信 2023年14期
关键词:测试环境软件测试

摘要:针对大规模项目架构复杂、业务庞大的系统特点,制定出一套完整的测试机制,从多个维度出发,如,研发阶段、环境关联、发布管理以及自动测试等,全面设计测试工作方案,总结得出敏捷迭代研发测试模式。该方法成功应用于中国电信营销服务系统(简称“营销2.0”)的测试工作中,验证了该方法的有效性。

关键词:软件测试;测试模式;组件测试;测试环境;测试发布

吴超(1980.04.22-),男,回族,江蘇南京,本科,中心经理,研究方向:软件测试。

一、引言

通信安全是国民经济和社会发展的重要基础。“十一五”以来,中国电信逐渐加强通信工程全面建设,积极建立全新的营销信息系统,该系统主要是基于应用系统,并以24套系统形成第一代营销,可有效为客户提供良好服务,全方位开拓市场,强化营销管理。随着社会趋势的快速变化与发展,客户要求逐渐呈现多元化,在通信市场的改革推进下,信息技术全面拓展,市场营销不断向数字化方向发展。由此在一系列影响因素下,营销1.0系统无法满足当前营销服务需求,继而中国电信启动了新一代营销服务系统(简称营销2.0)的建设及试点工程。2019年完成大面积推广,2020年转入运营运维阶段。

营销2.0聚焦增量经营和存量经营两大流程,采用“平台+应用”的先进架构,重构了云化、中心化、界面轻量化的新一代系统,促使各项业务得到有效融合,数据信息全面共享,以达到客户的基本要求,助力中国电信数字化转型。

营销信息系统的构建以云计算结构为基础,建立服务模型充分体现出系统优势,并利用数字化平台加强自主研发,从而形成全新的营销系统,有效推动研发测试工作的有序开展。相关部门高度重视测试模式的敏捷性,可有效保障测试服务,提高系统管理质量,充分展现出营销系统的功能特点,提高系统运行的稳定程度以及安全度。从而针对软件测试模式的各个环节展开详细探究。

二、基于对象状态的软件测试方法概述

(一)对象状态

对象状态取决于软件的主要功能,当达到既定条件时,对象状态通常会产生不同变化,以此展现出相对应的功能。一般情况下,对象转台通常为事件中的等待过程,以消息为传导激发特定功能,促使对象原本状态发生一定变化。在对象状态的测试下,相关工作人员应当结合对象状态的实际变化加以记录,并将所记录的内容与预期情况进行详细比较,从而能够了解软件功能的具体状况,针对软件性能做出合理判断。同时,在对象状态的测试过程中,应当注重符号的利用,充分明确对象空间的基本情况,并结合对象以及功能,控制对象状态的整体行为。通常对象与类具之间有着密切关联,对象主要是以人类为支撑存在,运用类方法以达到对象控制的目的,特别是出现私有状态下的对象,可利用类调用形式间接改变对象状态,确保其变化得到有效保护。并且,在对象状态测试中,还应当科学设置监控对象,运用数据分析方法,基于数据流明确对象状态的实际变化,促使测试下对象状态能够展现出类的功能。此外,对象状态测试还应当采取交互方式,了解类方法下的具体通信状态,以明确对象状态触发的实际情况,保证有效性,继而科学判断软件功能状况[1]。

(二)状态属性

类中的对象通常具备一定属性,由此应当做好属性状态判断,明确属性的实际变化状况,确保类方法以及属性发挥出重要作用。通常情况下,状态属性造成对象变化产生不同程度的影响,促使对象状态发生一定变化,属性值则表示状态变化的相关区间,结合属性取值的具体情况,将会产生不同执行效果的类方法,继而导致对象出现变化。在对象状态属性中,通常包括数据储存属性以及信息控制属性。其中,数据储存属性主要是在类方法的基础上为对象进行赋值,确保对象具有一定数据属性,避免程序结构产生不利影响,使其在数据方面出现相应变化。同时,在信息控制属性下,由于信息属性的差异,以此使程序调用出现变化,改变当前的程序状态行为,促使对象属性有所不同。状态属性通常是软件测试的关键部分,结合状态属性能够有效制作测试用例,利用程序围绕对象状态变化展开分析,以呈现出状态分析的完整性。并且,状态属性也是软件测试过程中的主要追踪对象,结合对象实际变化展开检测工作,促使对象可根据相关方法加以变化,由此分析对象状态的实际行为[2]。

(三)测试技术

软件测试可有效为功能正常运用提供保障,由此应当充分利用测试技术,以确保测试结果的精准性。通常情况下,对象状态测试技术包含两种情况。其一,在程序测试的基础上,运用程序合理断定对象状态,以保证对象变化以及程序相吻合,增强软件测试准确度,在实际测试中,可假设被测试对象,科学安排对象测试状态,强化测试对象分析效率。其二,以规约测试为基础,加强功能以及需求控制,科学判断软件运行情况。采取规约测试的方法,可有效把握测试重点内容,明确对象状态等级,对于较为重要的功能应当采取测试的原则,以确保测试状态得以有序推行。例如,在消息序列处罚对象状态的测试过程中,可充分分析程序类,并根据功能状况,利用逆工程分析的方法,以此得出具体的对象状态转移规律,从而展现出测试用例的合理性。并运用测试技术判断对象状态行为,在程序的作用下,确定测试方法,快速提升测试的精确度[3]。

(三)测试模式

在敏捷开发形式的基础上,相关人员制定了详细的工作机制,主要包含三道测试工序,以有效驱动研发消缺[4]。其中,在第一道工序中,需确保产品功能的正常运用以及各项业务正确等[5];第二道工序主要保障产品质量满足合格标准,符合有关规范要求;而第三道工序则可充分展现出用户跨场景验证,促使系统接口交互通信,以此在三道工序后提升系统运行质量。如图1所示,工作机制的基本流程,以第一道工序以及第二道工序为主。

测试人员关于营销2.0服务系统特性采取相适应的研发模式,确保其具备一定的敏捷性,并以15天为迭代周期,周期内完成编码研发以及单元测试等各项内容。如图2所示,展现出组件测试工作流程。继而表明测试人员需在迭代周期中的第12天进行提交,在最后3天进行持续不间断测试,测试开展下出具有关测试报告,可有效为下阶段测试工作的开展提供前提保障[6]。

1.单元测试

研发人员在开展单元测试过程中,需确保提测代码功能可顺利运行。研发负责人员加强单元测试质量的全面把控,确保达到规定的测试要求,随后测试人员可递交测试申请,保证单元测试得以顺利推进。

单元测试工作开展下,测试人员需充分明确具体的准出要求,做好单元测试工作,因而首先,测试开展中,应当高效完成提测功能开发。其次,测试人员需自行测试通过。并扫码相应代码,避免出现系统问题,最后,研发人员需经过手工调试以及逻辑验证等一系列测试方法,以实现单元模块功能的正常应用,继而得出精准的测试报告,以供检测人员了解系统运行状况。

2.组件测试

组件测试中对环境有着一定要求,需要测试组选定相适宜的测试环境,从而开展的测试工作[7]。在开展组件测试中需充分满足相关准入要求,在符合既定要求后可充分向集成测试组递交有关测试,如图2所示,组件测试的具体流程。在此阶段测试中可有效输出接口测试报告。

一方面,准入要求。工作人员需全面检查swagger接口,接口用例提交过程中还需递交不同方面用例,针对相关接口参数进行验证,确保测试快速通过。

另一方面,准出要求。前台测试组在开展功能测试时,需对可能产生的问题加以关注,快速解决接口测试中的相关问题,避免系统运行出现阻碍,并在中台测试下,应保证测试避免出现失败情况,在Sonar代码扫描下防止出现严重缺陷。

3.集成测试

集成测试需要测试人员在集成条件下整合各项信息资源开展大量测试[8]。如图3 所示完整的集成测试流程。符合准出标准后形成相应的集成测试报告[9]。

集成测试下,应当明确具体测试依据,在测试依据中通常包含较多内容,如,业务模型等,同时,测试人员应当掌握准入标准,在开发任务完成后可推进前台测试,全方位检查各项代码,以保证无严重问题,并在接口测试中加以详查,明确测试脚本,继而为研发人员提供大量的测试数据,以供其开展测试工作。并且,集成测试的测试范围通常包括开发迭代计划内的功能与接口,前期测试目标通常为实现功能的正常应用。此外,集成测试的准出要求,主要为保证系统满足既定需求,并确保其避免出现致命功能缺陷,在Sonar代码扫描下未出现相关代码问题,符合接口测试标准,有利于软件系统的正常运行。

三、测试环境管理

(一)规划测试部署项目

结合营销2.0系统运行的实际情况,合理划分有关业务,软件系统运行时,制定完整的测试部署项目,明确项目的总体要求与测试标准,并逐渐加强对部署项目的全面管控,高效完成各项测试工作,以确保达到良好的测试效果,为软件系统稳定运行提供充足保障[10]。

(二)制定版本控制策略

在版本控制过程中,项目组可充分运用云效平台与研效模块加强代码管理控制,充分强化测试版本的可靠性,确保整体测试效率,快速明确系统问题[11-12]。因此,软件系统项目研发过程中,科学设计分支,从不同分支入手高效开展系统测试,继而形成良好的版本控制。

开发分支中,测试人员需根据分支特点研发,并开展自测工作,随后递交代码到有关分支,随后需告知研发负责人员,明确功能与代码后递交合并。另外测试人员利用云效平台发布测试[13]。

测试分支下,微服务台提测过程中,开发人员应当向有关测试负责人递交测试相关分支请求,确保测试组准确获得测试流程,随后测试组需详细检查交付物,以保证其合格后可实现微服务的有效合并,并发布相应的测试环境。同时,还应当在系统上线前期全面验证即将发布的相关服务功能,以了解软件系统中可能出现的问题,工作人员充分拉取分支代码并完成提交工作。

发布分支下,测试组通过一系列测试后向配置组传达,并由配置组充分合并待发布的微服务要求,传送至发布分支,运用云效平台在既定测试条件下进行发布,在各项测试之后可将镜像发布至生产环境下,并对该环境下测试情况加以注意,若出现有关异常情况,测试人员则需修改发布分支代码至本地后递交发布分支,以此与开发分支以及测试分支进行合并。

四、测试发布管控

在软件系统的测试过程中,通常3天发布新版本,与此同时,各组在测试发布管理中也均有着不同作用。

研发组主要是负责发布具体测试任务,并约定窗口期,未在规定期限内发布则需将其放置于下一版本中进行发布。同时,测试组应当结合具体发布任务进行测试,若通过一系列测试则需在任务单中加以标准,若测试中未通过,则需标明具体原因,通过的发布任务需要一并递交到相应的工程组。工程组则可围绕通过的任务开展测试,以此发布生产环境。

若有紧急任务,可要求研发组直接递交发布任务,并在产品组以及研发组相关负责人的一致同意后可递交测试,测试通过后由工程组进而发布。

五、自动化技术测试

依据最新营销系统的总体特点,相关研发人员可充分利用自动化技术围绕具体项目实施测试。如图4所示。

(一)单元测试

单元测试对代码质量有着较高要求,为了增强覆盖率,测试人员在实际研发时,应当充分将代码递交到指定分支环境中,并全面扫描代码,在开发分支条件下积极开展部署测试作业。

(二)接口测试

在接口测试过程中,研发组能够充分获取接口文档,测试人员可从多方面入手开展測试工作,其中,在业务功能方面可有效判断场景情况;业务规则,明确具体覆盖度;参数验证,符合业务的规则标准;异常场景,开展一系列的大数据量测试;性能测试,可有效了解相关资源要求;安全测试下,开启权限验证等。

(三)UI测试

全新的营销系统由于受到开发多种因素的影响,造成前端元素定位存在一定误差,难以正常推进UI测试,由此需要研究人员将其设为后续的探究目标。

六、测试问题管理

系统管理过程中,详细记录有关测试问题,通过对问题的全面分析,如图5所示,展现出缺陷关闭的具体情况,为此,在开展各项测试工作中,以缺陷为目标加以研究,采取科学的解决方式,加强共性缺陷处理,并借助通用组测试组件,以更好地解决缺陷。

为了带动研发组积极性,应当制定完整的消缺考核机制,完善消缺计划,结合具体情况开展考核,针对表现优异的应当加以奖励,并针对任务未达标人员给予一定惩罚,促使工作人员明确自身职责。

七、结束语

软件系统主要是有营销业务服务以及营销数据服务等模块组成,底层环境则包括云平台以及数据中台等,并利用物联中心强化管理以整合各项数据,推进营销业务的有序开展,并从横向角度出发促使各项业务充分融会贯通,确保业务数据信息得以共同掌握。

綜上,通过从五个不同角度着重探讨了中台以及微服务通信营销系统的测试方式,可有效展现出通过该测试充分把控系统质量,确保系统快速上线。测试时,受到规模大、单位多等因素的影响,导致过程管控不足,缺乏一定的管理经验,由此需要研发人员加以深入探索研究,优化系统程序,从而确保项目测试的实践案例得到全面推广。

作者单位:吴超 广东亿迅科技有限公司

参  考  文  献

[1]鸦文,陆一.大型信息系统软件版本管理流程优化[J].网络安全技术与应用,2021(09)

[2]周昱伟.计算机软件测试技术研究[J].电子技术与软件工程,2021(17)

[3]赵庆涛,孙上海,张孝虎.微服务架构在信息化系统开发平台中的应用[J].冶金自动化.2021(S1)

[4]孙婧鑫.Web应用的自动化测试研究[J].电脑与信息技术,2020(05)

[5]李信鹏,刘威,杨智萍,等.电网企业数据中台方案研究[J].电力信息与通信技术,2020(02)

[6]佟业新,曲新奎.微服务架构中的服务质量保障研究[J].计算机系统应用,2019(11)

[7]杨智.一种软件版本管理模型的设计[J].电子技术与软件工程,2019(11)

[8]姜文,刘立康.应用软件项目的迭代开发与测试[J].计算机技术与发展,2019(04)

[9]朱红甫.打造企业数据中台推进企业智慧运营[J].通信企业管理,2018(02)

[10]易彤,林茂春.基于关键字驱动的自动化测试研究与实现[J].电子技术与软件工程,2015(05)

[11]刘渊.基于对象状态的软件测试方法分析[J].互联网周刊,2022(21):44-46.

[12]杨军,张媛,甘丽清,等.大规模项目软件测试机制研究与应用[J].信息技术,2022(10):142-146+152.

[13]阳红,车凌,郭萌.软件测试质量评估方法研究[J].电子质量,2022(10):1-4.

猜你喜欢
测试环境软件测试
全数字仿真测试环境在航天软件测试中的应用研究
基于OBE的软件测试课程教学改革探索
航天软件测试模型构建与应用
发动机试验室运行及安全要求
服务导向下的网格软件测试环境研究
雷达航迹处理测试环境构建方法研究
网络设备自动化测试设计与实现
EXCEL和VBA实现软件测试记录管理
关于软件测试技术应用与发展趋势研究
负离子纺织品检测方法分析