SAP 测试实例教程

SAP Testing

什么是 SAP 测试?

SAP 测试是一种验证 SAP ERP 实施的软件测试。无论何时更改或自定义 SAP 软件,都需要创建测试用例来检查新功能。在实施任何维护版本说明后,您还必须测试 SAP 系统。SAP 测试也可能涉及 – 性能测试(检查 SAP 应用程序的速度)和 Web 测试(针对 SAP Web 门户)。

SAP 简介

引入 SAP (System Applications and Products,系统应用和产品) 的基本理念是为客户提供与通用公司数据库交互的能力,以支持全面的应用范围。SAP 是一种集成的 ERP (企业资源规划),旨在使业务流程高效运作。

以下视频将解释企业中为何需要像 SAP 这样的 ERP 软件

SAP 套件包含不同的模块,例如 SAP FICO 测试、SD、MM、HR 等。

SAP 测试顾问——一个职业选择

技能组合 要成为一名 SAP 测试员,您需要具备以下技能:

  1. 测试知识
  2. 所测试模块的功能知识。
典型工作日 在任何一个典型的工作日,您都会忙于理解需求文档、创建测试用例、执行测试用例、报告和重新测试缺陷、参加评审会议以及其他团队建设活动。
职业发展 在典型的 CMMI 5 级公司中,您作为一名软件测试员(QA 分析师)的职业发展路径如下,但会因公司而异:

QA 分析师(新手)=> 高级 QA 分析师(2-3 年经验)=> QA 团队协调员(5-6 年经验)=>测试经理(8-11 年经验)=> 高级测试经理(14 年以上经验)

为什么 SAP 测试是比测试其他领域更好的选择?

在测试任何被测应用 (AUT) 时,

  1. 您会获得对被测应用的深入功能知识。没有足够的被测应用知识,测试将很困难。
  2. 磨练您的测试技能

与任何 IT 公司一样,您会在适当的时候从一个项目转到另一个项目。您为了理解被测应用功能所做的所有努力,在新项目中都将过时。如果您跨领域转换项目,比如从电信到医疗保健,这一点尤其明显。

在 SAP 的情况下,您获得的功能知识是可移植的,可以在其他项目中使用。假设您正在换工作。在您的旧公司,您正在为沃达丰测试计费软件。您新公司有同样项目的可能性有多大?几乎为零。

现在考虑这种情况。您从一个 SAP 测试项目转换到新公司的另一个 SAP 测试项目。您能立即认出图形用户界面 (GUI)、事务代码、标准的业务工作流程,这是一个巨大的优势。您需要学习客户所做的定制,但仍然需要对该软件有深入的了解。

作为 SAP 测试员的最大优势在于,由于您获得了深入的功能知识,您可以轻松成为一名 SAP 功能顾问!

SAP 顾问需求量巨大,他们几乎总是供不应求,并能获得高薪。

SAP 实施是什么意思?

考虑这个场景。公司 A 提供 12 天年假。公司 B 提供 20 天年假。对于公司 A 和 B,任何员工使用第 13 天或第 21 天年假时,都必须扣除工资。这些信息必须被配置到 SAP 系统中,这正是 SAP 的实施和配置。

SAP 的标准版本功能强大,但除非根据公司的业务政策、法律规定和技术要求进行定制和配置,否则用处不大。这个过程称为 SAP 实施。通常可能需要几个月甚至几年的时间。

什么是 SAP 定制?

SAP 拥有迄今为止最丰富的业务流程集合。但有时,您公司的内部流程可能无法使用现成的 SAP 业务交易准确映射。

在这种情况下,会使用 ABAP 创建自定义代码。这涉及更改代码以创建通过配置无法实现的功能。这就是所谓的定制。SAP 定制也可以用于生成自定义报告、程序或增强功能。

什么是 SAP 软件维护?

一旦 SAP 系统配置、定制、部署并上线后,对 SAP 系统进行的任何更改都称为维护。这可能包括:

如何进行端到端的 SAP 测试?

有多种方法可用于 SAP 实施

  • ASAP 实施(用于 SAP 系统的初始实施,以及从旧系统迁移)
  • 维护生命周期
  • 升级生命周期
  • 自定义开发生命周期

无论您处于哪个生命周期中,包括 SAP 测试,您都会参与到三个主要的测试阶段。

1) 测试准备

2) 测试执行阶段

3) 测试评估阶段

End to End SAP Testing

步骤 1) 测试准备阶段

  1. 识别待测试的业务流程
  2. 手动和自动测试用例开发
  3. 创建测试套件并进行评审
  4. 搭建测试系统
  5. 创建测试数据

步骤 2) 测试执行阶段

  1. 手动或使用测试工具执行测试
  2. 测试状态报告和缺陷处理

步骤 3) 测试评估阶段

  1. 对所有测试计划进行详细评估
  2. 缺陷分析
  3. 记录测试过程

