浅议软件测试自动化

来源 :科学与财富 | 被引量 : 0次 | 上传用户:lenovo_king
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:软件测试是保证软件质量的重要手段。软件自动化测试对于提高测试效率与测试质量起着重要作用,但由于被测系统的复杂性,使得软件自动化测试变得难以实施。因此,对软件自动化测试技术的研究具有十分重要的理论和实用价值。
  自动化测试就是希望能够通过自动化测试工具或其他手段,按照测试工程师的预定计划进行自动的测试,其目的是降低测试的劳动量,达到提高软件质量的目的。涉及到测试流程、测试体系、自动化化编译、持续集成、自动发布测试系统以及自动化测试等方面。
  一、 软件测试自动化的概念
  软件测试自动化就是执行用某种程序设计语言编制的自动测试程序,控制被测软件的执行,模拟手工测试步骤,进行全自动或半自动测试。全自动测试指在自动测试过程中,根本不需要人工干预,由程序自动完成测试的全过程。半自动测试指在自动测试过程中,需要由手工输入测试脚本或选择测试路径,再由自动测试程序按照人工指定的要求完成自动测试。
  为保证软件的质量,必须按照软件工程的方法,在软件生命周期的各个阶段进行有效的管理和度量,软件测试是软件生命周期的重要阶段。目前软件测试普遍采用传统的测试方法,即白盒测试和黑盒测试。在测试工具上大多采用手工测试,或编制一些简单的测试程序进行测试,既耗时间又不规范。更大的隐患在于当将软件分发给用户使用时,常常会发生问题,严重时导致系统瘫痪。自动测试技术目的在于消除手工测试中人为的错误,加快测试循环,有效利用资源,提高工作效率。同时,使测试具有一定的规范性,提高测试的可重复性。
  二、软件测试与自动化的联系
  测试是一种技术。根据IEEE的定义,软件测试是使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果和实际结果之间的差别,尽可能发现存在的缺陷。它的目标是以较少的测试用例、时间和人力找出软件中潜在的各种错误和缺陷,以确保系统的质量。
  自动测试也是一门技术,但与测试技术有很大不同。自动化测试是利用策略、工具以及产出等,减少人工介入到非技术性、重复性、冗长的测试活动里,从而达到无人监守完成测试,并自动产生测试报告,分析测试结果等一系列活动。自动化测试的目标是对被测试系统进行自动测试。总的来说,自动化测试的目的就是用较少的开销,获得彻底的测试,并提高产品的质量。
  软件测试是由一系列有序活动组成的,始于测试计划,着重测试开发。软件测试自动化是针对这一系列活动及其管理的自动化,包括软件测试过程规范管理的自动化和软件测试活动的自动化。
  无论自动测试还是手工测试都不影响测试的有效性,即测试的有效性和测试方式无关。测试脚本的设计与选择和测试质量有着直接关系,好的测试脚本方案应该可以以有限的数量发现软件中的大部分缺陷。因此选择何种测试脚本进行测试十分重要。实验和经验表明随机选择测试脚本并不是测试的有效方法,好的测试方法应该是开发好的测试脚本。
  什么样的测试脚本是好的测试案例?有四个特性可以描述测试脚本的质量,它们分别是有效性,可拓展性,经济性和可维护性。监测软件缺陷的有效性是最重要的一个方面。好的测试脚本应该是可拓展的。可拓展性的意思是,这个测试脚本可以测试多项内容,这样就有效减少了测试脚本的数量。另外还应从成本出发去衡量一个测试脚本的经济性,包括测试脚本的执行、分析和调试是否经济,以及测试案例的可维护性,即每次软件变更后修改测试脚本的成本。
  通常对这四个方面要进行平衡。例如,一个测试脚本可以覆盖到很多的测试内容,但要其执行和调试的成本可能很大。可能在每次软件变更后需要对测试脚本进行大量的维护。一次高拓展性可能导致经济性和可维护性比较低。因此测试技术不仅要保证测试脚本具有发现缺陷的高可能性,而且还要保证测试脚本的经济性,避免过高的执行、分析和维护成本。
  对于手动测试脚本来说,无论测试执行的次数是多少,其经济性和可修改性都不会发生变化。然而对于自动化系统测试来说,在该测试第一次被执行时,其经济性和可维护性都比手动测试脚本要低,但伴随着测试的持续反复执行,自动测试的经济性迅速增长,可维护性也伴随着提高,当一个测试需要被重复执行时,自动化系统测试开始显示它的价值。自动测试的方法越好,长期使用获得的收益越大。
  三、 测试自动化的现状
  目前对于软件自动化测试主要有如下几种方法:
  1、手写静态测试自动化方法 该方法应用静态的测试脚本和固定的测试脚本在被测应用的GUI上运行。这种自动化实际上只是体现在测试执行过程中,并且脚本需要反复调试,健壮性差。
  2、随机输入自动化测试方法 这种方法的原理是让计算机模拟真实用户去进行各种GUI操作,只不过是测试过程本身涉及的行为是随机产生的,顺序也是随机产生的,它虽然可以发现一些测试人员无法发现的缺陷,但机会是很偶然的,因为测试程序本身并不知道对于它所产生的每一步操作及被测软件系统应该是如何反应的。
  3、基于捕获/回放(C/P)机制的测试自动化方法 这种方法的本质是由测试人员与包含被测GUI的软件系统进行交互,基于C/P的工具负责将交互过程的场景和GUI操作捕获,生成测试脚本,再将这些操作进行回放。其优点是脚本生成相对容易;但是缺点也很明显,交互过程对测试人员的操作要求极高,并且脚本的可重用性非常差,对于回归测试过程无法提供有效支持,这些缺点使得该方法无法完美解决GUI测试的主要问题。
  4、基于模型描述的自动化方法 这种方法的关键是对被测系统的行为进行形式化表述,形成模型,然后采用有穷状态机FSM ( Finite State Machine)从模型中产生测试脚本。通过这种方法产生的测试脚本可以有效的测试系统的具体行为是否满足系统设计要求,同時可以根据测试标准有选择地进行测试脚本生成和运行,但是缺点在于目前的系统规模越来越大,对于系统行为的模型描述越来越困难。这也是为什么这种方法一直无法在业界推广的一个主要原因。
  四、测试自动化的挑战
  伴随着开发及发布软件所使用的技术的更新,软件测试正面临新的机遇与挑战,图形用户界面GUI、分布式处理和庞大的分散网络就是这些新技术的代表。
  不仅技术是新的,而且它们比传统软件更加难于测试,因为这些软件更加复杂。用户界面更加丰富。其中客户服务器(C/S)应用构成了重要表现的一类软件,且已成为主流。它们采用了较多的新技术,在C/S软件体系结构中,处理被分散在客户机和服务器上,其中客户机处理在专门的PC机上实施并提供图形用户界面和一些本地处理,而服务器处理在共享机上实现并为客户机提供特定的服务,如数据库管理及通信。通常客户机软件具有一个GUI界面,并且可以运行在相对便宜的PC机上;服务器软件需要具有多用户能力和较高的性能。在这种环境下应用系统的测试面临着新的挑战。
  首先基于GUI的软件大多采用事件驱动模式,这与传统的顺序型有很大的不同,条件组合的数量庞大且多变,传统的测试手段难以覆盖所有的运行状态;另外,由于迫使测试需求急剧上升的快速应用开发技术的普及和多个客户站点的软硬件配置的差异,更使得自动化测试成为不可缺少的环节。从服务器来看,许多客户机并发访问的测试,用手工的方式是很难模拟和再现的。为此,基于图形用户界面的客户服务器应用软件质量的保证必须依赖自动化测试工具。
