Having an effective automation test suite for your application in your continuous delivery DevOps pipeline ensures that the features and changes that you deliver to your customers are of high-quality and do not introduce regressions.
At a high level, the recommended test automation strategy for testing your Pega applications is as follows:
- Create your automation test suite based on industry best practices for test automation
- Build up your automation test suite by using Pega Platform capabilities and industry test solutions
- Run the right set of tests at different stages of your delivery pipeline
- Test early and test often
Industry best practices for test automation can be graphically shown as a test pyramid. Test types at the bottom of the pyramid are the least expensive to run, easiest to maintain, take the least amount of time to run, and should represent the greatest number of tests in the test suite. Test types at the top of the pyramid are the most expensive to run, hardest to maintain, take the most time to run, and should represent the least number of tests in the test suite. The higher up the pyramid you go, the higher the overall cost and the lower the benefits.
- Analyzing application quality metrics
Quickly identify areas within your application that need improvement by viewing metrics related to your application's health on the Application Quality dashboard.
- Setting up for test automation
Before you create Pega unit test cases and test suites, you must configure a test ruleset in which to store the tests.
- PegaUnit testing
Automated unit testing is a key stage of a continuous development and continuous integration model of application development. With continuous and thorough testing, issues are identified and fixed prior to releasing an application, which improves the application quality.
- UI testing
Perform UI-based functional tests and end-to-end scenario tests to verify that end-to-end cases work as expected. Use the third party Selenium starter kit for CRM or the built-in scenario testing tool to perform the UI testing.