51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2332|回复: 0
打印 上一主题 下一主题

[讨论] 功能测试最佳实践

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-4-29 09:57:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

介绍

    企业资源规划(ERP)软件应用为企业提供管理大规模关键业务功能的能力,包括产品规划、部件采购、库存维护、和供应商的互动交流、提供客户服务,以及订单跟踪等。有些ERP解决方案还可能包括一些财政和人力资源方面的应用模块。尽管这些应用通常不会直接生成效益,但是它们能让企业以一种有效的、切合实际的方式使用现有的客户数据,帮助合理化企业的业务活动,为企业新的和当前的客户提供高质量的服务。


    ERP应用通常使用一个单一的、中央数据存储器来服务于所有的模块。因此,当这些应用产生了性能问题时,很有可能影响到使用同一存储器的所有业务领域。ERP和共享数据结构间的这种关系决定了它必须实施稳固的测试和监测程序才能确保企业关键应用的健康运行。
目录
介绍
步骤1:初始规划和收集需求
步骤2:定义测试目标和选择合适的测试
步骤3:定义目的,以满足测试目标
步骤4:发现功能测试案例
步骤5:文档记录关键的业务流程
步骤6:开发模块化的测试组件
步骤7:建立测试实验室
步骤8:掌握和利用&ldquo冒烟测试&rdquo
步骤9:执行回归测试

步骤10:分析缺陷和创建测试报告

