Skip to main content

Test automation

Application testing is the process of testing whether an application functions according to various functional and non-functional requirements. There are many techniques that you can use to perform application testing, including: 

  • Manual methods 
  • Automation tools 
  • A combination of both

The purpose of application testing is to identify errors and bugs and any requirements that application development did not meet. There are three types of application testing: 

  • Functional 
  • Non-functional 
  • Regression 

An effective automation test suite for your Pega Platform™ application ensures that the features and changes you deliver to your customers are high quality and do not introduce regressions. At a high level, this is the recommended test automation strategy for testing your Pega Platform applications: 

  • Create your automation test suite based on industry best practices for test automation. 
  • Build up your automation test suite by using Pega Platform features. 
  • Run the right set of tests at different stages. 
  • Test early and test often. 

LSAs should focus on the three following minimal levels of testing in Pega applications:   

  1. Unit tests 
  2. Functional tests
  3. UI tests

Unit tests

Unit testing is a crucial part of software development that ensures the quality of the code. It involves testing individual units or components of the software to ensure that they are working as expected. Unit testing is essential for several reasons.

First, it helps to identify bugs and errors early in the development process. By testing individual units of code, developers can catch errors before they become more significant problems. This saves time and resources in the long run.

Second, unit testing helps to ensure that the code is working as intended. By testing individual units, developers can verify that each component of the software is functioning correctly. This helps to prevent issues that may arise when different units are combined. 

Third, unit testing enables you to make changes to the code with confidence. When you have a comprehensive suite of unit tests, you can make changes to the code and quickly verify that everything is still working as expected. This makes it easier to maintain and update the software over time. 

In conclusion, unit testing is a critical part of software development that helps to ensure the quality of the code. By catching errors early, verifying that the code is working as intended, and enabling confident changes, unit testing is an essential practice for any software development team. 

Use unit tests for most of your testing. Unit testing looks at the smallest functionality units and is the least expensive to run. In an application, the smallest unit is the rule. You can run unit tests on rules as you develop them by using the PegaUnit test framework. For more information, see PegaUnit testing.

UI-based functional and scenario tests

UI-based functional and scenario tests are essential for ensuring that software applications meet user requirements and expectations. These tests involve testing the user interface (UI) of the software to ensure that it is functioning correctly and that it meets the needs of the user. 

First, UI-based functional and scenario tests help to ensure that the software is user-friendly. By testing the UI, developers can verify that the software is easy to use and that it meets the needs of the user. This is essential for ensuring that the software is adopted and used by the target audience. 

Second, UI-based functional and scenario tests help to identify bugs and errors that may not be caught by other types of testing. By testing the UI, developers can catch issues that may arise when users interact with the software. This includes issues such as incorrect data entry, unexpected behavior, and other usability issues. 

Third, UI-based functional and scenario tests help to ensure that the software meets the requirements of the user. By testing the UI, developers can verify that the software is meeting the needs of the user and that it is functioning as intended. This is essential for ensuring that the software is meeting the goals of the project. 

In conclusion, UI-based functional and scenario tests are essential for ensuring that software applications meet user requirements and expectations. By testing the UI, developers can ensure that the software is user-friendly, identify bugs and errors, and verify that the software meets the requirements of the user. 

Use UI-based functional tests and end-to-end scenario tests to verify that end-to-end cases work as expected. These tests are the most expensive to run. Pega Platform supports automated testing for these types of tests through the TestID property in the user interface rules. For more information, see Tools for testing the UI.

You can use the TestID property to identify a user interface element uniquely; you can write dependable automated UI-based tests for any Pega Platform application.

API-based functional tests

API-based functional tests are essential for ensuring that software applications are functioning correctly and that they meet the needs of the user. These tests involve testing the application programming interface (API) of the software to ensure that it is working as intended and that it meets the requirements of the user. 

First, API-based functional tests help to ensure that the software is functioning correctly. By testing the API, developers can verify that the software is processing data correctly, that it is returning the correct results, and that it is functioning as intended. This is essential for ensuring that the software is reliable and that it meets the needs of the user. 

Second, API-based functional tests help to identify bugs and errors that may not be caught by other types of testing. By testing the API, developers can catch issues that may arise when data is processed or when the software interacts with other systems. This includes issues such as incorrect data processing, unexpected behavior, and other issues that may impact the functionality of the software. 

Third, API-based functional tests help to ensure that the software meets the requirements of the user. By testing the API, developers can verify that the software is meeting the needs of the user and that it is functioning as intended. This is essential for ensuring that the software is meeting the goals of the project. 

In conclusion, API-based functional tests are essential for ensuring that software applications are functioning correctly and that they meet the needs of the user. By testing the API, developers can ensure that the software is reliable, identify bugs and errors, and verify that the software meets the requirements of the user. 

Perform API-based testing to verify that the integration of underlying components works as expected without going through the user interface. These tests are helpful when the UI changes frequently. You can validate case management workflows through the service API layer using the Pega API in your Pega Platform application. Similarly, you can perform API-based testing on any functionality that is exposed through REST and SOAP APIs. For more information on the Pega API, see Integrating with APIs and services.

Automation test suite

Use Pega Platform features and industry test solutions, such as JUnit, RSpec, and SoapUI, to build your test automation suite. When you create your automation test suite, run it on your pipeline. During your continuous integration stage, the best practice is to run your unit tests, guardrail compliance, and critical integration tests. These tests ensure that you receive sufficient coverage, quick feedback, and fewer disruptions from test failures that you cannot reproduce. A best practice is to run all your remaining automation tests during the continuous delivery stage to guarantee that your application is ready to be released. Such tests include acceptance tests, full regression tests, and non-functional tests such as performance and security tests. 

You receive the following benefits by running the appropriate tests at each stage of development: 

  • Timely feedback 
  • Effective use of test resources 
  • Reinforcement of testing best practices

Non-functional testing

Non-functional testing verifies the non-functional requirements of a software application. 

Typical non-functional test types include: 

  • Performance: Measures the responsiveness and speed of a system. 
  • Load: Verifies system behavior and stability under different volumes. 
  • Usability: With the help of representative users, evaluates application interactions and user-friendliness. 
  • Compatibility: Validates the behavior of the system in different environments. 
  • Portability: Determines how easy or difficult it is to transfer the application from one environment to another. 
  • Disaster recovery: Shows how well a system recovers from a crash or an unexpected situation. 
  • Scalability: Evaluates the system behavior under growing requirements. 
  • Security: Finds loopholes or vulnerabilities in the application that must be fixed to prevent malicious attacks and information loss.

Check your knowledge with the following interaction:


This Topic is available in the following Module:

If you are having problems with your training, please review the Pega Academy Support FAQs.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega Academy has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice