对基于云计算技术的软件测试分析

2020-11-26 17:16闵啸
电子技术与软件工程 2020年15期
关键词:测试软件测试工具软件测试

闵啸

(中国船舶重工集团公司第七二三研究所 江苏省扬州市 225011)

软件测试是软件开发活动的重要组成环节,其主要作用在于检验软件的功能水平,分析软件的安全性、完整性与可投用性。因此,可将软件测试视为软件质量的“把关者”,其可靠与否将直接影响到软件的开发效果与应用价值。但从目前来看,传统的软件测试技术已逐渐落后于社会发展,寻找“云时代”下的新型软件测试手段势在必行。据此,我们有必要对基于云计算技术的软件测试展开探究讨论。

1 基于云计算技术的软件测试的概念特点

1.1 基于云计算技术的软件测试的概念定义

对于“基于云计算技术的软件测试”这一概念,可分成“软件测试”与“云计算”两个部分进行解读。所谓“软件测试”,就是对软件的模块功能、代码质量、数据安全等方面进行检测分析,以评估其是否符合开发设计的方案要求与效果预期。一般情况下,发现系统漏洞、功能错误、代码缺陷、数据风险的水平越高、范围越广,即代表软件测试的技术水平或平台质量越优秀。而“云计算”,则是大数据技术发展下的“云时代”产物,其主要通过由多个子服务器组成的运算系统,对海量化的数据信息进行分布式运算与具体化分析,并在得到相应的运算结果后,对系统、用户进行综合反馈。同时,随着新时代的不断推进与信息技术的持续融合,云计算逐渐在定义上突破了单一的分布式数据计算技术,转而形成了包含分布式计算、并行式计算、虚拟化分析、热备份冗余、海量数据存储等多种功能于一体的技术体系,其对数据信息的分析能力也随之有了显著提升。基于此,将上述两个概念进行融合,即可将“基于云计算技术的软件测试”定义为:在云计算的虚拟环境下,通过多种大数据分析方法评估测定应用软件开发质量与设计水平的测试活动[1]。

1.2 基于云计算技术的软件测试的优势特点

从目前来看,与传统时期的测试方法相比,基于云计算技术的软件测试主要表现有以下几点优势:

(1)传统手工测试方式对测试人员具有较强的素养依赖性,若测试人员缺乏丰富的软件测试经验与编程开发知识,或存在消极怠工的负面情况,将很难在复杂的测试工作中形成客观、正确且全面的评估判断,相应的测试结果也就难以保质。与之相比,云计算技术下的软件测试工作不会受到人因风险影响,测试结果的可靠性、客观性与标准性均优于传统时期。

(2)在传统时期,培养出一个逻辑思维缜密、技术知识完备、专业素养优秀的测试人员,需要投入大量的人力、物力与资金成本。而受限于软件程序的结构复杂性与数据海量性,优秀的测试人员往往也需要在软件测试中耗费较多时间与精力。相较之下,云计算技术采用了分布式计算的数据信息处理方式,可实现多个云端服务器的共同运作,故而能在数分钟甚至数秒内实现以万为单位的软件数据分析。因此,将云计算技术应用到软件测试的工作实践中,更具经济性与高效性。

(3)在传统时期,虽然已有依托程序脚本的自动化、专业化软件测试工具出现,但其市面价格大多高昂,中、小型企业单位较难承受。同时,很多软件开发项目中仅涉及到几次甚至一次测试任务,因此相关自动化测试工具的利用率与其投入成本难达对等。从这一方面来看,基于云计算技术的软件测试平台搭建成本更低,且具备良好的复用能力,可在软件测试活动中表现出更高的投入性价比。

2 基于云计算技术的软件测试的应用表现

2.1 在云测试平台中的应用

所谓云测试平台,即为用户提供出一种以云计算为框架的软件测试环境。在此平台环境当中,用户可根据自身的软件测试需求与具体评估指标,进行云测试方案的自定义编制与云测试任务的灵活化执行。现阶段,常见的云测试平台有YETI、D-Cloud、Cloud9 等,其均可满足兼容性测试、数据安全测试、响应延迟测试、软件功能测试、数据流压力测试等多种项目的工作需求。

2.2 在云测试工具中的应用

从某种程度上来讲,可将云测试工具视为云测试平台的“拆解构件”。通常来讲,云测试工具的功能是单一的,即单个工具与压力测试、兼容性测试等单个软件测试项目或更细小的单个评估指标相对应。用户在软件测试活动中使用云测试工具时,通常采取模块化理念,按软件开发与软件测试的具体需求,对云测试工具进行个性化的结构组合与策略调度,从而构建出为软件对象“量身定制”的测试环境。其后,再对测试环境的各项执行参数、算法标准进行配置输入,即可为软件创造出完备、优质的测试条件。最后,在各类云测试工具依托云计算技术完成相应的数据处理任务后,即可在短时间内进行测试报告的自动编制生成,为用户提供出软件质量的有效评估依据。同时,将云计算技术与数据整理技术协同运用到云测试工具的模块应用当中,还可在测试报告生成的同时,实现表格、图像等可视化资料的同步编制,进一步为用户的软件评估活动提供便利[2]。

2.3 在云测试软件中的应用