适用于 SAP 应用的测试类型

Types of Testing Applicable to SAP applications

对于 SAP 应用,通常执行的测试有:

1) 单元测试

这部分测试主要由开发人员根据他们所在组织定义的单元测试规则来负责。有时也由技术娴熟的白盒测试人员完成。测试在开发环境中进行。这是对主要用 ABAP 代码开发的接口、转换、增强、报告、工作流和表单 (RICEWF) 的测试。开发对象的测试包括安全授权测试、数据传输规则、对账和批处理调度作业。BW(商务智能仓库)测试也是开发测试的一部分。

2) 集成测试

这是对 SAP 应用程序的组合组件进行的测试,以确定它们是否能正确地协同工作。它通常在 QA 环境中进行,并使用真实的测试数据。

3) 回归测试

回归测试旨在确保新实施的更改不会对现有正常工作的代码产生负面影响。SAP R/3 是一个紧密集成的系统。单个堆栈更新、OSS 注释、传输、配置更改、新的开发接口都可能产生连锁和严重的影响。回归测试通常由测试团队使用自动化工具执行。

4) 性能测试

这是对 SAP 应用程序进行的测试,以确保它们在预期工作负载下能良好运行。性能测试包括负载、容量和压力测试,以确定系统瓶颈。为了增强 SAP 应用程序的稳健性,该测试确保系统能够管理高负载预测,并防止生产后出现性能问题。对因高事务量或批处理量而易于产生压力的业务流程进行彻底评估。它通常使用自动化工具执行,并需要基础架构、数据库、基础设施和测试团队的协作来监控测试结果。

5) 功能测试

功能测试确保您的 SAP 实施满足您的业务需求。SAP 是一个高度可配置的系统,可以轻松地与内部应用程序或第三方工具集成。鉴于这种多样的配置和复杂性,功能测试是必须的。SAP 功能测试消除了业务用例的不确定性并带来了质量。它包括审查设计文档和创建测试工件,包括测试需求、测试场景和测试用例。功能测试通常由具有特定 SAP 模块背景的测试团队完成。

6) 用户验收测试 (UAT)

功能测试、系统测试和回归测试完成后,将执行 UAT(用户验收测试)。它确保 SAP 系统对系统的最终用户是可用的。最终用户独立执行用户验收测试用例,包括测试业务流程、功能、文档(操作手册、速查表)等。通过 UAT,用户可以适应新的业务环境,并能完全掌控该系统。

7) 安全测试

为确保 SAP 应用程序的安全,会进行安全测试。对高风险领域进行测试,如 SAP 门户安全、网络安全、操作安全、产品安全、访问控制和安全源代码审计。这通常涉及基础架构、数据库、基础设施、开发和测试团队。

8) 门户测试

这些技术涉及在不同浏览器上测试 SAP 门户并检查业务流程。

如何创建 SAP 测试用例

让我们设计一个测试用例,用于在 SAP 系统中更改员工姓名。

要创建一个有效的测试用例,您必须:

  • 确定执行测试用例所需的 SAP 角色
  • 识别测试用例需要执行的 SAP 事务
  • 执行测试用例所需的测试数据。确定数据是需要创建、是否被其他测试人员使用,或者数据是否被锁定且无法修改。
  • 任何先决条件
  • 同行评审测试用例
  • 创建正面和负面场景
  • 创建详细的测试步骤。
  • 测试覆盖范围应足够健壮
  • 及时记录缺陷,即一旦发现就记录。

请参考此视频,了解如何更改 SAP 信息类型的指南

为此设计的测试用例如下 –

Create a SAP Test Case

重要说明

SAP 是一个庞大的系统,有无数的变化。在 SAP 系统中检查所有可能的测试参数输入变化和组合,既不可行也不划算。

如上述 SAP 测试用例示例所示,测试人员本可以验证姓氏、出生日期、地址、邮政编码、城市、州、国家、永久地址、临时地址、工作地址等的变更。

测试人员需要采用策略来减少测试用例的数量,同时不牺牲覆盖率。这类策略的例子包括边界值分析、等价类划分和正交数组

SAP 应用程序的自动化测试

对于像 SAP 这样的庞大系统,测试是一个巨大的挑战。根据 ASUG 最近的一项研究,超过 86% 的客户担心因缺乏全面测试而带来的风险。

Automated Testing of SAP Applications

自动化为 SAP 应用带来以下好处

  1. 最主要也是最有价值的好处是提高了测试覆盖率
  2. 更高的产品质量,从而减少生产中断。SAP 生产环境的中断可能会给公司造成数百万的损失!
  3. 每个发布周期工作量都会减少

SAP 测试自动化工具

方法论和途径比所选择的测试工具更重要。当您考虑测试 SAP 应用程序时,一些工具会自然而然地浮现在脑海,比如 SAP TAO、eCATT、QTP 等。

