Note: Amit Chauhan, Appian Architect, spoke at Appian World 2024 on the topic of Performance Management. The below article is an excerpt from the full presentation.
Performance testing is a critical tool for project success. Appian applications should undergo performance testing to ensure production readiness, establish throughput thresholds, and pinpoint issues that could bottleneck application stability.
Like other forms of testing in Appian, performance testing requires careful planning and set-up. Forgoing these pivotal steps can lead to inaccurate test results, and grave stability issues may not be found until post-go-live, leading to customer dissatisfaction and potential outages.
Consider the following factors when planning and executing performance tests:
Ensure Testing Environment matches Prod
The Appian environment used to conduct performance testing should mimic the Production environment as closely as possible. Environment configurations include hardware, installed Appian version, and any network configurations. Testing done on environments that do not match Production can produce false-positive results and fail to uncover potential bottlenecks. Hardware monitoring tools should also be set up in this environment.
Select Testing Tools
The tools selected for performance testing must be adept at measuring key performance metrics, designing realistic test scenarios for Appian applications, and simulating user loads. Appian supports tools such as JMeter and Locust. In addition, tools such as Mockaroo and Appian Data Load Generation should be adopted to generate large sets of meaningful, production-like data to simulate real scenarios accurately.
Identify Test Scenarios
Test scenarios should generally cover the core processes and day-to-day user interactions executed in the application. Factors such as service-level agreements (SLAs), ramp-up time, and think times should be established to ensure realistic test scenarios and accurately simulate real-user interactions.
Determine Key Metrics and Baselines
Teams should collaborate with stakeholders to define the tests' objectives and key metrics to determine whether the application meets the performance test goals. Examples include response time, error rate, and hardware utilization (CPU, memory, disk space). Conduct an initial performance test once these metrics and other components have been established. This test will serve as a baseline for the application’s performance under normal conditions and be a helpful reference point.
Establish Execution and Analysis Cadence in SDLC
As part of planning, the execution and analysis of the performance tests should be accounted for. This includes setting up and executing the performance tests, analyzing the test results, and triaging issues based on priority and severity.
This list of considerations will help establish a foundation for application teams to build on when executing performance tests successfully and identifying potential issues early on. Performance testing is crucial when executing Appian projects to ensure the application is ready to go live and will remain stable through its expected growth.
Comments