软件测试自动化

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

www.watertek.comCopyright20001SoftwareTesting软件测试自动化www.watertek.comCopyright20002软件测试自动化•为什么进行软件测试自动化?•软件测试自动化的内容。•软件测试自动化的方法。•软件测试自动化的工具。•Q&Awww.watertek.comCopyright20003软件测试生命周期缺陷跟踪需求分析程序编制设计定义测试执行评估维护开发生命周期测试生命周期测试计划建立准备测试测试设计www.watertek.comCopyright20004为什么进行软件测试自动化?www.watertek.comCopyright20005测试与测试自动化•测试–测试是一种技术。对于任何系统而言,都存在着大量可能的测试事例,但实际上只能运行其中很少的一部分测试事例。实验和经验表明随机选择测试事例并不是测试的有效方法,好的测试方法应该是开发好的测试事例。–因此测试技术不仅要保证测试事例具有发现错误的高可移植性,而且还要保证测试事例设计得经济有效。•测试自动化–自动化也是一门技术,但是与测试技术存在很大区别。–自动化程度与测试的质量是独立的。–无论自动测试还是手工测试都不影响测试的有效性和仿效性。•自动化的环境需求:高效的基于操作系统的应用软件的自动测试必须源于好的测试软件和好的测试自动化者,实现人与技术的结合。www.watertek.comCopyright20006•软件测试自动化的优势:•1.对程序的新版本运行已有的测试(回归测试),配置测试。•2.可以执行一些手工测试困难或不可能做的测试,如对于并发测试。•3.更好的利用资源。提高测试准确性和测试人员的积极性。可以利用整夜或周末空闲时间的机器执行自动测试。•4.可以更快的将软件推向市场。•5.增加软件信任度。•总而言之,通过较少的开销可以获得更彻底的测试,以及提高产品的质量。测试与测试自动化www.watertek.comCopyright20007软件测试自动化软件自动测试在实践中并非一件简单的事情。www.watertek.comCopyright20008软件测试自动化的内容www.watertek.comCopyright20009软件自动测试的内容标识设计建立执行比较标识测试条件(¨确定测试什么)和测试的优先级设计测试事例(确定怎么测试)建立测试(设计脚本、数据等)执行测试事例将测试事例输出结果与期望输出比较www.watertek.comCopyright200010标识测试条件•确定为什么测试,以及测试“什么”并最好定义这些测试需求和测试类型。•测试需求(testrequirment)取决于被测试验证的项目或事例。•确定被当作测试对象的各项需求,例如用例,功能性需求和非功能性需求。•测试有不同的类型,如功能测试,性能测试,安全测试等,配置测试,压力测试,业务周期测试。数据和数据库完整性的测试;用户界面测试,容量测试,故障转移和恢复测试,安装测试。•注意标识测试条件的活动最好与开发活动并行开展。www.watertek.comCopyright200011设计测试事例•确定“怎样”测试。•测试事例(testcase)是按一定顺序执行的与测试目标(testobject,测试理由或目的)相关的一系列测试。•测试事例设计将产生许多测试所包括的输入值、期望结果及其他任何运行测试的有关信息,如环境要求。•注意期望输出包括应输出或建立的内容,应修改或更新的内容或删除的内容。期望输出值可以是一个很大的集合。www.watertek.comCopyright200012建立测试事例•测试事例包括准备测试脚本(TestScript)、测试输入、测试数据以及期望输出。•测试脚本是具有正规语法的数据和指令的集合,在测试执行自动工具使用中,通常以文件形式保存。测试脚本可以手工也可以不是手工执行(一个手工测试脚本就是一个测试过程(TestProcedure)测试输入和期望输出可包括在脚本中,也可以是脚本外的一个文件或数据库。•测试事例的先决条件;测试事例可能要求专门的硬件或软件。•期望输出可以组织成文件形式用于自动工具。www.watertek.comCopyright200013执行测试事例•在被测软件运行时使用测试事例。•对于手工测试来讲,测试者按事先准备好的手工过程进行测试。测试者输入数据、观察输出、记录发现的问题。•对于自动测试,可能只需启动测试工具,并告诉工具执行哪些测试事例。•测试执行只能在软件开发完成后执行。www.watertek.comCopyright200014将测试结果与期望输出比较•自动测试结合了两种方法进行比较:–信息比较,如可以在执行测试时进行显示屏幕上的消息。–输出比较,如修改数据库记录,只能在测试执行结束后进行。www.watertek.comCopyright200015软件自动测试的内容标识设计建立执行比较标识测试条件(¨确定测试什么)和测试的优先级设计测试事例(确定怎么测试)建立测试(设计脚本、数据等)执行测试事例将测试事例输出结果与期望输出比较www.watertek.comCopyright200016软件测试自动化的方法www.watertek.comCopyright200017软件测试自动化的方法•测试件结构•脚本技术•比较•自动化前后的处理•建立可维护的测试www.watertek.comCopyright200018测试件结构•定义测试件是用来描述测试所需的所有“作品”的术语,包括文档、脚本、数据和期望输出,还有测试产生的所有产物,包括实际输出、差异报告和总结报告。–测试件组–测试集–测试件库–测试结果www.watertek.comCopyright200019测试件组•测试件组就是测试产物(脚本,数据文件等)的逻辑集合。•四种类型的测试件组:–测试组–脚本组–数据组–实用程序组www.watertek.comCopyright200020测试集•测试集是一个自包含环境,可运行所有选中的测试事例。测试集很简单,是测试件组的集合。•测试集包含所需的测试件组。www.watertek.comCopyright200021测试结果•测试结果简单的说就是测试执行的产物和副产物,包括实际输出、差异报告和测试工具日志。www.watertek.comCopyright200022测试件库•测试件库是所有测试件组的原版本的仓库,长期存储了所有测试材料(测试数、脚本、文档等)必须复制这些材料来运行。•访问测试件库•配置管理•控制测试件更新www.watertek.comCopyright200023脚本技术•线性脚本•结构化脚本•共享脚本•数据驱动脚本•关键字驱动脚本www.watertek.comCopyright200024脚本技术•这些技术并不是相互排斥的。而是相辅相成的。每种技术在支持脚本完测试事例的时间和开销上都有长处和短处。•使用哪种技术并不是最主要的;脚本所支持的实现测试事例体系的整体考虑才是主要的。•在本节其余部分,使用简单的脚本例子来说明问题,为使大家易于理解而使用伪脚本语言,与实际使用的工具无关。•实际工具脚本比例子中的脚本要复杂。为简单起见,只说明能解释不同脚本技术差别的最小脚本。www.watertek.comCopyright200025线性脚本•概念线性脚本是录制手工执行的测试事例得到的脚本www.watertek.comCopyright200026•线性脚本的优点:简单;快速;用户不必是编程人员;对实际的执行操作可以审计跟踪;提供良好的(软件或工具)演示;•何时使用线性脚本几乎任何可重复的操作都可以使用线性脚本技术自动化。测试事例只用一次。•线性脚本的缺点过程繁琐;无共享或重用脚本;容易受软件变化的影响;维护成本高。线性脚本www.watertek.comCopyright200027LeftMouseClick'DocExchange'FocusOn'DocExchange'SelectOption'File/Open'FocusOn'Open'Type'contries'LeftMouseClick'Open'FocusOn'DocExchange'SelectOption'List/AddItem'FocusOn'AddItem'Type'Sweden'LeftMouseClick'OK'FocusOn'DocExchange'SelectOption'List/AddItem'FocusOn'AddItem'Type'USA'LeftMouseClick'OK'FocusOn'DocExchange'SelectOption'File/Close'FocsOn'Close'LeftMouseClick'Yes'FocusOn'SaveAs'Type'contries2'LeftMouseClick'Save'FocusOn'DocExchange'SelectOption'File/Exit'线性脚本www.watertek.comCopyright200028结构化脚本•概念结构化脚本类似于结构化程序设计,结构化脚本中含有控制脚本执行的指令。这些指令或为控制结构或为调用结构。所有测试工具脚本语言支持3种基本控制结构。第一种:“顺序”脚本;第二种:“选择”脚本;第三种:“叠代”脚本。www.watertek.comCopyright200029结构化脚本PartoftheDocExchangetestscriptSelectOption‘File/Close’FocusOn‘Close’LeftMouseClick‘Yes’FocusOn‘Saveas’Typecountries2LeftMouseClick‘Save’IfMessage=‘Replaceexistingfile?’LeftMouseClick‘Yes’EndifFocusOn‘DocExchang’SelectOption‘File/Exit’www.watertek.comCopyright200030•优点健壮性好,可以对一些容易导致测试失败的特殊情况进行处理。结构化脚本还可以执行许多其他类似的功能,如需要重复的指令可以使用循环结构。结构化脚本还可以作为模块被其他脚本调用。•缺点脚本变得更加复杂,而且测试数据仍然“捆绑”在脚本中。结构化脚本www.watertek.comCopyright200031共享脚本•共享脚本是指脚本可被多个测试事例使用,这意味着脚本语言允许一个脚本被另一个脚本调用.•共享脚本的类型:–一种是不同的软件应用或系统的测试之间共享脚本–另一种是同一软件应用或系统的测试之间共享脚本•将线性脚本变为共享脚本:如下例www.watertek.comCopyright200032共享脚本LeftMouseClick'DocExchange'FocusOn'DocExchange'SelectOption'File/Open'FocusOn'Open'Type'contries'LeftMouseClick'Open'FocusOn'DocExchange'SelectOption'List/AddItem'FocusOn'AddItem'Type'Sweden'LeftMouseClick'OK'FocusOn'DocExchange'SelectOption'List/AddItem'FocusOn'AddItem'Type'USA'LeftMouseClick'OK'FocusOn'DocExchange'SelectOption'File/Close'FocsOn'Close'LeftMouseClick'Yes'FocusOn'SaveAs'Type'contries2'LeftMouseClick'Save'FocusOn'DocExchange'SelectOption'File/Exit'Ashortenedoriginalli

1 / 71
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功