云计算计算机软件测试技术探析

时间:2022-10-12 11:03:42

云计算计算机软件测试技术探析

1引言

云技术的出现在很大程度上改变了服务的模式,软件服务已经开始拓展到基础设施和平台层面,这从根本上改变了软件的消费和生产模式,也影响着软件的设计与架构。所以,在云计算的背景下,想要适应计算机软件的发展需求,就必须对计算机软件技术进行相应的变革。此外,在云计算的背景下,相关的软件测试工作必须采用云平台中的存储资源,且在云平台上进行,这也是当前基本的发展趋势。总的来说,我国在云计算软件测试技术上的发展与部分发达国家相比还存在比较大的差距。在这种情况下,笔者对基于云计算的计算机软件测试技术进行分析和研究,能够在一定程度上推动同行业从业者的研究热情,推动相关技术的进一步发展。

2基于云计算的计算机软件测试概述

现在,在基于云计算的计算机软件测试的概念问题上,学术界还存在着不小的争议,但是总的来说,可以分为以下几种:第一种,这一测试是指在云环境既有资源的基础上,通过建设基础设施,尽可能降低发生问题的概率,从而进一步提高计算机软件技术。第二种,它是指在云计算的基础上,通过应用程序来模拟用户流量。第三种,该项测试技术由两个部分组成,第一部分是指通过运用现有的云资源,对实际负荷和用户流量进行模拟。第二部分是指为了保证计算机的软件性能,在云基础设施建设的基础上,进行综合性的调试。当前,第三种定义是比较获我国学术界认可的。此外,以上的几种定义主要是从广义的角度出发,从狭义的角度来说,该项技术是指在云计算平台的基础上,软件开发商对软件进行测试的行为。实际上,该项技术是为了完成各类测试目标,而借助云计算平台,获取需要的测试资源。

3基于云计算的计算机软件测试的几个特征

基于云计算的计算机软件测试技术(以新的测试技术指代)与传统的技术相比,其主要拥有以下几个明显的特征。3.1付费方式。新的测试技术采用的服务形式是阶段性的,这让用户可以按照自己的具体情况来做出相应的选择。而传统的软件测试的前期费用较高,因为必须一次性付费,这相较于新的测试技术,就不够人性化。3.2基础设施。新的测试技术的基础设施不需要自己购买,主要由云供应商供应。而传统的软件测试则需要自己购买诸如硬盘、网络设备等基础设施。3.3对软件测试人员的要求。传统的软件测试需要公司自己配备专业的工作人员,而新的测试技术得测试人员大部分由云供应商提供。3.4测试环境。传统的软件测试技术在测试环境的部署和测试资源的配置上需要借助人工手动完成。而新的测试技术借助云平台就可以自动完成相关工作,大大节约了人力支出。3.5测试的管理模式新测试技术的管理方式是集成化的,这让项目管理能够被高度的集中,为软件测试的质量提供了保障。两者具体的区别可见表1。

4基于云计算软件测试的分类研究

