选择合适的自动化测试工具
被考次数: 4次
被考频率: 中频率
答错率:    35%
知识难度:
考试要求: 掌握     
知识路径:  > 自动化测试  > 测试工具的选择


本知识点历年真题试卷分布
>> 试题列表    
 

 
       自动化测试工具分类
       自动化测试工具可以减少测试工作量,提高测试工作效率,但首先是能够选择一个合适的且满足企业信息系统工程环境的自动化测试工具,因为不同的测试工具,其面向的测试对象是不一样的。按照测试工具的主要用途和应用领域,可以将自动化测试工具分为以下几类。
       . 负载压力测试工具:这类测试工具的主要目的都是为了度量应用系统的可扩展性和性能,是一种预测系统行为和性能的自动化测试工具。它们通过模拟成百上千直至上万用户并发执行关键业务,而完成对应用程序的测试,在实施并发负载过程中通过实时性能监测来确认和查找问题,并针对所发现问题对系统性能进行优化,确保应用的成功部署。负载压力测试工具能够对整个企业架构进行测试,通过这些测试,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。这类工具的主要代表有LoadRunner、QALoad、SILK PERFORMA V和E-Test Suite等。
       . 功能测试工具:通过自动录制、检测和回放用户的应用操作,将被测系统的输出记录同预先给定的标准结果进行比较,功能测试工具能够有效地帮助测试人员对复杂的企业级应用的不同发布版本的功能进行测试,提高测试人员的工作效率和质量。其主要目的是用于检测应用程序是否能够达到预期的功能并正常运行。功能测试工具可以大大减轻黑盒测试的工作量,在迭代开发的过程中,能够很好地进行回归测试。这类工具的主要代表有WinRunner、QARun等。
       . 白盒测试工具:白盒测试工具一般是针对代码进行测试,测试中发现的缺陷可以定位到代码级,根据测试工具原理的不同,又可以分为静态测试工具和动态测试工具。静态测试工具直接对代码进行分析,不需要运行代码,也不需要对代码编译链接和生成可执行文件。静态测试工具一般是对代码进行语法扫描,找出不符合编码规范的地方,根据某种质量模型评价代码的质量,生成系统的调用关系图等。静态测试工具的代表有Logiscope软件和PRQA软件。动态测试工具与静态测试工具不同,动态测试工具一般采用“插桩”的方式,向代码生成的可执行文件中插入一些监测代码,用来统计程序运行时的数据。其与静态测试工具最大的不同就是动态测试工具要求被测系统实际运行。动态测试工具的代表有DevPartner、Rational Purify系列等。
       . 网络测试工具:这类工具主要包括网络故障定位工具、网络性能监测工具、网络仿真模拟工具等。它们分析分布式应用性能,关注应用、网络和其他元素(如服务器)内部的交互式活动,以便使网络管理员能够了解网络不同位置和不同活动之间应用的行为。你可以用它在交易执行过程中、Web查找和检索中或在日常数据库上载/下载中跟踪应用行为。它可在会话级、代码级,甚至在帧级和包级观察应用的行为过程,并深入代码内部的结构,解析有问题的会话。
       . 测试管理工具:测试管理工具用于对测试进行管理。一般而言,测试管理工具对测试需求、测试计划、测试用例、测试实施进行管理,并且测试管理工具还包括对缺陷的跟踪管理。测试管理工具能让测试人员、开发人员或其他的IT人员通过一个中央数据仓库,在不同的地方就能交互信息。测试管理工具将测试过程流水化,从测试需求管理到测试计划、测试日程安排、测试执行到出错后的错误跟踪,实现了全过程的自动化管理。测试管理工具的代表有TestDirector、TestManger、TrackRecord等。
       . 测试辅助工具:这些工具本身并不执行测试,例如它们可以生成测试数据,为测试提供数据准备等。
       自动化测试应用策略
       随着软件测试地位的逐步提高,测试的重要性逐步显现,测试工具的应用已经成为了普遍的趋势。总的来说,测试工具的应用可以提高测试的质量、测试的效率。但是在选择和使用测试工具的时候,我们也应该看到,在测试过程中,并不是所有的测试工具都适合我们使用,同时,有了测试工具并且会使用测试工具并不等于测试工具真正能在测试中发挥作用,因此,如何确定自动化测试策略显得至关重要。应用测试工具的目的很明确,一般而言,在测试过程中应用测试工具主要有以下几个目的。
       . 提高测试质量;
       . 减少测试过程中的重复劳动;
       . 实现测试自动化,解决手工测试不能解决的问题。
       为了更好地达到测试目的,在信息系统中应用自动化测试需要考虑以下问题。
       . 选择合适的自动化测试工具:面对众多不同用途的测试工具,如何正确地选择合适的测试工具,是能否正常实施自动化测试的前提,我们在选用工具的时候,建议从以下几个方面来权衡。
       ①功能:功能当然是我们最关注的内容,选择一个测试工具首先就是看它提供的功能。当然,这并不是说测试工具提供的功能越多越好,在实际的选择过程中,适用才是根本。“钱要花在刀刃上”,为不需要的功能花费金钱是不明智的行为。事实上,目前市面上同类的软件测试工具之间的基本功能都是大同小异的,各种软件提供的功能也大致相同,只不过有不同的侧重点。例如,同为白盒测试工具的Logiscope和PRQA软件,它们提供的基本功能大致相同,只是在编码规则、编码规则的定制、采用的代码质量标准方面有不同。除了基本的功能之外,以下的功能需求也可以作为选择测试工具的参考。
       . 报表功能:测试工具生成的结果最终要由测试人员进行解释,而且,查看最终报告的人员不一定对测试很熟悉,因此,测试工具能否生成结果报表,能够以什么形势提供报表是需要考虑的因素(标准符号有些混乱)。
       . 测试工具的集成能力:引入测试工具是一个长期的过程,应该是伴随着测试过程改进而进行的一个持续的过程。因此,测试工具的集成能力也是必须考虑的因素,这里的集成包括两个方面的意思,首先,测试工具能否和开发工具进行良好的集成;其次,测试工具能够和其他测试工具进行良好的集成。
       . 操作系统和开发工具的兼容性。测试工具可否跨平台,是否适用于公司目前使用的开发工具,这些问题也是在选择一个测试工具时必须考虑的问题。
       ②价格:除了功能之外,价格就应该是最重要的因素了,作为一个测试工程师,在选择购买测试工具时,应该具有成本意识,必须利用有限的资金满足企业对测试工具的大多数需求。
       ③测试工具的长期投资考虑:测试工具引入的目的是测试自动化,引入工具需要考虑工具的连续性和一致性,也就是说,对测试工具的选择必须有一个全盘的考虑,分阶段、逐步的引入测试工具。
       . 确定测试工具的应用时机:购买了测试工具以后,如何让测试工具真正发挥作用,是应用自动化测试的关键。任何测试工具都有其应用范围,也许我们具备不同的测试工具,那么在不同的软件工程阶段,我们应该有计划地去使用相应的测试工具,并将测试工具的使用明确定义进公司的开发流程。例如,在单元测试阶段,我们应该重点采用白盒测试工具,当软件产品的功能以及用户界面基本确定和逐步实现后,则可以考虑开始使用功能测试工具。集成测试阶段,则可以引入负载压力测试工具,对系统可能承受的负载压力进行测试与评估,并辅以相应的资源,使用监控工具进行故障定位等。
       . 确定测试重点:对于一些测试项目,尤其是在测试时间有限的情况下,比如,执行一次性能测试,我们必须能够确定被测项目的主要应用和关键步骤,应该对那些质量要求较高并且风险大的部分进行重点测试,例如在金融领域,对于那些每天管理数百万、数千万人民币流动的系统,需要特别对其硬件、软件的安全可靠性、可用性进行测试。
       . 确定测试目标和指标:针对不同的软件,其软件质量要求的等级和目标是不一样的,通过测试工具可以更好地验证系统设计是否达到了预期目标,因此,在正式开始测试前,我们应该能够清楚地了解测试预期目标。
       . 充分利用测试工具的优势:每个测试工具都有自己独特的实现技术,对于同一个测试项目,测试工具可能也提供了多种测试方案供选择,比如脚本录制过程中协议的选择,回放过程中用户并发模拟机制和方式的选择等,只有充分利用了测试工具提供的这些技术,才可能更好、更真实地测试应用系统的实际质量。
       . 加强对测试工程师的技能培训,测试工具的使用者必须对测试工具非常了解。在这方面,有效的培训是必不可少的。测试工具的培训是一个长期的过程,不是通过一两次讲课的形式就能达到良好的效果的。而且,在实际使用测试工具的过程中,测试工具的使用者可能还存在着这样那样的问题,这也需要有专家负责解决,否则的话,对于测试工具使用者的积极性将造成很大的打击。
 

更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有