ERP应用的功能测试    由于业务流程交易跨越企业中的多个部门和区域,并且涉及ERP应用本身的多个模块,因此测试ERP应用应该采用一种整体的方式。当验证这些业务流程的功能时,关键在于捕获自动化测试解决方案中的业务流程测试,用于实现快速的测试重复。由于ERP应用跨越多个业务领域,存在不可避免的复杂性,因此,对每个ERP应用以及每个应用发布版本展开功能测试是非常重要的。
每个ERP实施中都会面临的主要挑战之一就是确保应用在上线之前能满足所有的业务需求。关键在于测试和验证这些应用的运作情况是否符合设计要求。在数千个客户实施基础上,美科利已经编纂了一套最佳实践,来确保关键业务应用的功能。在下文中将详细描述10个关键步骤,使用这些步骤能为企业的关键ERP应用来设计和实施有效的功能测试程序。
步骤1:初始规划和收集需求
在任何一个环境中,功能测试的最重要阶段之一就是规划。对于ERP应用来说,这个步骤就更为重要了,因为其中涉及环境的复杂性以及推动这些应用实施的错综复杂的业务需求。不完善的规划可能导致失望的结果和不完整的测试覆盖面。经过深思熟虑的规划使您能避免一种&ldquo垃圾进,垃圾出(garbage in, garbage out&rdquo的局面,使企业能衡量和最大化他们的测试工作,获取更多的投资回报(ROI)。

    许多公司购买预先打包的ERP解决方案,希望能实现业务管理各个领域的快速整合。然而,这种被称之为&ldquovania&rdquoERP打包方案必须经过客户定制,才能部署到它所要支持的业务中去。从逻辑上来说,收集需求是规划阶段的起点,因为开发人员通常根据需求来定制ERP应用;测试人员使用它来测试系统和客户定制项目;而最终用户使用它进行用户接受测试和终结测试。通过提前仔细地定义需求,测试人员可以规划和管理那些更加注重业务需要的测试。接着,需求可以同测试和实际测试结果(被识别的缺陷)相结合,以全面覆盖所有的功能测试。

    步骤2:定义测试目的和选择合适的测试
     测试人员通过创建主要的测试目的,将决定所需的特定测试类型。 测试目的、项目计划和团队结构也将从这些测试目标中形成。当功能测试一个ERP实施时,有多种不同的验证测试需要执行:
          数据映射:由于许多ERP实施和后端大机系统紧密地集成在一起,因此测试ERP应用所显示的数据和在大机系统中被发现的数据之间的数据映射是十分关键的。很可能在大机系统中隐藏着一些陈旧的或无效的数据,这些数据会引起应用当中的问题。
          业务流程测试:应该使用测试来验证各种业务流程是否正确运作。由于工作流对强化业务规则来说是非常重要的,因此测试应该覆盖整个整合系统中的所有导航项目和直接功能。应用的业务规则和启动项必须通过全面地测试,确保所有规则能被正确地执行。
          权限控制系统:ERP权限控制系统决定了用户可以使用哪些信息,用户在这些信息中可以看到哪些数据。当涉及到供应链和合作伙伴入口时,将会增加安全方面的考虑。从用户界面的角度出发测试安全性可以确保严格执行验证规则。数据驱动的测试使IT人员能使用具有不同登录凭证的相同脚本去验证安全规则。
          回归测试:每次部署一个&ldquoCode Drop&rdquo时,对位于这些程序的每个对象的功能进行回归测试是非常重要的。这其中包括测试它的存在、功能、值等等。&ldquocode drop&rdquo指的是任何一次新的ERP应用、补丁程序和/hot fix的发布。

    步骤3:定义目标,以满足测试目的

    当完成所有的目的定义,选择好测试类型,接下去就要创建一系列的阶段目标来实现所定义的目的。一套最普通的初始阶段目标包括:

          分析应用功能,并识别关键业务流程。在一个ERP应用中的关键业务流程实例就是&ldquo服务请求&rdquo的创建。

          建立&ldquo冒烟测试&rdquo,在开发周期中快速执行该类测试。冒烟测试不应深入被测试应用的功能,而是应该测试关键的业务功能。例如,用户是否能够创建可以和&ldquoTroube Ticket&rdquo相应的活动。

          在每次正式发布形成后运行冒烟测试。

          着手创建自动化测试来降低手动运行冒烟测试的成本。


   
实现了这些初始阶段目标之后,应该建立一套后续阶段目标。

          分析应用,展开功能识别,这将扩大测试范围,涵盖超过75%的总的应用功能数量。(取得100%的脚本自动化测试是非常困难的,因为自动化测试工具无法进行如可用性测试这样的事宜。)

          建立可持续运作的自动化测试,从而降低测试的工作量。

    步骤4:区分功能测试案例

    在区分测试案例时,关键要记住,重要的业务功能必须在应用中才能发挥作用。由于每个企业具有独特的业务需求,大多数企业即使完成了基本的或标准的实施,也无法上线。因为那些客户定制的区域必须经过彻底地测试才能保证上线时功能的稳定。ERP应用的主要优势之一就是能和现有的大机系统集成,来满足必要的业务需求。再者,因为这些集成不是标准(非客户定制)实施,它们必须经过严格地测试。

    最初,要避免用各种不同的方法去测试相同的功能。开发团队经常会强调一个应用应具有完美架构,可以灵活地让用户通过不同的方式来完成他们的日常任务。关键在于要经常部署测试案例,确保需求驱动、user-path的覆盖面。初期测试应该具有一些共有的特性:

          它们应该测试关键的业务功能。

          它们应该测试应用的关键业务流程。

          它们应该识别出经客户定制过的ERP应用的测试区域。

          应用功能应该稳定,不在主要开发范围之内。

          初期测试应该是冒烟测试的候选方式。

    一旦初期自动化测试创建完成,并成功地运行后,测试目标通常会改变,测试包会扩张。这种扩张通常表现为在功能成熟之后,增加更多的测试到测试包中。还可以在应用问题区域,如和大机系统的界面中增加测试,从而对该区域展开持续地检查。

    步骤5:文档记录关键的业务流程

    当记录那些将要成为测试脚本的业务流程时,收集所有和测试案例相关的信息是非常重要的。每个测试案例需要具备一份和被测业务区域相关的目的说明。测试案例的目的应该是和满足一个需求或一系列需求有关。关键之处还在于,要文档记录下逻辑步骤,在整个系统中执行这些步骤可以实现测试的需求。由于使用测试案例可以衡量业务流程的成功与否,因此,文档中应该指出,需要验证哪些内容才能保证测试的成功。


    除了为测试案例而展开的执行和验证操作外,还需要在测试案例中成功地执行适用的数据值。这种数据可以是来自数据库的主数据(master data)、或是能够凭空增加的用户创建输入数据、或者在脚本创建之前被置入数据库的准备数据。


    步骤6:开发模块化的测试组件
创建模块化测试脚本是非常重要的。测试的模块化能够使开发人员创建单元测试(unit test),在整个系统完成之前,测试ERP应用模块和模块的定制项目。接着,被用于单元测试的模块测试会移交给QA测试人员,他们会将模块测试和测试包结合在一起,来满足特定的测试目标。美科利提供一款最新的功能测试解决方案(即&ldquo业务流程测试&rdquo),它能帮助企业管理与业务组件和端到端流程验证有关的所有测试案例。

    步骤7:建立测试实验室

    建议建立一个QA测试实验室,作为ERP应用的测试和调优整体战略的一个组成部分。在一个独立的测试实验室中运行测试的主要优势在于,机器配置可以达到一种理想的状态,因而减少了由于机器配置不完善而引起的各类问题。此外,当模块定制完成之后,开发人员和测试人员可以在新代码发布之前,使用该实验室来运行单元测试。

    步骤8:掌握和利用&ldquo冒烟测试&rdquo

   
在大多数ERP应用中,不完善的发布浪费了大量的测试工作。通常,当开发团队完成一个发布版本后将移交给测试团队,接着展开为期数天的测试过程。而测试结果往往是软件的发布版本存在重大的和根本的问题,不值得再进行深入地测试。不幸地是,当开发人员着手为该发布版本增加新的功能时,测试团队已经浪费了几天的时间去发现其薄弱之处。



    改变这种情况的捷径就是建立一种&ldquo冒烟测试&rdquo,它可以覆盖关键的业务功能。冒烟测试结合了手动测试和自动化测试,可以在短时间内被创建和运行(通常在1个小时之内)。运行冒烟测试可以为开发团队提供发布版本质量方面的快速信息反馈,帮助他们集中力量解决严重阻滞的问题,而不是一些新的特性。冒烟测试所利用的脚本可以从开发人员已经创建的单元测试中获取。

    步骤9:执行回归测试

    回归测试包应该覆盖关键的业务流程,应该在每个新的ERP应用版本发布时运行。回归测试不同于冒烟测试注重测试核心的业务功能,它能更加深入地测试应用的功能。正如前文所提到的,由供应商和任何定制所带来的应用更新都可能对应用功能和性能产生负面影响,必须在每次发布版本之后进行测试。
步骤10:分析缺陷和创建测试报告

    ERP应用准备就绪的重要指标之一就是被识别的系统缺陷数量。在执行测试时,测试中产生的失误必须被跟踪和分析。一种稳固的功能测试解决方案应该能跟踪和汇报所有存在于业务流程中的缺陷。测试团队可以利用这类信息来衡量和管理缺陷是如何被优先级划分、修复、重复测试和关闭的。


    用全面的报告来完整记录所有的测试流程和结果,这也是非常重要的一项工作,可以使测试团队能正确分析测试结果,同时在未来测试中重复使用测试案例和脚本。

    ERP应用的功能测试

    通过使用美科利QuickTest Professiona和美科利业务流程测试,QA团队可以开发和利用统一的、可重复的测试流程,更快、更经济和更便捷地对ERP应用就绪情况提前作出决策。当初期功能测试计划完成之后,测试团队可以使用美科利解决方案来自动验证ERP应用中所有业务交易的完整性。美科利解决方案从业务流程的角度出发,展开ERP应用测试。这些解决方案通过执行分步操作――如更新库存信息,或从供应商处定购某部分商品,就像在实际生产操作中一样来测试ERP应用。

    当在测试创建阶段捕获了业务流程后,美科利QuickTest Professiona和美科利业务流程测试将ERP业务相关信息与输入数据相互分离。测试人员可以根据选择列表,改变选择项和数据条目。使用同一数据对应用展开反复测试通常不会取得实际结果。要真实地验证应用的功能,测试人员需要不同的数据包来模拟多个用户的实际操作行为。美科利产品允许用户直接输入测试数据,或从一个数据库中导入数据,从而创建一个实际的、数据驱动的测试方案。通过这种方式,测试人员就能使用可变的输入数据,分析实际的ERP业务流程。

    打包的ERP应用通常具有很高的复杂性。创建一个简单的记录定制可能会对其它记录或整体性能产生无法预料的影响。当更新发布(甚至是简单的定制更新),都需要对所有业务流程展开全面彻底地测试,而不仅仅是测试变更所发生的区域。这样,测试人员就能衡量更新会对应用产生的影响,确保不会引起缺陷的产生。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-26 07:35 , Processed in 0.073123 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表