当前,主要分成基于用户测试的分类和基于测试任务的分类这两个方面来对新测试技术进行研究。从不同的角度来看,新的测试技术可以被分成不同的类型。接下来,笔者将从上述两方面入手,对新的测试技术的分类进行分析。4.1基于测试用户角色的云计算软件测试分类。此种分类方法通常是从系统开发人员、用户以及云计算供应商的角度来对软件测试进行分类。此外,基于云计算的计算机软件测试按照不同的测试用户角色,可以分成以下类型,具体如图1所示。云上测试是指通过云供应商在云平台上部署的服务运用来测试软件系统的规范性。通常来说,都是由云的系统开发商来开展云上测试的;云内测试通常是指测试特定的云能力或从内部视角出发去测试软件。具体而言,云内测试包括内部管理、自动、安全功能以及SaaS功能的测试。需要注意的是,通常只有云供应商才有权限开展相关工作;云中测试是指在云平台中进行测试,以验证软件的SaaS功能;云外测试是指从外部视角出发,测试和验证云计算中部分职能功能的测试。4.2基于测试任务的云计算软件测试分类。现在,最基本的对新测试技术进行分类的方法就是从测试任务的角度进行分类。基于云计算的软件测试从测试任务的角度划分可以分为八种类型。它们是:安全测试、延迟测试、浏览器性能测试、兼容性测试、功能测试、性能测试、负载测试和压力测试,具体来说如图2所示。安全测试是指对非SaaS和SaaS软件的系统安全性进行测试;延迟测试是指应用程序部署在云平台上后,对系统的响应延迟进行测试;浏览器性能测试是指在不同浏览器中,对非SaaS和SaaS软件的性能进行测试;兼容性测试是指利用存在于云计算平台上的多种浏览器、多种数据库以及多种操作系统的环境来对软件兼容性进行测试;功能测试是指对非SaaS和SaaS软件的各系统功能进行测试;性能测试是指经由云平台而得到的有关系统软件的性能指标;负载测试是指把被测试软件处于满负荷情况的时候,对系统的负荷能力进行测试,以便第一时间发现软件设计和架构中存在的问题;压力测试是指测试云平台的大数据计算能力。通过压力测试,可以得到系统所能提供的最高服务并从根本上提高系统的性能。

5基于云计算的计算机软件测试架构分析

基于云计算的软件测试与传统的软件测试平台之间存在很大的区别。因为基于云计算的软件测试涉及到更加丰富的内容,所以整个平台的架构也会变得更加复杂。具体的测试架构类型如下所示:5.1Cloud9。此平台是在IBM提供的云平台基础上,由瑞士洛桑理工大学建立的软件测试系统。此系统即可在私有云的基础上运行,也可以在公共云的基础上运行。此外,Cloud9可以在很短的时间内方便地对软件进行全面的自动化测试。初步结果表明,在最先进的符号执行引擎上,其速度提高了一到两个数量级。最后,Cloud9是一种随需应变的软件测试服务:它运行在计算云上,就像AmazonEC2一样,并能够在更大的动态范围扩展其资源的使用5.2D-Cloud平台。此平台是由日本驻波大学开发。在这个平台中,已经完成了虚拟故障插入技术的内置,能够完成大规模的分布式测试。5.3YETI测试云系统架构。在YETI项目当中,英国的约克大学通过部署相关实践性活动在云计算服务平台中,构建了关于YETI的云测试系统构架。同时,该大学也对云测试当中性能与安全的相关问题进行了深入的分析和探究。此外,YETI是以亚马孙的EC2平台作为基础而建立得,其可以对Java的相关程序起到有效的支持,并进行自动化的测试。虽然这三种架构目前得到了比较广泛的运用,但是他们都还存在着一定的缺陷,需要专业的技术人员对他们进行进一步的优化。

6结束语

作为当前信息技术发展的前沿,云计算技术的发展极大地影响着软件测试技术的发展。然而,总体而言,我国目前关于云计算的计算机软件测试技术的发展与部分发达国家相比还存在较为严重的滞后,需要整个行业一起努力对其进一步进行完善。笔者在本文中简略的介绍了基于云计算的计算机软件测试技术,并对其基本架构进行了分析,希望能够在一定程度上推动我国云计算计算机软件测试技术的发展。

参考文献

[1]刘嫚.计算机软件的测试技术[J].电子技术与软件工程,2018(3):64.

[2]杜娟,骆庆,张泉.计算机软件测试技术与深度开发应用探讨[J].电子测试,2017(19).

[3]张书锋,刘正.基于MVC设计模式的SaaS云计算数据中心构建与鲁棒性测试模式探究[J].电脑知识与技术,2017,13(31):224-226.

[4]唐滔,邱旭东.初探云计算在测试领域中的应用[J].科技资讯,2016(15).

[5]王晓华.软件测试技术应用研究[J].国防科技工业,2017(03).

[6]王小红.基于云计算的计算机软件测试技术研究[J].安阳师范学院学报,2018(2):69-71.

作者:张赟 单位:武汉职业技术学院