1) testRigor

testRigor

在对 testRigor 进行评估的过程中,我将此工具加入我的清单,因为它凭借其直观的设置和先进的 AI 功能,很好地满足了初学者和经验丰富的测试人员的需求,使其成为全面 SAP 测试的绝佳选择。

我欣赏 testRigor 提供内置的录制回放功能以及为新项目自动生成测试。此外,所有付费级别都提供出色的文档和一流的客户支持。

功能

  • 测试创建与转换:轻松从头开始构建端到端测试,转换现有手动测试,或利用附带的录制回放浏览器扩展。
  • 与开发工具集成:与用于测试用例和问题管理的其他工具以及您的 CI 管道无缝集成。
  • 减少测试维护:不再需要繁琐的测试维护。节省高达 95% 的时间。
  • 测试支持:Web、移动、API 测试。支持所有浏览器、iOS 和 Android 操作系统。
  • 高质量测试输出:超可靠的测试,每一步都有详细的截图。

访问 TestRigor >>


2) Tricentis LiveCompare

Tricentis LiveCompare

在我对 LiveCompare 进行评估的过程中,我发现它的设置非常简单,并且能为开发人员、测试人员和管理人员提供至关重要的实时信息。在支持变更和管理 SAP 系统风险方面,这是一个首选。

凭借 DevOps 友好的功能,LiveCompare 能够在您的整个 SAP 实践中提高质量和速度,使您能够加速发布、优化运营并自信地交付创新。

功能

  • AI 驱动的变更智能:利用 AI 识别有风险的 SAP 对象,提高测试精度,降低相关风险和成本。
  • 智能测试选择:通过与各种测试库集成,优先测试覆盖关键 SAP 对象的测试,提高测试效率。
  • 自定义代码分析:监控和评估自定义 ABAP 代码的质量,以确保系统完整性和性能。
  • 持续配置影响分析:自动检测 SAP 系统配置的变化,保持运营稳定性。
  • 工作流模板和定制:提供可定制的工作流模板以自动化任务,并确保跨项目数据处理的一致性。

访问 Tricentis >>


3) ECATT (扩展计算机辅助测试工具)

ECATT

ECATT 用于创建和执行 SAP 的功能测试。ECATT 是一个内置工具,随 SAP 捆绑提供,其主要目标是自动化测试 SAP 业务流程。

功能

  1. 测试事务、报告和场景
  2. 调用 BAPI 和功能模块
  3. 测试远程系统
  4. 检查授权(用户配置文件)
  5. 测试更新
  6. 测试自定义设置更改的效果
  7. 检查系统消息

4) OpenText UFT One

OpenText UFT One

OpenText UFT One 是一款关键字驱动的自动化工具。它支持包括 SAP 在内的多种环境。该工具功能强大、特性丰富且用户友好。它是自动化工具市场的领导者,占据主要市场份额。它是一款商业工具,拥有出色的供应商支持。它是 SAP 自动化的首选工具。


5) SAP TAO

SAP TAO

SAP 与 Focus Frame(现已被 Hexaware 收购)合作发布了自动化工具 SAP TAO。

SAP TAO 封装了 QTP 和 QC,其中 QTP 作为执行引擎,测试场景则通过业务组件在 QC 中创建和驱动。SAP TAO 自动化了端到端场景的测试组件生成。与其他测试工具相比,SAP TAO 和 HPQC 的组合具有一些优势,因为 HP 和 SAP 的软件产品都有强大的企业支持。

SAP TAO 客户端应用程序执行三个功能:从 SAP 服务器检查事务,将事务导出到 HP Quality Center,以及整合来自 HP Quality Center 的组件或脚本。

SAP 应用的性能测试

对 SAP 应用程序进行性能测试是为了检查其速度、可扩展性和稳定性。SAP 性能测试有助于:

  • 符合服务水平协议 (SLA)。
  • 优化软件配置设置。
  • 减少硬件上的超支
  • 确保系统在季节性高负载期间不会崩溃或发生故障,并帮助避免相应的经济损失。

Performance Testing of SAP Application

触发性能测试的事件

为 SAP 选择性能测试工具取决于被测试的底层 SAP 应用。以下是 SAP 性能测试工具及其应用领域的列表:

  1. 开源/免费
  • Jmeter – (性能测试 SAP Business Objects BI 平台)
  • Open STA (性能测试 SAP 门户)
  1. 商业版
  • Load Runner (性能测试 SAP ECC 及其他 SAP 应用) – SAP 推荐
  • IBM Rational Robot (可测试多种 SAP 应用)

结论

作为一名质量保证爱好者,我认为 SAP 测试领域存在巨大的职业机会。这似乎是进入享有盛誉的 SAP 咨询世界的一条相对容易的途径。

查看 – SAP 测试面试问题与答案