A Beginner’s Guide To SAP Testing
Posted On: March 29, 2022
18 Min Read
SAP applications are designed to help businesses improve customer relations and deliver a better experience. These business applications also provide users with complete access to information, helping them make faster decisions. This ability helps businesses gain a competitive advantage in the industry, no matter which market they are in. This is why it is important to have a full-proof testing phase while building or deploying new versions of SAP applications.
In this article on SAP testing, we will look at the main reasons for testing SAP applications, best practices for doing so, and ways to make sure that your testing process is as efficient as possible.
TABLE OF CONTENTS
SAP (Also known as SAP AG and SAP SE) stands for Systems, Applications, and Products is a German-based MNC, known for its leading ERP business application software in the Global market. ERP stands for Enterprise Resource Planning, is a software application providing a consolidated platform to allow organizations to integrate their business processes that are diversified in nature.
For instance: With SAP ERP solution, an organization could manage their
- Human Resources,
- Customer Relationship,
- Supplier Relationship,
- Supply chain,
- Enterprise performance,
- Materials procurement and tracking,
- Financial Accounts, etc.
SAP ERP application leads the way in the overall ERP market share, and here is the 2020 report regarding the same:
As per the report, the Worldwide ERP application market size was 95.2 Billion USD in 2020, and it is estimated to reach 100.7 Billion USD by 2025, with a CAGR (Compound Annual Growth Rate) of 1.1%.
SAP was founded in 1972 by five ex-IBM employees, and presently it is the third-largest publicly-traded software enterprise by revenue in the world. SAP has nearly half a million customers all over the world, many of them including Fortune 500 companies worldwide. Customers of SAP use its software as a solution for processing business data and generating reports in real-time, which helps all levels of people in an organization to make informed decisions. In addition, it enables an organization to manage business operations efficiently.
SAP offers a large number of products to its customers for meeting their various business goals along with IDEs, other tools, design systems, and specifications (SAP Fiori), UI framework (SAPUI5) to make their application developers and testers work easier.
This article on SAP testing is intended to serve as a testing methodology reference guide related to
- SAP Application testing (Specific to SAP ERP) and
- Websites/Web applications created using the SAPUI5 framework.
We will start with SAP ERP Application testing, followed by what it involves to test website/web applications created through the SAPUI5 framework and how to carry out the testing in both areas.
Overview of SAP ERP and its offerings
SAP ERP enables an entire organization to run its business operations (Human resources, customer relationship management, financial accounting, inventory, manufacturing, and management control) in an end-to-end manner using a single system. It does not matter whether an organization deals with large-scale business deals or mid-size or smaller size business operations, SAP ERP has an offering for each of these customer bases.
SAP S/4 HANA is the latest ERP offering from SAP to a large-scale enterprise. Organizations can install SAP S/4 HANA ERP systems in either on-premises data centers or the cloud. Companies such as Walmart, Apple, Ford Motor, General Motor, Alphabet, etc., use SAP S/4 HANA as their ERP solution.
SAP also offers SAP Business ByDesign ERP suite for medium scale organizations and SAP Business One (another ERP suite) for small scale organizations. Here are some of the companies that use SAP Business One:
Testing SAP ERP Application/SAP S/4 HANA
As you are reading this article on SAP testing, you would probably know the importance of Testing in general. However, let’s discover what does it involve in testing SAP ERP or SAP S/4 HANA application before getting into the details of the types of testing involved and how to carry out the same.
What does it involve in SAP ERP testing?
SAP ERP application is composed of several interconnected business operation focussed modules. The architecture of any ERP application is quite sophisticated and involves complex design. SAP ERP is no exception in this regard. Due to this factor of a large number of integrated components, Integration testing and Performance testing are some of the key testing aspects to be considered for the success of SAP ERP application.
As SAP ERP is the lifeblood of several large-scale organizations, even minor errors in one of the modules (say Financial module) can have dreadful consequences for the customer’s business. This is a key reason for us to strategize and execute professional testing in the case of SAP ERP applications.
Also, when we deal with SAP ERP testing, it refers to the approach used for testing the customization done on top of the SAP ERP software. Although the SAP ERP application comes out of the box with various modules and enriched features and business operations-related attributes, organizations still use customization to meet their business requirements. For every customization carried out while development, you should plan and create test cases to check the newly customized feature.
Tools used in SAP ERP Testing
Based on the SAP ERP application that your organization uses (SAP ECC – SAP ERP Central Component or SAP S/4 HANA), the list of SAP testing tools applicable and to be selected would vary. This is because SAP ECC depends on certain legacy technologies, for example, SAP GUI, and for testing the changes done in that area, it would need SAP-oriented tools, languages (SAP ABAP), and framework libraries.
As we proceed further, I will be calling out programming languages and tools that can be used for SAP ERP testing in the respective sections of this article.
Various types of testing involved in SAP ERP
Following are the key types of SAP testing that need to be carried out in the case of the SAP ERP system:
- Unit Testing
- Integration Testing
- Functional Testing
- Performance Testing
- Regression Testing
SAP ERP suite is developed based on a home-grown high-level programming language called, ABAP (Advanced Business Application Programming). ABAP is also popularly known as ABAP/4, meaning 4th generation language.
SAP offers a rich set of ABAP code development, testing and analysis tools integrated with their ERP suite to ensure syntactical correctness and functional aspects of ABAP code.
In SAP, unit testing is usually carried out whenever a change takes place in the areas of Workflow, Report, Interface, Conversion, Enhancement, and Forms. In short, this is called WRICEF in SAP.
Notable tools related to the development and unit testing using ABAP:
- ABAP Workbench: Developers can use ABAP Workbench to develop standard SAP ERP application logic and custom application logic.
- ABAP Test Cockpit (ATC): ABAP Test Cockpit (ATC) is a test enabling framework that comes along with ABAP Workbench. With ATC, developers can execute and observe results for various tests carried out on objects developed in SAP applications.
- ABAP Test Double Framework: While carrying ABAP unit tests for the SAP ERP application, you might want to focus only on objects of interest instead of including other variable factors that could deviate from your unit test goals. This is where a mocking framework such as ABAP Test Double Framework comes in handy.
During unit testing, dependent/external objects should be substituted with their mock objects to imitate the behavior of the real dependent objects. Testing this way aids to have a focus built on the ABAP object under test and promotes modularity.
Once the unit changes are tested, the focus should be shifted to planning and developing integration test cases and codes. As part of this phase, all the different modules or external dependencies that make a feature work or are involved in a method call should be covered for testing. In other words, this would be a sort of end-to-end testing process covering various SAP modules, including systems or applications that are not part of SAP.
For instance: If an organization uses Salesforce for Customer Relationship Management (CRM) and SAP for covering other business processes, then as part of integration tests, when a new customer is provisioned in Salesforce CRM, the new customer’s data must sync with SAP ERP system modules such as financial modules, sales performance module and other such relevant business modules within SAP.
Also read: A Complete Guide To Salesforce Testing
The Functional tests are crucial as they evaluate whether the functionality of all business modules in SAP meets business requirements.
SAP ERP application is highly flexible in the sense that it offers numerous configuration options for its users to tweak the functional behavior of a business module. Hence the QA engineers need to go through the design document, understand the functional features of a business module, and create test scenarios and test suites to carry out functional testing in SAP.
The goal of Performance testing is to ensure that all business modules of the SAP ERP application remain in operation, even when the load of the system remains high. The increase in load could either be because of:
- Increased number of users
- High volume transactions happening because of business operations,
- Background scheduled jobs that are created to satisfy a business requirement,
Such stress testing is either done along with Integration testing to evaluate how all the components in the tech stack get coordinated together when put in action, or it is carried out once the integration tests are passed. Some organizations have a dedicated performance testing team to carry out infra setup and tasks related to performance testing.
Regression testing must be carried out in the following scenarios:
- Before going for a release, and after code/SAP Configuration freeze,
- When SAP ERP is in production mode, and changes are carried out for a new change request
As part of Regression testing, we must test the whole application again and make sure that the features in production continue to work in the way it was before.
How to perform these SAP testing types?
To save effort, cost, and time, unit testing, integration testing, functional testing, performance testing, and regression testing should all be automated and executed without fail in an organization. Developers/Testers could use the ABAP programming language to develop the test scripts for all such SAP testing types.
Tools such as SAP TAO (Test Acceleration and Optimization) and eCATT (extended Computer Aided Test Tool) are widely used in the SAP community to enable automated testing. While SAP TAO is used for automated end-to-end testing purposes, eCATT can record and parameterize the test objects for automation testing by facilitating a graphical user interface along with an ABAP script editor.
In the case of SAP S/4 HANA-based ERP solution, you could use Selenium automation testing for the web-based code base (example: HTML). To make this front-end testing automated, scalable, and reliable, you could explore LambdaTest’s Selenium Grid cloud.
SAP testing tools like LambdaTest allow you to perform cross browser testing on your SAP S/4 HANA-based ERP applications on an online device farm of 3000+ real browsers and operating systems.
Here’s a quick video on performing Selenium automation testing on the LambdaTest platform.
You can also Subscribe to the LambdaTest YouTube Channel and stay updated with the latest tutorials around automated browser testing, Selenium testing, CI/CD, and more.
Now that we have completed the first part of this article on SAP testing about testing SAP ERP applications, let’s head on to the website or applications created using the SAPUI5 framework and how to test them.
Overview of SAPUI5 Framework
SAPUI5 is an enterprise-ready UI development framework for building web applications based on HTML5 standards. SAPUI5 uses front-end technologies such as HTML5, CSS, AJAX, and jQuery at its core. It comes along with the support of necessary features for MNC organizations such as internationalization, localization, other essential features such as Data-driven UIs, routing, a comprehensive suite for performance analysis, testing tools that support both unit testing and end-to-end testing approach. SAPUI5 leverages the MVC (Model View Controller) approach for developing web applications.
SAPUI5 framework comes with numerous control elements, and if counted, it would exceed more than 500 UI elements. These UI elements range anything from simple switches, buttons, Table views, and various types of report charts that are used for analytical reporting use cases. It does not stop with that, the SAPUI5 framework also takes care of rendering these UI elements in a responsive manner, making the web applications compatible with any kind of device, be it a Desktop, Laptop, Tablet, or Smartphones.
SAP suggests the developers develop websites or web applications based on the SAPUI5 framework to consider designing the UX part of the apps based on SAP Fiori and use SAPUI5 for developing the UI elements in respecting those UX design principles suggested by Fiori.
Testing Websites/Web applications created using the SAPUI5 framework
Since both SAPUI5 and OpenUI5 frameworks are part of the same code base, the testing approaches that I am going to cite in this article would be applicable to applications created using any of these frameworks.
Out-of-the-box SAPUI5 framework suggests and offers a lot of tools to make the development and testing process easier.
SAP Web IDE is one of the best IDEs to work in the case of SAPUI5 based applications.
For SAP testing, SAPUI5 offers QUnit for unit testing, OPA5 for integration testing, UIVeri5 for carrying out system and end-to-end tests. However, in the case of developers and testers who are already familiar with tools such as Selenium or Karma, they shall continue to use them to write automation scripts to test the SAPUI5 based applications.
Various types of testing involved in SAPUI5 based sites
Following are the types of SAP testing strategies that one should have for SAPUI5 based websites or web applications:
- Unit Testing
- Integration Testing
- System Testing
The test suite should have more Unit tests, followed by Integration tests, and then System tests in terms of volume. This is because the lower level tests (starting from unit tests) are easier to develop, maintain, and faster to execute. The higher the level we traverse through the testing type, the more complex and effort it needs to develop and maintain them.
Let’s see how we can go about approaching each of these SAP testing types.
- Test runner (executes test suites)
- Test suite (one or more tests)
- Test case (actual test)
- Assertion (to verify actual results against the expected)
- Test run reports (results of test run)
And the availability of these features makes unit testing a piece of cake with QUnit.
One could also use a Selenium-based test script so that whenever a file in the application source code gets changed, you can make the test suite execute in an automated manner.
Planning and developing Integration tests need a thorough understanding of the internals of the application that we are dealing with. Although it appears to be complicated to deal with integration tests, a library such as OAP5 (One Page Acceptance Tests) that comes along with SAPUI5 offerings makes the Integration test development and execution task easier.
Restrictions with OAP5 library and how to deal with those restrictions
In Spite of this advantage, there are some restrictions that you as a developer/tester should be aware of when using OPA5 for testing purposes.
- One cannot do Screen capturing with the OAP5 library.
- Testing across more than one page at a time
In production, the application users can encounter issues in terms of functional or cosmetic problems. Although the functional checks can be achieved using the OAP5 library, due to the absence of the screen capturing feature, we have to plan for test strategies to cover the cosmetic or visual areas.
With LambdaTest’s Smart Visual UI Testing feature, on a single button click, the testers could spot visual changes introduced in the SAPUI5 application. It can be a change in the icon size, or font size, a change of background color, UI layout, the position of the UI element, etc.; anything of such UI changes can be easily spotted.
Given below is the screenshot taken from the LambdaTest platform.
You can even schedule a time interval for the platform to perform automated screenshot testing and send them to you over email. No need to sit around and wait for the test completion.
Performing SAP testing on a single page at once is efficient, but it can be time consuming, especially if you have a number of pages to test. If you are testing a single page, it is quite easy to test on a variety of devices and browsers. However, when testing across multiple pages, the amount of combinations goes up exponentially. So why not test across multiple pages at one time?
This is where parallel testing proves to be helpful. Parallel test execution with Selenium is one of the major factors that can affect the test execution speed. It is no secret that the number of tests executed in a given time period will be much higher if you run your test suite by splitting it into multiple jobs into different machines or virtual environments.
Also read – How To Speed Up Selenium Test Cases Execution?
A cloud-based automated testing tool like LamdaTest offers the benefits of parallel testing without the installation and maintenance headache of a local Selenium Grid. With LambdaTest, you can perform SAP testing in parallel on an online browser farm of 3000+ browsers and operating systems. Once executed, the test result will appear on the LambdaTest Dashboard under the Automation Logs, as shown below:
SAP’s team recommendation is to use UIVeri5 to implement a system and end-to-end tests. It is a framework inspired by Protractor, and it uses WebDriverJS to launch a real browser so that the scripts can interact with apps developed using SAPUI5 in the exact way a user in the real world would. Tests with UIVeri5 are usually written in synchronous coding technique, and it is compatible with browsers such as Chrome, Internet Explorer, Firefox, Safari, iOS, and Android-based browsers.
With this, we have come to the end of this article on SAP testing. As part of this article, we have covered an overview of SAP ERP applications (including the latest SAP S/4 HANA ERP suite) and the SAPUI5 framework. We also explored what are the aspects, testing types, and tools involved in testing the SAP ERP solution and web applications developed using the SAPUI5 framework.
Remember the fact I told you about SAPUI5 based applications testing? The approach and tools used for testing SAPUI5 based web applications also hold good for testing the application developed using the OpenUI5 framework. I hope you can use these pointers to decide on testing your SAP applications.
Frequently Asked Questions (FAQs)
What are the types of testing in SAP?
The given below are the types of testing in SAP:
- Unit Testing
- Integration Testing
- Regression Testing
- Performance Testing
- Functional Testing
- Security Testing
- End-User Testing & User Acceptance Testing
- SAP Interface Testing
What is SAP testing explain with an example?
SAP Testing is, in fact, no different from any other Software Application Testing service. It is just that the application here is for ERP (Enterprise Resource Planning) software. This kind of software is generally related to manufacturing industries, and SAP Testing ensures the proper functioning of all modules of this system and verifies if they are compatible with each other.
Which tool is used for SAP testing?
eCATT is a software developed by SAP, it’s a tool used to automate test scenarios and create test plans. It has the support of CATT, and it’s written in Java.
Got Questions? Drop them on LambdaTest Community. Visit now