SAP 应用程序旨在帮助企业改善客户关系并提供更好的体验。这些业务应用程序还为用户提供对信息的完整访问,帮助他们更快地做出决策。这种能力有助于企业在行业中获得竞争优势,无论他们在哪个市场。这就是为什么在构建或部署新版本的 SAP 应用程序时进行全面验证测试阶段很重要的原因。
在这篇关于SAP 测试的文章中,我们将探讨测试 SAP 应用程序的主要原因、这样做的最佳实践以及确保您的测试过程尽可能高效的方法。
SAP 概述
SAP(也称为 SAP AG 和 SAP SE)代表系统、应用程序和产品,是一家总部位于德国的跨国公司,以其在全球市场上领先的 ERP 业务应用软件而闻名。ERP 代表企业资源规划,是一种软件应用程序,提供了一个整合平台,允许组织集成其性质多样化的业务流程。
例如:使用 SAP ERP 解决方案,组织可以管理他们的人力资源,客户关系,供应商关系,供应链,企业绩效,材料采购和跟踪,财务账目等
SAP ERP 应用程序在整体 ERP 市场份额中处于领先地位,以下是 2020 年的报告:
报告显示,2020 年全球 ERP 应用市场规模为 952 亿美元,预计到 2025 年将达到 1007 亿美元,CAGR(复合年增长率)为 1.1%。
SAP 由五名前 IBM 员工于 1972 年创立,目前它是全球收入第三大的上市软件企业。SAP 在全球拥有近 50 万客户,其中许多客户包括全球财富 500 强公司。SAP 的客户将其软件用作处理业务数据和实时生成报告的解决方案,这有助于组织中的各级人员做出明智的决策。此外,它使组织能够有效地管理业务运营。
SAP向其客户提供大量产品,以实现他们的各种业务目标,以及 IDE、其他工具、设计系统和规范 ( SAP Fiori )、UI 框架 ( SAPUI5 ),以使他们的应用程序开发人员和测试人员的工作更加轻松。
这篇关于 SAP 测试的文章旨在作为与相关的测试方法参考指南
SAP 应用程序测试(特定于 SAP ERP)和使用 SAPUI5 框架创建的网站/Web 应用程序。
我们将从 SAP ERP 应用程序测试开始,然后是测试通过 SAPUI5 框架创建的网站/Web 应用程序所涉及的内容以及如何在这两个领域进行测试。
SAP ERP 及其产品概述
SAP ERP 使整个组织能够使用单个系统以端到端的方式运行其业务运营(人力资源、客户关系管理、财务会计、库存、制造和管理控制)。无论组织是处理大型业务交易还是中型或小型业务运营,SAP ERP 都为这些客户群中的每一个提供了产品。
SAP S/4 HANA 是 SAP 为大型企业提供的最新 ERP 产品。组织可以在本地数据中心或云端安装 SAP S/4 HANA ERP 系统。沃尔玛、苹果、福特汽车、通用汽车、Alphabet 等公司都使用 SAP S/4 HANA 作为他们的 ERP 解决方案。
SAP 还为中型组织提供 SAP Business ByDesign ERP 套件,为小型组织提供 SAP Business One(另一个 ERP 套件)。
测试 SAP ERP 应用程序/SAP S/4 HANA
当您阅读这篇关于 SAP 测试的文章时,您可能会总体上了解测试的重要性。但是,让我们先了解一下测试 SAP ERP 或 SAP S/4 HANA 应用程序所涉及的内容,然后再详细了解所涉及的测试类型以及如何进行测试。
SAP ERP 测试涉及什么?
SAP ERP 应用程序由几个相互关联的业务运营重点模块组成。任何 ERP 应用程序的架构都非常复杂,并且涉及复杂的设计。SAP ERP 在这方面也不例外。由于大量集成组件的这一因素,集成测试和性能测试是 SAP ERP 应用程序成功需要考虑的一些关键测试方面。
由于 SAP ERP 是几个大型组织的命脉,即使其中一个模块(例如财务模块)中的小错误也会对客户的业务产生可怕的后果。这是我们为 SAP ERP 应用程序制定战略和执行专业测试的关键原因。
此外,当我们处理 SAP ERP 测试时,它指的是用于测试在 SAP ERP 软件之上完成的定制的方法。尽管 SAP ERP 应用程序开箱即用,具有各种模块和丰富的功能以及与业务运营相关的属性,但组织仍然使用定制来满足其业务需求。对于在开发过程中执行的每个定制,您应该计划和创建测试用例来检查新定制的功能。
SAP ERP 测试中使用的工具
根据您的组织使用的 SAP ERP 应用程序(SAP ECC – SAP ERP 中央组件或 SAP S/4 HANA),适用和可供选择的SAP 测试工具列表会有所不同。这是因为 SAP ECC 依赖于某些遗留技术,例如 SAP GUI,并且为了测试在该领域所做的更改,它需要面向 SAP 的工具、语言 (SAP ABAP) 和框架库。
随着我们进一步进行,我将在本文的各个部分中提到可用于 SAP ERP 测试的编程语言和工具。
SAP ERP涉及的各类测试
以下是 SAP ERP 系统需要执行的主要 SAP 测试类型:单元测试、集成测试、功能测试、性能测试、回归测试
单元测试
SAP ERP 套件是基于一种名为 ABAP(高级业务应用程序编程)的本土高级编程语言开发的。ABAP 也俗称 ABAP/4,意思是第 4 代语言。
SAP 提供了一套丰富的 ABAP 代码开发、测试和分析工具,与他们的 ERP 套件集成,以确保 ABAP 代码的语法正确性和功能方面。
在 SAP 中,每当工作流、报告、界面、转换、增强和表单领域发生变化时,通常都会进行单元测试。简而言之,这在 SAP 中称为 WICEF。
与使用 ABAP 进行开发和单元测试相关的著名工具:
1.ABAP Workbench:开发人员可以使用 ABAP Workbench 开发标准的 SAP ERP 应用逻辑和自定义应用逻辑。
2.ABAP Test Cockpit (ATC):ABAP Test Cockpit (ATC) 是随 ABAP Workbench 一起提供的测试支持框架。使用 ATC,开发人员可以执行并观察对 SAP 应用程序中开发的对象进行的各种测试的结果。
3.ABAP 测试双重框架:在为 SAP ERP 应用程序进行 ABAP 单元测试时,您可能只想关注感兴趣的对象,而不是包括可能偏离单元测试目标的其他可变因素。这就是像 ABAP Test Double Framework 这样的模拟框架派上用场的地方。在单元测试期间,依赖/外部对象应该用它们的模拟对象代替,以模仿真实依赖对象的行为。以这种方式进行测试有助于将重点放在被测 ABAP 对象上,并促进模块化。
集成测试
一旦对单元更改进行了测试,重点应该转移到规划和开发集成测试用例和代码上。作为此阶段的一部分,应涵盖使功能正常工作或涉及方法调用的所有不同模块或外部依赖项以进行测试。换句话说,这将是一种端到端的测试过程,涵盖各种 SAP 模块,包括不属于 SAP 的系统或应用程序。
例如:如果一个组织使用 Salesforce 进行客户关系管理 (CRM) 和 SAP 覆盖其他业务流程,那么作为集成测试的一部分,当在 Salesforce CRM 中配置新客户时,新客户的数据必须与 SAP ERP 系统同步SAP 内部的财务模块、销售业绩模块等相关业务模块。
功能测试
功能测试至关重要,因为它们评估 SAP 中所有业务模块的功能是否满足业务需求。
SAP ERP 应用程序非常灵活,因为它为用户提供了许多配置选项来调整业务模块的功能行为。因此,QA 工程师需要仔细阅读设计文档,了解业务模块的功能特性,并创建测试场景和测试套件以在 SAP中进行功能测试。
性能测试
性能测试的目标是确保 SAP ERP 应用程序的所有业务模块保持运行,即使系统负载仍然很高。负载的增加可能是因为:用户数量增加;由于业务运营而发生的大量交易;为满足业务需求而创建的后台计划作业等等。
这种压力测试要么与集成测试一起完成,以评估技术堆栈中的所有组件在投入使用时如何协调在一起,要么在集成测试通过后执行。一些组织有一个专门的性能测试团队来执行与性能测试相关的基础设施设置和任务。
回归测试
回归测试必须在以下情况下进行:
在发布之前和代码/SAP 配置冻结之后;当 SAP ERP 处于生产模式并且针对新的更改请求执行更改时
作为回归测试的一部分,我们必须再次测试整个应用程序,并确保生产中的功能继续以以前的方式工作。
如何执行这些 SAP 测试类型?
为了节省工作量、成本和时间,单元测试、集成测试、功能测试、性能测试和回归测试都应该在组织中实现自动化和执行。开发人员/测试人员可以使用 ABAP 编程语言为所有此类 SAP 测试类型开发测试脚本。
SAP TAO(测试加速和优化)和 eCATT(扩展计算机辅助测试工具)等工具在 SAP 社区中被广泛使用,以实现自动化测试。虽然 SAP TAO 用于自动化端到端测试目的,但 eCATT 可以通过促进图形用户界面和 ABAP 脚本编辑器来记录和参数化测试对象以进行自动化测试。
对于基于 SAP S/4 HANA 的 ERP 解决方案,您可以将Selenium 自动化测试用于基于 Web 的代码库(例如:HTML)。
SAP 测试工具允许您在包含 3000 多个真实浏览器和操作系统的在线设备场上对基于 SAP S/4 HANA 的 ERP 应用程序执行跨浏览器测试。
现在我们已经完成了这篇关于 SAP 测试的第一部分关于测试 SAP ERP 应用程序的内容,让我们继续了解使用 SAPUI5 框架创建的网站或应用程序以及如何测试它们。
SAPUI5 框架概述
SAPUI5 是一个企业级 UI 开发框架,用于构建基于 HTML5 标准的 Web 应用程序。SAPUI5 以 HTML5、CSS、AJAX 和 jQuery 等前端技术为核心。它还支持跨国公司组织的必要功能,例如国际化、本地化、其他基本功能,例如数据驱动的 UI、路由、性能分析的综合套件、支持单元测试和端到端的测试工具测试方法。SAPUI5 利用 MVC(模型视图控制器)方法开发 Web 应用程序。
SAPUI5 框架自带众多控制元素,如果算上 UI 元素,将超过 500 多个。这些 UI 元素包括简单的开关、按钮、表格视图和用于分析报告用例的各种类型的报告图表。不仅如此,SAPUI5 框架还负责以响应方式呈现这些 UI 元素,使 Web 应用程序与任何类型的设备兼容,无论是台式机、笔记本电脑、平板电脑还是智能手机。
SAP 建议开发人员基于 SAPUI5 框架开发网站或 Web 应用程序,以考虑基于 SAP Fiori 设计应用程序的 UX 部分,并使用 SAPUI5 开发 UI 元素,以尊重 Fiori 建议的那些 UX 设计原则。
它来自 SAPUI5,一个名为 OpenUI5 的开源 JavaScript 应用程序框架,由 SAP 发布到开源社区。OpenUI5 在 Apache 2.0 许可下可用,可用于创建跨平台、响应式 Web 应用程序。OpenUI5 被认为是 SAPUI5 的子集,因为两者都来自相同的代码库,但 OpenUI5 不包含某些仅在 SAPUI5 中可用的组件。例如,有一些 Plotting 库在 OpenUI5 中不可用。但是,仍然可以使用 OpenUI5 框架构建企业级 Web 应用程序。
您可以通过此认证来证明您在 JavaScript 方面的专业知识,以创建自动化浏览器测试。
测试使用 SAPUI5 框架创建的网站/Web 应用程序
由于 SAPUI5 和 OpenUI5 框架都是同一代码库的一部分,因此我将在本文中引用的测试方法将适用于使用这些框架中的任何一个创建的应用程序。
开箱即用的 SAPUI5 框架建议并提供了许多工具来简化开发和测试过程。
SAP Web IDE 是适用于基于 SAPUI5 的应用程序的最佳 IDE 之一。
对于 SAP 测试,SAPUI5 提供用于单元测试的 QUnit,用于集成测试的 OPA5,用于执行系统和端到端测试的 UIVeri5。但是,对于已经熟悉 Selenium 或 Karma 等工具的开发人员和测试人员,他们将继续使用它们编写自动化脚本来测试基于 SAPUI5 的应用程序。
基于 SAPUI5 的站点中涉及的各种类型的测试
以下是基于 SAPUI5 的网站或 Web 应用程序应具备的 SAP测试策略类型:单元测试;集成测试;系统测试
测试套件应该有更多的单元测试,然后是集成测试,然后是数量上的系统测试。这是因为较低级别的测试(从单元测试开始)更容易开发、维护和更快地执行。我们遍历测试类型的级别越高,开发和维护它们所需的复杂性和工作量就越大。
让我们看看如何处理这些 SAP 测试类型。
单元测试
QUnit 是一个基于 JavaScript 的测试框架,广泛用于在 SAPUI5 应用程序中进行单元测试。QUnit 具有以下基本功能:测试运行器(执行测试套件);测试套件(一个或多个测试);测试用例(实际测试);断言(根据预期验证实际结果);试运行报告(试运行结果)
这些特性的可用性使得使用 QUnit 进行单元测试变得轻而易举。还可以使用基于 Selenium 的测试脚本,这样每当应用程序源代码中的文件发生更改时,您就可以使测试套件以自动化方式执行。
集成测试
规划和开发集成测试需要彻底了解我们正在处理的应用程序的内部结构。尽管处理集成测试似乎很复杂,但 SAPUI5 产品随附的库(如 OAP5(单页验收测试))使集成测试开发和执行任务变得更加容易。
OAP5 是一个基于 JavaScript 的库,与您作为 SAPUI5 应用程序的开发人员已经熟悉的语言相同。这是因为应用程序本身是使用相同的 JavaScript 编程语言构建的。此外,这使得测试套件与任何基于 JavaScript 的框架(如 Jasmine、Sinon 或 QUnit)的集成变得容易。
OAP5 库的限制以及如何处理这些限制
尽管有这个优势,但在使用 OPA5 进行测试时,您作为开发人员/测试人员应该注意一些限制。
1.无法使用 OAP5 库进行屏幕捕获。
在生产中,应用程序用户可能会遇到功能或外观问题。尽管使用 OAP5 库可以实现功能检查,但由于缺少屏幕捕获功能,我们必须计划测试策略以覆盖外观或视觉区域。
2.一次测试多个页面
一次在单个页面上执行 SAP 测试是有效的,但它可能很耗时,尤其是当您有许多页面要测试时。如果您正在测试单个页面,那么在各种设备和浏览器上进行测试非常容易。但是,当跨多个页面进行测试时,组合的数量呈指数增长。那么为什么不一次跨多个页面进行测试呢?
这就是并行测试被证明是有帮助的地方。Selenium 的并行测试执行是影响测试执行速度的主要因素之一。如果您通过将测试套件拆分为多个作业到不同的机器或虚拟环境中来运行测试套件,那么在给定时间段内执行的测试数量将会高得多,这已经不是什么秘密了。
系统测试
SAP 的团队建议使用 UIVeri5 来实施系统和端到端测试。这是一个受 Protractor 启发的框架,它使用 WebDriverJS 来启动一个真实的浏览器,以便脚本可以与使用 SAPUI5 开发的应用程序进行交互,就像现实世界中的用户一样。UIVeri5 的测试通常采用同步编码技术编写,它兼容 Chrome、Internet Explorer、Firefox、Safari、iOS 和基于 Android 的浏览器等浏览器。
概括
至此,我们已经到了这篇关于 SAP 测试的文章的结尾。作为本文的一部分,我们概述了 SAP ERP 应用程序(包括最新的 SAP S/4 HANA ERP 套件)和 SAPUI5 框架。我们还探讨了测试使用 SAPUI5 框架开发的 SAP ERP 解决方案和 Web 应用程序所涉及的方面、测试类型和工具。
还记得我告诉过您有关基于 SAPUI5 的应用程序测试的事实吗?用于测试基于 SAPUI5 的 Web 应用程序的方法和工具也适用于测试使用 OpenUI5 框架开发的应用程序。我希望您可以使用这些指针来决定测试您的 SAP 应用程序。祝测试愉快!!!
常见问题 (FAQ)
SAP中的测试类型有哪些?
下面给出的是 SAP 中的测试类型:单元测试;集成测试;回归测试;性能测试;功能测试;安全测试;最终用户测试和用户验收测试
SAP 接口测试SAP 测试用一个例子来解释什么?
事实上,SAP 测试与任何其他软件应用测试服务没有什么不同。只是这里的应用程序是针对ERP(企业资源计划)软件的。此类软件一般与制造业相关,SAP Testing 确保该系统所有模块的正常运行,并验证它们是否相互兼容。
SAP 测试使用哪种工具?
eCATT 是 SAP 开发的一款软件,它是用于自动化测试场景和创建测试计划的工具。它有CATT的支持,并且是用Java编写的。
卓码软件测评是一家[ 具备CMA、CNAS双重资质 ]的专业做软件测试的第三方软件测试服务机构, 可根据您的需求提供各类软件测试服务,并出具合格有效的软件测试报告。点击→→可了解测试报价
部分文字、图片来自网络,如涉及侵权,请及时与我们联系,我们会在第一时间删除或处理侵权内容。负责人:曾菲 电话:4006070568