如今,IT部门的压力越来越大,管理角色希望IT部门能够持续交付新功能,抓住新的商业机会,提供有竞争力的产品,这就意味着需要更多的业务应用开发,而时间却相对更紧迫,并不是所有项目都会有足够的资源和预算。 同时,当软件故障出现时,它的代价却是巨大的。包括运营事故,客户的不满,监督部门的责问,QA人员士气低落。所有人开始意识到,在软件研发过程中,测试环节的重要性,而大规模的项目任务挤压,对完成和全面的测试是相互矛盾的,自动化功能测试方案也就是基于这样的矛盾点,应运而生。
传统手工测试时间过长,消耗有限的IT资源和紧张的交付时间。测试与开发人员不得不消费大量的时间进行测试的编辑和维护,然后又需要逐步手工完成测试工作,整体消耗大量时间。据Aberdeen Group调查:90%的项目延期是由于“手工”测试造成的。
需求覆盖不完全。平台,操作系统,客户端设备,业务过程,数据集等等测试必要因素,会造成手工测试工作量异常庞大,测试人员往往会因为海量工作而出现疲劳差错,导致测试用例设计不符合需求覆盖要求。致使整个测试工作质量下降。
持续为项目质量带来风险,手工测试无疑会带来更多的失误和不精准数据,因为疲劳,设计测试用例缺失,执行测试用例错误,因为时间窗口紧张,未100%执行测试,都是常有出现的事,而这些内容恰恰是导致产品质量崩溃的罪魁祸首。
本方案提供符合所有主要应用软件环境的功能测试和回归测试的自动化。采用关键字驱动的理念以简化测试用例的创建和维护。它让用户可以直接录制屏幕上的操作流程,自动生成功能测试或者回归测试用例。专业的测试者也可以通过提供的内置脚本和调试环境来取得对测试和对象属性的完全控制。
甚至可以使新测试人员在几分钟内提高效率。您只需通过按“记录”按钮,并使用执行典型业务流程的应用程序即可创建测试脚本。系统使用简明的英文语句和屏幕抓图来自动记录业务流程中的每个步骤。用户可以在关键字视图中轻松修改、删除或重新安排测试步骤。
同时可以自动引入检查点,以验证应用程序的属性和功能,例如验证输出或检查链接有效性。对于关键字视图中的每个步骤,活动屏幕均准确显示测试中应用程序处理此步骤的方式。您也可以为任何对象添加几种类型的检查点,以便验证组件是否按预期运行(只需在活动屏幕中单击此对象即可)。
然后,可以在产品介绍(具有Excell所有功能的集成电子表格)中输入测试数据,以便在不需要编程的情况下处理数据集和创建多个测试迭代,从而扩大测试案例范围。您可以键入数据,或从数据库、电子表格或文本文件导入数据。
高级测试人员可以在专家视图中查看和编辑自己的测试脚本,该视图显示自动生成的基于业界标准的内在 VB 脚本。专家视图中进行的任何变动自动与关键字视图同步。
一旦测试人员运行了脚本,测试报告显示测试运行的所有方面:高级结果概述,准确指出应用程序故障位置的可扩展树视图,使用的测试数据,突出显示任何差异的应用程序屏幕抓图,以及每个通过和未通过检查点的详细说明。通过使用内建工具合并测试报告,您可以在整个 QA 和开发团队中共享报告。
该方案也加快了更新流程。当测试中应用程序出现变动(例如“登录”按钮重命名为“登入”)时,您可以对共享对象库进行一次更新,然后此更新将传播到所有引用该对象的脚本。您可以将测试脚本发布到测试中心,使其他 QA 团队成员可以重复使用您的测试脚本,从而消除了重复工作。
本方案支持所有常用环境的功能测试,包括 Windows、Web、.Net、Visual Basic、ActiveX、Java、SAP、Siebel、Oracle、PeopleSoft 和终端模拟器。为防止系统加载插件过多导致系统负载过重,在系统中只支持3个常用环境插件。本方案带有数据表支持数据驱动的测试,数据驱动使得自动化测试代码复用率显著提高,自动化测试专家认为一段自动化测试脚本想要收回成本至少要被运行6次以上,数据驱动即提高了自动化测试收益。
关键字驱动: 将数据与关键字结合来描述如何使用数据执行测试。这种方法具备数据驱动的优势,同时非编程人员也能建立新类型测试。所有测试由同一个框架来执行,无需不同的驱动脚本。然而初始成本很大,但是可以使用开源方案!从以上分析可以看出,关键字驱动的自动化测试与传统的自动化测试相比,对人员没有编程能力的要求,同时用户可以对关键字进行封装和扩展,定制出模块化、可不断复用的测试库。关键字测试在测试框架上保证了各个层次的用例都可以被复用。当系统顶层设计未变化而底层技术升级后,只需更新测试库就可以完全复用顶层用例。如果底层技术未升级,所有的测试库以及关键字都可以再次被复用到其他型号。
测试资产共享:开放测试资源平台库,所有相关测试/管理角色都可以在上面获取高复用性的测试用例,数据集合等有效数据。
XML基础的对象管理仓库:将用于构建测试,用例,数据等信息的对象组织成为一个高效运转的对象仓库,并对其有针对性的进行管理。方便有所有相关人员随时调用对象,加速进行测试工作演进。
自动重现测试问题:自动录制测试执行过程,方便测试问题重现与定位。
提升软件测试需求覆盖率
加速软件测试周期
大幅度提升软件功能测试准确度,消除人为因素导致的测试失误
大幅度降低软件功能测试的时间和人工成本
提升测试团队资产管理能力,加强测试资产复用度