Automated Testing: A Practical Approach for ERP product

Kishore C.S.

Manager Technical

Ramco Systems

Chennai

Email: cs@rsi.ramco.com

 

Abstract

Objectives of introducing automation of Testing for ERP product are to reduce costs of testing, ensure improved quality through repeated logical test suite execution. Data driven applications need a careful approach during automation of testing. Constrained with immature state of testing practices in Software Industry and limited automation tools, the attempt to automated ERP product testing has been a learning experience. The paper discusses automation experience of ERP Product with existing constraints to add value to the testing process. First Utility of Automation has been to reduce data upload time for a test setup of ERP Product. Second Utility of Automation has been to perform Installation testing of ERP product. Usage of Software Development Principles ensured that quality of Test Automation is good and gives adequate return on Investment. Test Script generation based on functional specification of the product has been used to reduce test script development time in addition to programming of test scripts.

Introduction

Ramco ERP product is a comprising of applications covering Logistics, Sales, Financials, Production, Maintenance, Human Resources, Treasury and Quality Control Modules. The completely integrated suite of applications requires dedicated effort of testing. Over the years, the company has invested man-months in ensuring quality of product versions. Automation of Testing has been initiated more than 6 years ago. The task has been championed by Quality Assurance Group. GUI Testing Tool has been developed to ensure conformance of product with GUI Standards. An attempt to automate functional testing of the product has been launched 3 years back. The exercise started with evaluation of available automated testing tools.

Initial Experience

Ramco ERP Version 3.0 has been subjected to two cycles of automated functional testing. A team of 20 members was involved in generating test scripts covering all functional areas. Around 5000 test scripts/test data files were prepared during this exercise of 2 months.

Areas of improvement identified from this Initial Exercise are:

End of the exercise we had a test suite that is difficult to be maintained or limited reuse for next verson of the product. Return on Investment was not satisfactory.

Learning from Experience

When next version of Ramco Marshal Suite was being developed the team involved in automated testing went through a learning experience. The team realised the mistakes in initial experience. This resulted in a search for best practices in test automation. Summary of the lessons learned from experts in automation [1,2,3], is given below:

  • Immature testing Processes and methods
  • Software testing practices are still evolving. We continue to grope for better testing methods to ensure better quality products. In such scenario, ensuring test automation can cover all new methods of testing is not possible. It should be realised that some of the test cases cannot be automated or is not worth automation also. E.g., Usability testing cannot be automated and tests that need to be executed only once in a product life cycle are not worth the effort. So Test planning for automation must focus on areas that are worth automation.

  • Technical Limitations of tools
  • Tools will have technical limitations that prevent efficient automation. E.g. in our Product Suite Spreadsheet data manipulation could not be achieved using any of the testing tools available. This limited the number of test cases that can be automated. So it is necessary to evaluate testing tools for critical interfaces of Application that need to be automated. Identification of technical limitations after purchase of tool can upset the automation program.

  • Need for development/training of ‘Test Developers’
  • Indian Software training institutes offer extensive training on development tools. They are not focusing adequately on software engineering principles. There is lot of scope for improvement in the attitude of ‘the trained’ towards quality and testing methods. This state of affairs makes it very difficult to allocate resources to testing and keep them motivated. So to meet the resource requirement inadequately skilled people should not be deployed in test automation. In such scenario test automation cannot meet expected requirements. Indian software community needs to make conscious efforts to give adequate focus to Testers and Test Developers as career options and pay them at par with Software Developers. If the discrimination in pay continues, Industry will continue to recruit testers who will never meet our expectations and testing will continue to be a concern area for organizations.

  • Difficulty in measuring Return on Investment of Test Automation
  • Quantification of return on investment will vary from situation to situation. There is no easy method to determine this. If number of test cases that are automated can be quanitified, then it is possible to quanity percentage of automation and make an estimate of efforts saved. To achieve this test case quantification should be done first. In our experience we quantified the effectiveness of test automation by the number of times the test suites were executed and the number of critical defects that were uncovered during the test suite execution.

Conclusions

Organizations realize that automation is the only long-term solution for reduced costs in software testing and better quality products. In eagerness to achieve fast results, basics of testing and test automation tend to be overlooked. This will only result in wasted effort and frustration. Sometimes it may even result in doubts about the test tools that are used. However, the problem does not lie with the available test tools. All Test tools provide basic features of test recording and test scripting. Methods and Practices used for test automation will determine success of test automation and not changing tools or people involved in the activity. Limitations mentioned in this paper also need to be taken into consideration while setting goals for automation. Take positive steps towards automation with reality in focus and achieve success.

 

"Take care with test automation. When done well, it can bring many benefits. When not, it can be a very expensive exercise in frustration". [4]

References