2022年自动化测试技术的探讨与研究 .pdf
《2022年自动化测试技术的探讨与研究 .pdf》由会员分享,可在线阅读,更多相关《2022年自动化测试技术的探讨与研究 .pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、自动化测试技术的探讨与研究研究生姓名:学号:0912*学科专业:*摘要 软件测试在软件开发中占有非常突出的重要位置,软件必须通过测试才能确保其在应用环境中正常工作。在测试过程,运用自动化软件测试技术可以减少测试周期,节约人力成本,同时也减少了人为出错的机率1。本文通过对自动化测试技术的介绍,对当前流行的几种自动化测试技术以及自动化测试工具的比较,系统全面的讨论了自动化测试技术。首先从介绍自动化测试的基本概念入手,然后对当前几种比较流行的自动化测试技术进行了研究和比较,接着介绍了几款成熟的自动化测试工具,最后对自动化测试进行了总结和展望。关键词 自动化测试;手动测试;测试用例;测试工具;一、前言
2、软件测试是对创造力和智力非常有挑战性的任务。测试一个大型软件需要的智能要超过设计这个程序的智能2。软件在它发行之前应当通过彻底的测试以保证它的可靠性和功能性。测试工程师要覆盖一个大型应用程序的所有情况是一件非常麻烦和费时的事情,但为了保证软件质量,我们不得不这样做。那么有没有省时省力的技术或者工具去帮我们做这样的事情呢,由此便有了下面对于自动化测试技术的探讨。二、自动化测试的概念自动化测试一般是指软件测试的自动化,软件测试就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件3。自动化测试一般包括测试过程自动化和测试结果分析自动化。测试过程的自动化指的是不用手工逐个
3、的对用例进行测试。测试结果分析自动化指的是不用人工一点点去分析测试过程中的中间结果或数据流。软件自动化测试就是模拟手动测试步骤,执行用某种程序设计语言编制的测试程序,控制被测软件的执行,完成全自动或半自动测试的过程。全自动测试就是指在自动测试过程中,根本不需要人工干预,由程序自动完成测试的全过程。半自动测试就是指在自动测试过程中,需要手动输入测试用例或选择测试路径,再由自动测试程序按照人工指定的要求完成自动测试。名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 8 页 -三、自动化测试的前提对于开发出来的软件产品,是不是都可以使用自动化测试技术,这个答案显然是否定的,对于是否应用自
4、动化测试技术我们需要一定的前提条件。1)软件需求变动不频繁。测试脚本的稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁,测试人员需要根据变动的需求来更新测试用例以及相关的测试脚本,而脚本的维护本身就是一个代码开发的过程,需要修改、调试,必要的时候还要修改自动化测试的框架,如果所花费的成本不低于利用其节省的测试成本,那么自动化测试便是失败的。项目中的某些模块相对稳定,而某些模块需求变动性很大。我们便可对相对稳定的模块进行自动化测试,而变动较大的仍是用手工测试。2)项目周期足够长。由于自动化测试需求的确定、自动化测试框架的设计、测试脚本的编写与调试均需要相当长的时间来完成。这样的过程本身
5、就是一个测试软件的开发过程,需要较长的时间来完成。如果项目的周期比较短,没有足够的时间去支持这样一个过程,那么自动化测试便成为笑谈。3)自动化测试脚本可重复使用。如果费尽心思开发了一套近乎完美的自动化测试脚本,但是脚本的重复使用率很低,致使其间所耗费的成本大于所创造的经济价值,自动化测试便成为了测试人员的练手之作,而并非是真正可产生效益的测试手段了4。另外,在手工测试无法完成,需要投入大量时间与人力时也需要考虑引入自动化测试。比如性能测试、配置测试、大数据量输入测试等。四、自动化测试与手动测试自动化测试相对于手工测试的优点:优化测试速度:可非常快速的运行上万条记录提高准确性、稳定性:可以不为外
6、界因素干扰,准确运行测试用例确定性:能真实快速搭建测试环境,测试数据,重现缺陷提高工作效率:一边运行自动化测试,一边准备测试报告测试环境搭建:可以结合多种编程语言及技术协助搭建测试环境,防止手工测试重复劳动,如批处理技术提高技能:可提高测试人员技能,同时提高对测试的兴趣,防止对手工测试感觉枯燥5名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 8 页 -但是对于自动化测试也不要进入一个误区,有自动化测试不再需要手工测试这种观点是不对的。自动化测试虽然有如此多的优点,但是有些测试比如:本地化测试、用户体验测试、测试环境搭建方面并不能完全代替手工测试。自动化测试的基础也必须是对产品的运
7、行,测试点有一定的手工测试的基础,自动化测试和手动测试是相辅相成的。自动化测试并不仅指自动化运行测试产品,数据处理也是非常重要的一个环节。并非只是自动化测试工具如QTP,Loadrunner,等才可以做自动化测试,很多的编程语言都可以运行自动化测试。比如QTP就是基于VBScript语言的一款自动化测试工具,只是在VBS上的一些封装。五、自动化测试技术比较基于组件的自动化测试技术该测试是针对软件设计的最小单位组件,进行正确性检验的测试工作其目的在于发现各组件内部可能存在的各种差错,确保每个组件都能有效实现自己的预期功能。这一步是为了在选择组件阶段把好组件“准人”关,无论是自己开发组件、第三方组
8、件或是其它来源的组件,都要对每一个组件进行测试。组件自身测试是典型的黑盒测试,即在不考虑代码内部结构的前提下,根据需求对应用程序进行测试。它的任务足验证组件的功能及其它特征是否与预期的要求一致。组件测试时应充分考虑到该组件可能涉及到的尽可能多的内外环境因素6。基于组件的自动化测试技术的过程模型基于关键字驱动的自动化测试技术在我们的测试脚本中可能会用到上千条这样的语句,测试工具通过按钮名字和显示文本来识别这个按钮。可以想见,当其中任何一个发生改变时,所有相关的脚本都会受到影响,维护这样的脚本是十分困难的。为解决该问题,我们可以做到以下几个分离,界面元素名与测试内部对象名的分离,测试描述与具体实现
9、细节的分离,脚本与数据的分离。以上这“三个分离”正是关键字驱动自动化测试的核心思想,各司其职、互相独立,才能最大程度地减少相互之间的影响7。名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 8 页 -基于关键字的自动化测试模型基于数据操作的自动化测试技术所谓数据操作操作自动化测试技术,就是把数据作为测试动作应用的基本对象,并以此为出发点,把对数据驱动的软件测试活动转化为一系列数据操作,通过不同的数据操作体现被测软件的应激状态,进而达到软件测试的目的。从上文可知,关键字驱动脚本通过导航脚本控制,分别读取关键字支持脚本和数据文件的固有机制带来了执行效率问题,因此可以合并导航脚本和关键字
10、支持脚本,即提高关键字脚本所处的层次,也就是说,把脚本执行控制字和数据操作关键字合并,形成一种真正的面向数据操作的脚本语言,同时为了解决文件数据固定问题,使用另一种脚本来描述多样的数据结构,同时把对数据的不同加工方式融入脚本描述中,这样就解决了数据结构定制和完备产生的困难8。基于模型驱动的自动化测试技术模型驱动测试就是通过对SUT 的功能与系统结构进行分析,然后结合测试策略构建起全面、清晰的测试模型,最后通过测试模型自动生成测试用例驱动测试人员完成SUT 的测试。模型驱动测试的优点主要有两方面:(1)测试模型为用户提供了更加清晰、准确和系统的测试设计。无论是基于数据驱动的还是基于关键字驱动的自
11、动化测试技术展现给用户的都是一个个互不相关的测试用例啪,用户很难从生成的测试用例中理解整个测试系统的结构与测试重点。(2)减少了测试用例维护工作,实现了测试资源的重利用,有效缩短了测试周期。建立起测试模型后,测试系统没计师可以在测试需求或SUT 的系统设计规格发生改变后通过调整测试模型(而不是个性测试用例)来适应变化9。名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 8 页 -基于模型驱动的自动化测试架构图基于数据驱动的自动化测试技术数据驱动自动化测试是一种数据被包含在输入测试数据文件中,并且以数据来控制自动化测试脚本执行的流程和动作的测试。输入测试数据记录是从外部文件中读入的,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年自动化测试技术的探讨与研究 2022 自动化 测试 技术 探讨 研究
限制150内