Introduction to SAP
The basic idea behind introducing SAP (System Applications and Products) was to provide the customers the ability to interact with common corporate databases for a comprehensive range of applications. SAP is an integrated ERP (Enterprise Resource Planning) to make business process work efficiently.
Following Video will explain the need of ERP software like SAP in an enterprise
SAP suite contains different modules such as SAP FICO, SD, MM, HR, etc.
In this tutorial, you will learn-
- SAP Testing Consultant- a Career choice
- What is meant by SAP implementation?
- What is SAP customization?
- What is maintenance of SAP software?
- SAP End to End lifecycle and corresponding Testing Phases
- Types of Testing Applicable to SAP applications
- How to create a SAP Test Case
- Automated Testing of SAP Applications
- Performance Testing of SAP Application
What is SAP Testing?
SAP Testing is same as Software Application testing however here the applications is SAP ERP. At whatever point you make a change in SAP software, test cases need to be created to check the new functionality. SAP testing can also involve – Performance Testing. (to check speed of sap applications) & web testing (for SAP web portals).
|Skill Set|| |
To become a SAP tester you need following skill sets
|Typical WorkDay||On any typical work day you will be busy understanding requirement documents , creating test cases , executing test cases , reporting and re-testing bugs , attending review meetings and other team building activities.|
|Career Progression|| |
Your career progression as a software tester (QA Analyst) in typical CMMI level 5 company will look like following but will vary from company to company
QA Analyst (Fresher) => Sr. QA Analyst (2-3 year experience)=> QA Team Coordinator (5-6 year experience> =>Test Manager (8-11 experience) => Senior Test Manager (14+ experience)
How SAP Testing is more lucrative than other testing projects ?
While testing any AUT ,
- You acquire deep functional knowledge of the AUT. Without sufficient knowledge of AUT its difficult to test
- Hone your testing skills
As with any IT company , you move from one project to another in due course of time. All the hardwork you did to understand the functionality of AUT is obsolete in the new project. This is typically true if you are switching projects across domains say telecom to healthcare.
In case of SAP, the functional knowledge you acquire is portable and can be used in other projects. Suppose you are switching jobs. In your old company you were testing billing software for Vodafone. What is the likely hood that the same project is available in your new company ? Next to Zero.
Now consider this case. You are switching from SAP Testing project to another SAP Testing project in new company. You instantly recognize the GUI , Transaction codes, vanilla business workflows which is a huge advantage. You will need to learn the customizations made by the client but still you need a deep knowledge of the software.
The biggest advantage as SAP Tester is that due to the deep functional knowledge you acquire, you can easily become a SAP Functional Consultant! SAP Consultants are in huge demand & they are almost always on short supply and command premium salaries.
Consider this scenario. Company A offers 12 annual leaves. Company B offers 20 annual leaves. Salary must be deducted for any employee who uses 13th or 21st annual leave for Company A & B respectively. This information must be configured into the SAP system which is nothing but SAP implementation and configuration.
The SAP vanilla version is powerful but not much useful until it’s customized and configured as per the business policies, legal stipulations, & technical requirements of a company. This process is called SAP implementation. It could typically take a few months to even years.
SAP by far has the highest collection of Business Process. But sometimes your internal company processed many not be accurately mapped using the readily available SAP business transactions.
In such cases custom code is created using ABAP. It involves code changing to create functionality that is not available through configuration. This is nothing but customizations. SAP customization can also be done to generate custom reports, programs, or enhancements.
Once the SAP system is configured, customized, deployed and made live – any changes made to the SAP system is termed as Maintenance. This could include
- New Feature addition to the SAP System
- Bug Fixes
- SAP Kernel Updates
- Support Pack & Stack Updates
- OSS note implementation
There are multitude of methodology that can used for SAP implementation
- ASAP Implementation ( For initial implementation of SAP systems , and porting from legacy systems)
- Maintainence Lifecycle
- Upgrade LifeCycle
- Custom Development LifeCycle
Whatever the lifecycle you may be working, there are three main testing phases you will be involved in
1) Test Preparation
2) Test execution phase
3) Test Evaluation phase
Test preparation phase
- Identification of business process to be tested
- Manual and automated Test Case development
- Creation of test suites and review
- Set up of test system
- Creation of test data
Test execution phase
- Test execution either manually or using test tools
- Test status reporting and Defect handling
Test evaluation phase
- Detailed assessment of all test plans
- Defect Analysis
- Documentation of the testing process
For SAP applications the common testing performed are:
- Unit Testing: This part of testing is mostly taken care by the developers based on their defined Unit Testing rules as per the organizations. This is sometimes done by the skilful white box testers. The test is done in the development box. This is the testing of interfaces, conversions, enhancement, reports, work flows and forms(RICEWF) developed primarily with ABAP code. Testing of development object includes testing for security authorization, ,data transfer rules, reconciliations and batch scheduling jobs. BW (Business Warehouse) testing is also part of the development tests.
- Integration Testing: It is the testing of combined components of a SAP application to determine if they function together correctly. It is typically done in the QA environment and uses realistic test data.
- Regression Testing: Regression Testing is done to ensure that the new changes implemented do not adversely affect the existing working code. SAP R/3 is a tightly integrated system. A single stack update, OSS note, transport, configuration changes, new development interfaces can have cascading and severe effect. Regression Testing is usually executed using automation tool by the testing team.
- Performance Testing: It is testing SAP applications to ensure that they will perform well under expected workload. Performance Testing encompasses load , volume & Stress Testing to determine system bottlenecks. The aim of this testing is to enhance robustness of SAP applications and helps deploy systems that can sustain high load forecast, with zero post production performance issues. The testing includes checking business processes that may cause stress, due to high transaction or batch volumes. It is usually executed using automated tools & involves collaboration of basis, database, infrastructure and test teams to monitor test results.
- Functional Testing: Functional Testing ensures that your implementation of SAP meets your business requirements. SAP is highly configurable system and could be easily integrated with in-house applications or third party tools. Given this varied configuration and complexity functional testing is a must. Functional testing removes uncertainty over business use cases and brings quality. It includes review of design documents and creating test artifacts including test requirements, Test Scenario and test cases. Functional testing is usually done by the testing team with a background in particular SAP module being tested.
- User Acceptance Testing (UAT): Once functional, system and Regression Testing is completed, UAT ( User Acceptance Testing) is performed. It ensures that the SAP system is usable for the end users of the system. The end users independently execute the user acceptance test cases that includes testing business processes, functions, documentation (operating manuals, cheat sheets) etc. With UAT users can feel comfortable with the new business environment and can take full ownership of the system.
- Security Testing: To ensure the safety of SAP applications, Security Testing is performed. High risk areaslikesap-portal security, network security, operational security, product security, access control and source code audit for security are tested. This is usually involves the basis, database, infrastructure, development and test teams.
- Portal Testing: These techniques involve testing the SAP Portals on different browser and checking business processes
Let’s design a test case to change the Name of an employee in SAP system
To create an effective test case, you must
- Determine SAP role required to execute the test case
- Identify the SAP transaction that needs to be executed for the test case
- Test Data required executing the test case. Determine whether the data needs to be created or whether it used by another tester or whether the data is locked & cannot be modified.
- Any Pre-requisites
- Peer review Test cases
- Create positive as well negative scenarios
- Create detailed Test Steps.
- Test coverage should be robust
- Document defects in timely manner which is as soon as they are discovered.
Refer this video, for a guideline on how to change SAP Infotype
The test case designed for this is as follows -
SAP is a humungous system with endless variations. Its neither feasible nor cost-effective to check all possible variations and combinations of test parameter inputs in SAP system.
As in above example , a tester could have verified change in Last Name, Date of Birth, Address, Pin Code, City , State, Country, change in permanent , temporary, work address etc.
A Tester needs to adopt strategies reduce the number of test cases without sacrificing coverage. Examples of such strategies include boundary value analysis, equivalence partitioning & orthogonal arrays.
Testing is a huge challenge for colossal system like SAP. As per recent study by ASUG, Over 86% customers are concerned about risks due to lack of comprehensive testing.
Automation has following benefits for SAP applications
- The chief and most valuable benefit is improved test coverage
- Better product quality and therefore less production outages. Outages in SAP productions environments could cost a company millions!
- Workload decreases with each release cycle
The methodology and approaches are more important than the chosen test tool. When you think about testing SAP application, some tools comes in mind naturally like SAP TAO, eCATT, QTP etc.
ECATT ( Extended Computer Aided Test Tool)
ECATT is used to create and execute functional tests for SAP. ECATT is an in-built tool that comes bundled with SAP with a primary objective of automated testing of SAP business processes.
ECATT useful features
- Test transactions, reports and scenarios
- Call BAPIs and function modules
- Test remote systems
- Check Authorizations (user profiles)
- Test updates
- Test the effect of changes to customizing settings
- Check system messages
QTP ( Quick Test Professional Tool)
HP’s QuickTest is a keyword driven automation tool. It supports many environments including SAP. The tool is robust, feature rich and user-friendly. Its market leader in automation tool commanding major market share. It’s a commercial tool with excellent vendor support. It’s a tool of choice for SAP automation.
SAP released the automation tool SAP TAO in collaboration with Focus Frame(now acquired by Hexaware).
SAP TAO wraps up QTP and QC where QTP acts as execution engine and test scenarios are created and driven from QC through business components. SAP TAO automates generation of test components for end to end scenarios. SAP TAO and HPQC setup do have some benefits compare to other testing tool there is a huge corporate support for both HP and SAP software products.
SAP TAO client application performs three functions, inspecting transactions from a SAP server, exporting the transactions to HP Quality Center and consolidating components or scripts from HP Quality Center.
Performance testing of SAP applications is done to check its speed, scalability and stability. Performance Testing SAP helps with
- Conform with service-level agreements (SLAs).
- Optimize software configuration settings.
- Reduce overspending on hardware
- Certify that the system will not crash or fail during seasonal high load and help avoid corresponding financial losses.
Events that Trigger Performance Test
Choice of Performance testing tool for SAP depends on the underlying SAP application being tested. Below is a list of SAP performance test tools and their application areas
- Open source/ Free
- Jmeter - (Performance Test SAP Business Obects BI Platform)
- Open STA (Performance Test SAP Portals)
- Load Runner (Performance Test SAP ECC amongst other SAP applications) – recommended by SAP
- IBM Rational Robot (Can test wide variety of SAP applications)
SAP testing offers tremendous career opportunities for QA enthusiasts. It’s a relatively easy way to break into the highly regarded SAP Consultant arena.
Checkout - SAP Testing Interview Questions & Answers