Incorporating performance testing into the software development lifecycle
In traditional software development environments, ensuring consistent and optimal performance of applications is a significant challenge. When issues surface in the hands of end-users, they result in degraded user experience, increased customer dissatisfaction, loss of revenue, and potential damage to your organization's reputation. You're looking to avoid these problems and improve the quality of your releases by using Splunk Synthetic Monitoring in your software development lifecycle.
How to use Splunk software for this use case
There are a few ways to incorporate Splunk Synthetic Monitoring into your software development lifecycle, depending on how you like to work.
Run tests in both PROD (more frequently) and pre-PROD (less frequently, based on your release velocity)
Running tests in pre-PROD will help in a few ways.
- Getting the baseline for pre-PROD performance will help you understand spikes, as well as help address performance issues for users who are testing or building content in pre-PROD.
- Catching true performance degradation. If there is a sudden change in performance in pre-PROD due to a release deployment, the issue can be caught and remediated before it impacts end users in PROD.
- Catching flaky tests. If there is a code change that impacts a selector value or workflow, for example, testing in pre-PROD can help prevent false negatives (and fire drills) in PROD.
Create naming conventions
Name your tests clearly and in a consistent pattern so it is easier to quickly understand how the tests differ from one another. Doing this means you can quickly understand how, for example, "[staging] home - mobile EU" differs from "[prod] checkout - desktop US" and how they might relate in priority.
Choose appropriate testing locations
If your pre-PROD environments are internal only, you can test these from private locations. If they require authentication, that can be built into the test steps or preloaded in advanced settings depending on the type of authentication.
Create detectors
Create detectors for your KPIs in both PROD and pre-PROD, and set the severity of the alerts with intention. This will alert you if something unexpected happens in either environment so you can triage as needed.
Create events
Create events that align with your release deployments or other notable events, like content campaigns. Events can be managed in the Splunk Observability Cloud GUI or you can incorporate them into your deployment process by using the API endpoint for events. This way you can more easily view performance trends as they relate to potentially impacting causes.
Send Synthetics metrics to ITSI or the Splunk platform
Synthetic performance metrics can be sent to ITSI and the Splunk platform via the Splunk Infrastructure Monitoring Add-on. There is an API for all test types, and also Terraform support for Synthetics. Depending on how you are building automation into your workflows, you can incorporate those performance KPIs to flag release versions as needed.
Use web optimization
Enterprise customers can also use web optimization via GUI or API to flag release versions if certain best practices are violated, and integrate with other tools based on your software development lifecycle processes. Ask your account team how to get access to optimization.rigor.com.