软件测试基础第6章自动测试技术.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 自动测试技术       6.1 自动测试技术简介   1. 自动测试的前提条件   自动测试是把以人为驱动的测试行为转化为机器执行的一种过程。实施自动测试之前需要对软件开发过程进行分析,以观察其是否适合使用自动测试。自动测试通常需要满足以下条件:   1) 软件需求变动不频繁   测试脚本的稳定性决定了自动测试的维护成本。如果软件需求变动过于频繁,测试人员需要根据变动的需求更新测试用例以及相关的测试脚本,较大的变动势必会增加维护脚本的成本,导致自动测试失败。一般情况下,对于需求分析中相对稳定的模块进行自动测试,而变动较大的模块仍采用手工测试。   2) 项目周期足够长   自动测试需求的确定、自动测试框架的设计、测试脚本的编写与调试均需要相当长的时间来完成。这样的过程本身就是一个测试软件的开发过程,需要较长的时间来完成。   3) 自动测试脚本可重复使用   在手工测试无法完成,需要投入大量时间成本与人力成本时,可考虑引入自动测试。   2. 自动测试过程   自动测试与软件开发过程从本质上来讲是一样的。自动测试过程可概括为利用自动化测试工具,经过对测试需求的分析,设计出自动测试用例,搭建自动测试的框架,设计与编写自动测试脚本,测试脚本的正确性,完成该套测试脚本。具体来讲可分为如下步骤:   1) 自动测试需求分析   当测试项目满足了自动化的前提条件,并确定在该项目中需要使用自动测试时,就可进行自动测试需求分析。此过程需要确定自动测试的范围以及相应的测试用例、测试数据,并形成详细的文档,以便于自动测试框架的建立。   2) 自动测试框架的搭建   自动测试框架与软件架构一样,定义了在使用该套脚本时需要调用哪些文件、结构,调用的过程,以及文件结构如何划分。搭建自动测试框架时需要将如下典型要素考虑进去。   (1) 公用的对象。不同的测试用例会有一些相同的对象被重复使用,比如窗口、按钮、页面等。这些公用的对象可被抽取出来,在编写脚本时调用。当这些对象的属性因为需求的变更而改变时,只需要修改该对象属性即可,无需修改所有相关的测试脚本。   (2) 公用的环境。测试用例使用相同的测试环境,将该测试环境独立封装,在各个测试用例中灵活调用,增强脚本的可维护性。   (3) 公用的方法。编写测试工具经常使用的方法,方便脚本的调用。   (4) 测试数据。一个测试用例往往需要执行多个测试数据,可将测试数据放在独立的文件中,由测试脚本执行到该用例时自动读取测试数据文件,以达到数据覆盖的目的。   3) 自动测试脚本的编写   自动测试脚本的编写过程是具体的测试用例的脚本转换。建议以录制为参考,以编写脚本为主要行为,避免录制脚本带来的冗余、公用元素的不可调用、脚本的调试复杂等问题。   4) 脚本的测试与试运行   事实上,测试用例形成的脚本通过测试后,并不意味着执行多个甚至所有的测试用例就不会出错。输入数据以及测试环境的改变,都会导致测试结果受到影响甚至失败。因此,脚本的测试与试运行极为重要,需要检查多个脚本不能按计划执行的原因,并保证其得到修复。      6.2 自动测试发展历程   如图6.1所示,自动测试发展大致经历了如下四个阶段。 图6.1 自动测试发展阶段   第一阶段:机械方式实现人工重复操作。   最初,自动测试主要研究如何采用自动方法来实现和替代人工测试中的繁琐和机械重复的工作。通过工人设计测试数据,对程序进行动态执行检测,脚本驱动自动执行。此时的自动测试活动只是软件测试过程的偶然行为,可在一定程度上提高效率,简化测试人员工作,但对整体的测试过程并无太大改进。   第二阶段:统计分析的自动测试。   只有自动测试结果具有可靠性,其使用才具有实际的意义。针对不同的测试准则和测试策略,指导测试的自动化过程以及对测试的结果进行评估。   第三阶段:面向目标的自动测试技术。   软件测试并不是机械和随机地发现错误,而是带有很强的目的性。进化计算和人工智能等技术,以及各种高性能的算法被引入自动测试技术。   第四阶段:智能应用的自动测试技术。   能力成熟度模型被引入软件工程,测试业界产生对应的测试成熟度模型。不同的自动测试等级成为测试好坏的一个衡量依据。       6.3 测试成熟度模型   1. 初始级   TMM初始级软件测试过程的特点是测试过程无序,有时甚至是混乱的,几乎没有妥善定义的。初始级中软件的测试与调试常常被混为一谈,软件开发过程中缺乏测试资源、工具以及训练有素的测试人员。初始级的软件测试过程没有定义成熟度目标。   2. 定义级   TMM的定义级中,测试已具备基本的测试技术和方法,软件的测试与调试已经明确地被区分开。这时,测试被定义为软件生命周期中的一个阶段,

文档评论(0)

autohhh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档