- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(软件自动化测试
第 4 章 软件自动化测试 由安博测试空间技术中心/提供 主要内容 4.1 软件自动化测试基础 4.2软件自动化测试工具 4.3软件自动化测试脚本开发技术 4.1 软件自动化测试基础 4.1.1软件自动化测试的意义 4.1.2软件自动化测试的定义 4.1.3软件自动化回归测试 4.1.4软件自动化测试的原理和方法 4.1.5软件自动化测试的评价 4.1.6软件自动化测试的限制 4.1.1软件自动化测试的意义 通常,软件测试的工作量很大,测试会占用到40%的开发时间,一些可靠性要求非常高的软件,测试时间甚至占到开发时间的60%,而测试中的许多操作是重复性的、非智力性的和非创造性的,并要求准确细致地完成,计算机就最适合于代替人工去完成这样的任务。 软件自动化测试就是一项让计算机代替测试人员进行软件测试的技术,相对于手工测试而言,自动化测试主要是通过所开发的软件测试工具、脚本等来实现,具有良好的可操作性、可重复性和高效率等特点。 为了更好地理解自动化测试的意义,需要从两个方面考虑: 一是手工测试的局限性; 二是软件自动化测试所带来的好处 手工测试的局限性 1)通过手工测试无法做到覆盖所有代码路径。 2)简单的功能性测试用例在每一轮测试中都不能少,而且具有一定的机械性、重复性,工作量往往较大。 3)许多与时序、死锁、资源冲突、多线程等有关的错误,通过手工测试很难捕捉到。 4)进行系统负载、性能测试时,需要模拟大量数据或大量并发用户等各种应用场合时,很难通过手工测试来进行。 5)进行系统可靠性测试时,需要模拟系统运行10年、几十年,以验证系统能否稳定运行,这也是手工测试无法模拟的。 6)如果有大量(如几千)的测试用例,需要在短时间内(如1天)完成,手工测试几乎不可能做到。 7)回归测试难以做到。 软件自动化测试所带来的好处 软件自动化测试所带来的好处: 缩短软件开发测试周期,可以让产品更快投放市场。 测试效率高,充分利用硬件资源。 节省人力资源,降低测试成本。 增强测试的稳定性和可靠性。 提高软件测试的准确度和精确度,增加软件信任度。 软件测试工具使测试工作相对比较容易,但能产生更高质量的测试结果。 手工不能做的事情,自动化测试能做,如负载、性能测试。 软件测试实行自动化进程,绝不是因为厌烦了重复的测试工作,而是因为测试工作的需要,更准确地说是回归测试和系统测试的需要。 建立正确的自动化测试目标 目前,软件自动化测试还不能解决所有的测试问题,因此,需要建立正确的自动化测试目标。 测试计划产生:主要靠测试工程师与软件生产质量保证 专家的合作,自动化工具只能起到一定的辅助作用。 一种测试工具不完全适用于所有测试 自动测试不一定减轻工作量 测试进度可能不一定缩短 测试工具不一定易于使用 自动化测试的普遍应用存在局限 测试覆盖率不会达到百分之百 4.1.2 软件自动化测试的定义 软件自动化测试,是一项让计算机代替测试人员进行软件测试的技术,是指编写软件去测试其他软件。 也可以被理解为:使用一个商业通用测试自动化工具编写一个软件来测试其他软件; 或者被理解为:编写驱动被测试应用程序的测试脚本以执行键盘、鼠标动作和后台进程,并验证应用程序响应和行为。 4.1.3软件自动化回归测试 回归测试是测试其变更后系统的错误。 在软件的某个部分被修改后,之前的软件错误可能屏蔽了原系统中的某些错误,由于原先测试不充分或其他原因而没被发现,变更后的系统可能会暴露出来 再者,变更的部分也可能存在错误。 回归测试需要考虑的问题有以下两点: (1)回归测试的范围 一般来讲,由于回归测试需要进行很多次,其代价比较大。因此,回归测试一般只局限于和变更部分相关的模块或代码,或者和变更部分相关的功能部分。但这要根据实际情况而定。 (2)为提高回归测试的效率,一般采用自动测试工具更适宜 WinRunner、QARun、Visual Test等捕获/回放工具目前比较常用。 如果没有此类工具,则在之前的测试中,要保存好测试用例,以便此后的回归测试。 4.1.4 软件自动化测试的原理和方法 软件自动化测试实现的基础是可以通过设计的特殊程序模拟测试人员对计算机的操作过程、操作行为,或者类似于编译系统那样对计算机程序进行检查。 软件测试自动化实现的原理和方法主要有: 直接对代码进行静态和动态分析 测试过程的捕获和回放 测试脚本技术 虚拟用户技术。 代码分析 代码分析类似于高级编译系统,一般针对不同的高级语言构造分析工具,在工具中定义类、对象、函数、变量等定义规则、语法规则; 在分析时对代码进行语法扫描,找出不符合编码规范的地方; 根据某种质量模型评价代码质量,生成系统的调用关系图等。 录制和回放 代码分析是一种白盒测试的自动化方法,捕获和回放则是一种黑盒测试的
原创力文档


文档评论(0)