Testing is an essential part of any SAP implementation. Proper testing is a critical component and results in eliminating/reducing risks and gaps.
You should always plan to have multiple test cycles. For most of the implementation I see three cycle strategy for test execution. This assumes that test scripts for every test cycle in a test stage are executed three times. Each cycle will have progressive improvement in pass rate. Each cycle should have predetermined Entry/Exit criteria. Entry/Exit criteria are sets of conditions that must be satisfied before entering/exiting a project phase.
Entry criteria – what is required to support a cycle.
Exit criteria – what is required of a cycle to determine completeness
Testing strategy should focus on the following:
- Testing should be structured and should aim at validating that requirements and specifications are properly implemented and meets Business expectations.
- Testing should attempt to identify problems as early as possible and ensure that specifications are complete and correct.
- Testing should ensure that the specifications are properly and correctly implemented and that the solution meets the business and performance requirements.
Testing can be classified into Functional and Technical Testing and done at various stages of the project implementation. I am listing all the relevant testing that is applicable to a typical SAP implementation. Based on the size of your SAP release/implementation, you can adopt use some or all of the testing types for you implementation.
Unit/Component testing: Testing each individual component of the application after the build for each unit of the application is completed. Each of the RICEFW (R-Reports, I-Interfaces, C-Conversions, E-Enhancements, F-Forms & W-Workflows) objects should be unit testing to make sure they work as expected stand alone. A thorough unit test will result in minimizing issues and delays at later stages.
Integration (product) test: E2E (end-to-end) testing of the business processes across all applications and platforms. This test should incorporate testing the interactions of related application components and functions are properly integrated. This testing can be started only after completing the build activities.
Main aim of integration testing is
- Business requirements are fulfilled
- Functional Design specifications are correctly implemented
- Business processes execute correctly
- Business process errors and exceptions are handled appropriately
Performance test: To test to see if the system is capable of operating at the specified load levels with optimal performance requirements and agreed service levels. This testing helps you fix any performance issues and fine tune the application/User Interfaces.
User Acceptance Test (UAT). This testing ensures that the business users and end users are satisfied with the designed solution. This phase will give users an opportunity to complete review of the system prior to deployment. After successful completion of this phase the product can be released into production system.
Regression Test: Regression testing helps you ensure that when new changes are introduced to a system they do not adversely affect the original functionality of the system. You should plan scope of regression testing to include all relevant functionality is tested. This testing is usually applicable during your monthly/Quarterly releases. For major releases, this will usually covered under your integration testing.
Regression testing should be designed to have detailed, repeatable and automated scripts. Automation of regression testing reduces the testing effort. This will help regression testing to be completed with minimal effort.
This is where you track and manage the identification of defect, resolution and re-test of application/system defects during your test execution.
This process should mandate
Effective testing helps validate that requirements and specifications are properly implemented and meets your SAP implementation functional, technical and operational expectations.