将云计算技术融合到软件载体当中,为用户提供出相对系统性、便捷性的软件测试支持,也是云计算技术下软件测试应用的常见表现形式。在实践中,云测试软件的运作机理与常规软件平台相似,其具有相对固定的模块架构,可满足用户编写软件程序、调整测试项目的大部分需求。其特殊之处在于软件的运行环境并不在本地计算机系统当中,而是在云端服务器上。所以,云测试软件可在很大程度上突破计算机系统在处理器运行水平、数据库承载能力等方面的限制,获得更大规模、更快速度的软件数据分析能力。但需要注意的是,云计算软件的后台运行流程、资源分配方式均处于智能化、自动化配置状态,因此具有不可见性。一旦测试软件本身存在故障,往往很难及时得到感知与处理。所以,云测试软件多用于常规测试项目的任务执行当中,如软件压力测试、软件基本性能测试等。

3 基于云计算技术的软件测试的系统设计

3.1 云测试系统的应用需求分析

结合目前软件开发与软件测试行业的发展现状,主要对云测试系统的架构设计提出以下几点功能需求:

(1)基于云计算技术的软件测试系统应以云端服务器为运行环境,故而需要将浏览器作为通道支持。所以,应保证系统面向多种常用浏览器具备兼容性,具体包括IE 浏览器、Fire Fox 浏览器、Chrome 浏览器等。

(2)应尽量保证云测试系统的界面简洁、模块清晰,使用户在登录系统、观看系统主界面时,可顺利依靠文字或图像引导完成测试脚本编制、测试程序上传、测试参数输入、测试标准设置、测试状态感知、测试结果获取等一系列实践行为。

(3)为了实现不可见性测试问题的有效规避,使用户及时排查测试软件或测试脚本自身存在的缺陷,应在云测试系统中配备出云回放功能,实现测试过程中后台程序流程、参数变化的全面呈现。

(4)采取分布式计算、并发式运行的测试机制,实现不同测试项目、质量指标的一键性操作、同步性测试评估。通过这样的机制,可大幅节约软件测试的耗费时间,使用户获得更高水平的系统应用体验。

3.2 云测试系统的总体框架设计

云测试系统共由用户交互层、服务管理层以及资源管理层三个层次组成。其中,用户交互层主要负责用户的操作引导与信息的界面呈现,用户可在该层中完成系统登录、脚本上传、参数设置等操作,并直观获取到各项测试任务的报告结果;服务管理层主要负责所有测试任务、测试脚本的运行与反馈,并对用户登入账户的服务权限进行审核与匹配;资源管理层为云测试系统的核心部分。在用户提交测试项目、测试脚本后,资源管理层可根据用户的具体需求,进行算法工具、功能模块等各类资源的协调调配,以支持软件测试活动的顺利完成。

3.3 云测试系统的模块细节设计

在设计用户交互层时,应保证系统界面包含账户管理、项目管理、脚本管理以及报告管理四个部分。其中,账户管理需设计出注册、登录、修改密码以及注销四个键入功能;项目管理需设计出项目创建、项目显示、项目参数修改、项目删除以及项目执行五个键入功能;脚本管理需设计出脚本呈现、脚本添加、脚本删除、脚本编制以及脚本参数存储五个键入功能;报告管理只需设计出报告生成、报告保存与报告阅读三个键入功能即可。通过这样的设计方式,可基本满足用户在软件测试中的界面观看与按键操作需求。

在设计服务管理层时,应将该层次分为测试管理、费用管理、后台监测以及结果处理四个部分。其中,测试管理模块应与云端服务器建立连接,进行各项测试任务的云部署、运计算;费用管理模块可将虚拟机数量、计算CPU 使用情况、云端数据库占用情况、测试时长等作为指标,进行付费标准的合理设置;后台监测模块可以Timer 类循环指令为核心,进行云端服务器数据库、虚拟磁盘、CPU 等部位参数的动态采集与存储,直至软件测试项目结束时同步停止;结果处理模块应配置出多种云计算工具与数据整理工具,从而依托后台检测模块导入的海量数据,实现软件测试报告的编制生成,并进一步转化呈现出表格、图像等信息载体[3]。

在设计资源管理层时,应保证该系统层次对虚拟机、云端数据库、虚拟磁盘等软件测试的处理机构具备导向能力,以实现各方资源的动态调度与灵活运用,为软件测试项目的完成提供充足资源保障。

4 结论

总而言之,基于云计算技术的软件测试方法及工具在很大程度上解决了传统时期人工测试、自动化测试在投入成本、耗费时间、性价比、人因风险等方面的避免问题,具有高度的应用价值与推广前景。在软件开发与软件测试的实践应用中,相关人员要根据实际的软件测试项目需求,进行云测试工具的科学选用与合理配置,以获取到全面、准确的测试报告,为软件程序调整、软件漏洞修复、信息安保强化等后续工作提供可靠的评估依据。

猜你喜欢
测试软件测试工具软件测试
网络自适应测试软件运行方法设计
基于OBE的软件测试课程教学改革探索
Http并发连接测试工具
EXCEL和VBA实现软件测试记录管理
关于软件测试技术应用与发展趋势研究
手车式真空断路器回路电阻测试电流线接头研究
软件测试工程化模型及应用研究
福禄克推出先进的连接式测试工具系统
远程开放教育学生自主学习能力评价的研究