- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章-软件自动化测试
第五章 软件自动化测试 软件测试技术 内容简介 自动化测试就是希望能够通过自动化测试工具或是其他手段,按照测试工程师的预定计划进行自动的测试,其目的是减轻手工测试的劳动量,同时达到提高软件质量的目的,它涉及到测试流程、测试体系、自动化编译、持续集成、自动发布测试系统以及自动化测试等方面。 本章要点 自动化测试定义 自动化测试的必要性、优缺点 自动化测试生命周期 自动化测试的实施 自动化测试原理、方法 自动化测试工具的作用和优势 自动化测试工具的分类 自动化测试工具的局限性 5.1 软件自动化测试概述 5.1.1 自动化测试定义 根据软件质量工程协会关于自动化测试的定义:自动化测试就是利用策略、工具等,减少人工介入非技术性(unskilled)、重复性(repetitive)、冗长(redundant)的测试活动。 全自动测试就是指在自动测试过程中,根本不需要人工干预,由程序自动完成测试的全过程。 半自动测试就是指在自动测试过程中,需要由人工输入测试用例或选择测试路径,再由自动测试程序按照人工制定的要求完成自动测试。 5.1.2 自动化测试与手工测试的比较 手工测试具有以下局限性: (l)通过手工测试无法做到覆盖所有代码路径。 (2)简单的功能性测试用例在每一轮测试中都不能少,而且具有一定的机械性、重复性,工作量往往较大。 (3)许多与时序、死锁、资源冲突、多线程等有关的错误,通过手工测试很难捕捉到。 (4)进行系统负载、性能测试时,需要模拟大量数据或大量并发用户等各种应用场合时,很难通过手工测试来进行。 (5)进行系统高可靠性测试时,需要模拟系统运行10年、几十年,以验证系统能否稳定运行,这也是公共测试无法模拟的。 (6)如果有大量(如几千)的测试用例,需要在短时间内(如一天)完成,手工测试不可能做到。 (7)回归测试难以做到全面测试。 5.1.3 软件测试自动化的优缺点 1.自动化测试的优点 性能方面的测试。 压力测试、并发测试、大数据量测试和崩溃性测试,用手工测试是不可能达到的。例如,对于100个用户的联机系统,用户手工进行并发操作是几乎不可能的,但自动测试可以模拟来自100个用户的输入。 提高测试的效率,尤其是运行冗长而复杂的测试时,自动化是必需的。 提高测试的准确性,降低对测试工程师的技术要求。 可实现无人照看测试,更好地利用时间资源。 具有一致性和可重复性。 利于进行回归测试、适应性测试、可移植性测试、性能测试和配置测试。 缩短测试的时间。 有利于解决测试与开发之间的矛盾。 从经济上考虑,自动测试通常比手工测试有优越性。 与手工测试相比,自动测试的修改性比较低。 2.自动化测试的缺点 自动化测试好处虽然很多,但并不是万能的,也存在着一定的局限性。自动测试的缺点如下: 软件自动测试并不能代替人的工作,尤其是带有智力性质的手工测试。 软件测试自动化可能降低测试的效率。 自动测试并非像测试工程师所期望的那样能发现大量的错误。 缺乏测试经验。 技术问题、组织问题和脚本维护。 5.2 软件自动化测试的引入和实施 5.2.1软件自动化测试的引入原则 (1)自动化回归测试 (2)自动化重复性测试 (3)自动化已经实现的手工测试用例 (4)自动化对稳定应用进行的测试 (5)自动化性能测试 5.2.2 软件自动化测试生命周期 5.2.3 软件自动化测试实施中存在的问题 (l)不现实的期望。 (2)缺乏经验。 (3)期望自动测试发现大量的缺陷。 (4)安全性错觉。 (5)自动化测试的维护性。 (6)技术问题。 (7)组织问题。 5.3 软件自动化测试工具 5.3.1自动化测试原理和方法 软件测试自动化实现的原理和方法主要有:直接对代码进行静态和动态分析、测试过程的捕获和回放、测试脚本技术、虚拟用户技术和测试管理技术。 1. 代码分析 代码分析类似于高级语言编译系统,一般针对不同的高级语言去构造分析工具,在工具中定义类、对象、函数、变量等规则、语法规则;在分析时对代码进行语法扫描,找出不符合编码规范的地方;根据某种质量模型评价代码质量,生成系统的调用关系图等。 2.捕获回放 代码分析是一种白盒测试的自动化方法,捕获和回放则是一种黑盒测试的自动化方法。捕获是将用户每一步操作都记录下来。这种记录的方式有两种:一种是记录程序用户界面的像素坐标或程序显示对象(窗口、按钮、滚动条等)的位置,另一种方式是记录相对应的操作、状态变化或是属性变化。所有的记录转换为一种脚本语言所描述的过程,以模拟用户的操作。 回放时,将脚本语言所描述的过程转换为屏幕上的操作,然后将被测系统的输出记录下来同预先给定的标准结果比较。 捕获和回放可以大大减轻黑盒测试的工作量,在迭代开发的过程中,能够很好地进行回归测试。 3. 录制回放 目前的自动化负载测试解决
文档评论(0)