Using automated smoke test suites to reduce regression testing effort
You can use Pega’s built-in automated testing capabilities for optimized and effective regression testing of your Pega applications.
Use PegaUnit testing to create automated, headless unit tests which run quickly to ensure the quality of the application at a unit level.
For more information on creating PegaUnit test cases & suites, please refer to the following articles.
Use Pega Scenario testing to create automated functional scenario tests which run on any browser and ensure the quality of the application from end to end.
For more information on creating Pega Scenario test cases & suites, please refer to the following article.
With either of these frameworks, it is possible to create test suites comprised of test cases. You can use the capability of test suites to group test cases that cater to different requirements for testing your Pega applications, including:
- Test cases belonging to a specific feature (feature based testing)
- Test cases to be run on different environments (environment specific testing)
- Test cases related to performance (performance testing)
- Test cases for high level smoke testing (smoke testing)
- Test cases for regression testing on one or more areas (regression testing)
You can configure these test suites in the CI/CD pipelines created for various applications across stages in multiple environments. Run your PegaUnit tests and run your Pega Scenario test tasks using Pega Deployment Manager to configure these test suites in the pipeline.
Please refer to the following links:
- How to maintain a test application for storing your test cases and related artefacts of an actual Pega application
- Managing test cases separately in deployment manager
Following these guidelines in maintaining your test suites would ensure an effective testing during Pega software upgrades:
- Create different suites customized for different use case requirements.
- Configure multiple steps in the CI/CD pipeline to execute different types of test suites rather than bundling all test cases into a single test suite.
- Use a modular approach by using suites inside suites, a useful feature offered by PegaUnit testing.
- Ensure that each test case is independent by making use of the setup/clean-up facility provided at the test case level.
- If you have end-to-end scenarios which need to be covered using PegaUnit testing, create all of the necessary unit tests (with the dependencies) and group them into a test suite. Use the setup/clean-up facility provided at the test suite level to handle all of the test data for the entire suite.
- Use proper naming conventions and helpful, accurate descriptions for each test suite.
- Use the “Disable” test case feature to temporarily bypass any known failures instead of removing them from the test suites.
- Update the smoke and regression test suites regularly, based on the changes or new additions to your application's logic.
- Create test suites to monitor performance, which is only available in PegaUnit using the following guidelines:
- Identify performance intensive test cases and group them within a test suite.
- Configure each test case to “fail” when the performance validation fails.
- Define an overall maximum allowed time at the test suite level and configure the test suite to “fail” when the performance validation fails.
- Monitor the time taken by this test suite before the upgrade and adjust the benchmarks accordingly
- Configure these test suites to run in the upgraded environment to observe the deviations and analyze the gaps.
Refer to Pega Test Automation Features, Best Practices to understand various testing tools that are offered in Pega Platform to perform different types of testing and monitoring your application's health throughout the application development life cycle.