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.
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.
- SAP End to End lifecycle and corresponding Testing Phases
- 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:
- 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
- Types of Testing Applicable to SAP applications
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.
- How to create a SAP Test Case
- 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
- Performance Testing of SAP Application
- 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.