Its is always recommended to performance/volume test your SAP applications as SAP systems has specifically configured to the critical business processes. A successful performance testing confirms that underlying hardware and infrastructure is able to support the required transaction volume and able to generate desired response time for the critical processes.
SAP provides a wide range of products:
- Customer Relationship Management (CRM)
- Enterprise Resource Planning (ERP)
- Product Lifecycle Management (PLM)
- Supply Chain Management (SCM)
- Supplier Relationship Management (SRM)
SAP's products focus on Enterprise Resource Planning (ERP). The company has no main product as different products serve to meet the different needs of businesses. Now a days businesses are looking for a software product that handle all the companies needs, from inventory management, invoicing customers, sales and distribution and controlling the whole business planning in one module. This need from businesses lead to the development of SAP Enterprise Central Component [ECC] system. SAP ECC offers the opportunity to integrate all software data programs by all departments by using one single database.
Following diagram depicts the 3-tier architecture of a typical SAP system
Effective performance test planning plays a vital role in the success of a SAP performance/volume test project. Outcome of the performance test planning phase should indicate the things and order of activities need to be performed. Typical outputs of a planning phase are performance test strategy/ test plan, critical business scenarios, Targeted transaction volume and response time, SLAs, Test data requirements, Risks and mitigation plan etc.
Non functional requirement (NFR) documents is one of the key documents which may provide next level of details while planning, NFR should state all performance/volume testing related requirements very specifically like Expected transaction response time or Dialog response time or work process response time. Different architects may use different terminologies while referring to response time in the world of SAP projects, So it is recommended to understand the requirement very specifically.
Effective and realistic performance/volume testing requires to test the SAP systems with two main processes which is Online users and Batches/reports. Batches plays an important role while we are doing performance test to identify the capabilities of underlying hardware and infrastructure. Its is recommended to understand the 24Hrs round the clock load profile of the system and to identify the points where there is overlap between peak online user load and batches running in parallel. Along with this standalone batch jobs performance testing is also critical for the daily/weekly/monthly and yearly batches which are business critical or resource intensive. NFR document should explicitly mention the expectation and SLAs for the batches.
Based on the identifies business scenarios/batches, performance test could be conducted with three possible combinations
1. Standalone peak online user load test.
2. Peak Online+ Batches performance test
3. Standalone batch performance test
Batches and the interfaces with the legacy/External and third party systems also plays a key role in the performance of the SAP system, we should identify the times where we may received significant load coming from these systems and SAP system has to process the scheduled and ad-hoc requests arriving from these systems.
Successful testing of batches will give us indication of the records or data processed within a given period of time, batches are more prone to have performance deficiency and highly vulnerable to the poor SQL queries, work process consumption, high number of enque and lock entries etc.
Another important factor in planning the performance and volume test in test data, You should have a clear understanding of the load profile you are going to simulate as part of performance testing. Its is must recommended that test environment should have the data similar to production and volume test results will impact a lot if these are performance with lesser data in test environments compared to production. For newly built system you may have zero or very few records in the database which is expected to grow over the time, in such cases there will be a difference in the response time in production and the one you received during performance testing when testing was conducted on empty or with very few records on database.
Expectation should be set clearly with the stakeholders and project management like who is going to create the data and how data will be populated into the test environment and the efforts required to create test data.
There also should be a clear understanding of who is going to create the user IDs with appropriate role and number of user IDs required. User IDs with improper role may not be able to perform the required operation. Role based testing should also be discussed with stakeholders very specifically.
Following diagrams depicts a typical performance test lab setup
Please note that load generators running SAP GUI users should have SAP GUI installed on the machines. System resource requirement to run a single SAP GUI user is much higher than a typical web user, based on the specifications of your load generators machines you should calculate the footprint of the system resource utilization by a single SAP GUI user and accordingly you van calculate the Load generator machines required to accommodate your needs.
No comments:
Post a Comment