10个步骤确保ERP系统的可靠性

标签:ERP重磅推荐解决方案

访客:22500  发表于:2012-02-21 14:16:26

由于业务流程交易跨越企业中的多个部门和区域,并且涉及ERP应用本身的多个模块,因此测试ERP应用应该采用一种整体的方式。当验证这些业务流程的功能时,关键在于捕获自动化测试解决方案中的业务流程测试,用于实现快速的测试重复。由于ERP应用跨越多个业务领域,存在不可避免的复杂性,因此,对每个ERP应用以及每个应用发布版本展开功能测试是非常重要的。

每个ERP实施中都会面临的主要挑战之一就是确保应用在上线之前能满足所有的业务需求。关键在于测试和验证这些应用的运作情况是否符合设计要求。在数千个客户实施基础上,美科利已经编纂了一套最佳实践,来确保关键业务应用的功能。在下文中将详细描述10个关键步骤,使用这些步骤能为企业的关键ERP应用来设计和实施有效的功能测试程序

步骤1:初始规划和收集需求

在任何一个环境中,功能测试的最重要阶段之一就是规划。对于ERP应用来说,这个步骤就更为重要了,因为其中涉及环境的复杂性以及推动这些应用实施的错综复杂的业务需求。不完善的规划可能导致失望的结果和不完整的测试覆盖面。经过深思熟虑的规划使您能避免一种“垃圾进,垃圾出(garbage in, garbage out)”的局面,使企业能衡量和最大化他们的测试工作,获取更多的投资回报(ROI)。

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

步骤2:定义测试目的和选择合适的测试

测试人员通过创建主要的测试目的,将决定所需的特定测试类型。 测试目的、项目计划和团队结构也将从这些测试目标中形成。当功能测试一个ERP实施时,有多种不同的验证测试需要执行:

数据映射:由于许多ERP实施和后端大机系统紧密地集成在一起,因此测试ERP应用所显示的数据和在大机系统中被发现的数据之间的数据映射是十分关键的。很可能在大机系统中隐藏着一些陈旧的或无效的数据,这些数据会引起应用当中的问题。

业务流程测试:应该使用测试来验证各种业务流程是否正确运作。由于工作流对强化业务规则来说是非常重要的,因此测试应该覆盖整个整合系统中的所有导航项目和直接功能。应用的业务规则和启动项必须通过全面地测试,确保所有规则能被正确地执行。

权限控制系统:ERP权限控制系统决定了用户可以使用哪些信息,用户在这些信息中可以看到哪些数据。当涉及到供应链和合作伙伴入口时,将会增加安全方面的考虑。从用户界面的角度出发测试安全性可以确保严格执行验证规则。数据驱动的测试使IT人员能使用具有不同登录凭证的相同脚本去验证安全规则。

回归测试:每次部署一个“Code Drop”时,对位于这些程序的每个对象的功能进行回归测试是非常重要的。这其中包括测试它的存在、功能、值等等。“code drop”指的是任何一次新的ERP应用、补丁程序和/或hot fix的发布。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

步骤6:开发模块化的测试组件

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

步骤7:建立测试实验室

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

步骤8:掌握和利用“冒烟测试”

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

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

步骤9:执行回归测试

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

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

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

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

评论(0)

您可以在评论框内@您的好友一起参与讨论!

<--script type="text/javascript">BAIDU_CLB_fillSlot("927898");