其他文献
研讨智能检测与诊断中的可能性分布知识库模型的建立和可能度确定的方法。该方法可适用于各类控制系统中的智能检测、诊断及控制中的知识表示及推理等领域。 To discuss the
摘 要:环境监测技术是专门针对环境问题建立起来的监测和预防技术,将物联网和云计算技术应用到环境监测系统中,建立现代环境监测体系,实现环境监测的智能感知、智能处理和智能管理,以达到全方位地监管环境。  关键词:环境监测; 物联网;云计算  一、环境监测的意义  随着科技的不断发展,人们生活水平的不断提高,加剧了对自然资源的攫取,给生态环境造成严重的破坏。当前全球环境的日益恶化,保护环境受到人们的高度
期刊
摘 要:唐代,素有“衣被天下”,“衣冠王国”之称。在这个开放而又繁华的朝代,羽衣霓裳展盛世,女权意识的崛起,女性的地位的提高,女子服饰得到空前发展,对现代中式礼服设计仍然具有借鉴意义。随着物质经济水平和人民消费水平的提高,出席政治外交和社交经济的需要,中国嫁衣风盛行,中式礼服的消费市场不断扩大。现代的中式礼服在历史与现代中找寻交融点,在层出不穷的创新发展着。从唐代女子服饰的特点、时代特点、工艺特点
期刊
作者在一台单缸四气门汽油机上,通过激光多普勒测量,研究了安装在一个进气道内的涡流控制阀打开和关闭后,缸内平均流动、湍流强度和湍流结构的变化。研究结果表明,涡流控制阀打开
摘 要:中国水墨画历史悠久,以其深远的意境,简洁而明快的表现张力,冲击着设计爱好者的思维神经。其独特的艺术语言和审美特点,不同与西方的绘画语言,颇受大众的喜爱。对其进行研究、推广和引入平面设计中。不仅形成具有中国特色的民族设计的新潮流。也将使水墨文化对世界的影响更加广泛。本文意在指出如何将传统的中国元素与现代设计合理结合,如何使中国的设计更具民族性和本土文化的特性,这是中国设计走向世界的根本,也是
期刊
涡桨六(WJ-6)发动机在实际使用中,易发生起动超温的故障.为解决这个问题,我们研制了涡桨六发动机起动监控装置.本文介绍了该起动监控装置的研制思路、组成和技术特点.
摘 要:微信、有道云、QQ、课程网站等信息化工具的普及,以及伴随数字化校园设施打造,让微信等 “信息化工具”运用到我们的教学中成为趋势,这些“信息化工具”的运用为我们实现课程中理论知识和技能要点的分享提供了便捷通道,也能实现我们高职生碎片化学习的需求;同时也让广大教师把那些需要反复讲授的知识点快速分享给学生提供便捷通道,即节约了教师的时间,也方便学生快速查找问题解决方案,满足了学生自主学习的需求。
期刊
该文在给出涡街信号的检测和流量计算的软件流程后,提出了实现智能化的方法:将涡街流量计的各种功能参数化,即通过友好界面,用户可凭借设置特定参数项的值,达到智能仪表的软件组态
增强现实技术是近年来在虚拟现实基础上发展起来的一个新型研究领域,在很多商业领域具有十分广泛的应用,但在军事应用领域还未引起足够的重视。因此,通过研究现有增强现实系统的关键技术及设备的进展情况,分析得出了其在军事上的需求,初步探讨了其在军事信息领域的发展方向,展望了其在信息化战场上的应用前景,最后从需求及应用角度出发阐明了增强现实技术在军事上的重要性。  一、什么是增强现实  增强现实技术是近年来在
期刊