Performance engineering as a service
What is Performance engineering?
A set of methods and practices, including consulting, design, development, testing, and monitoring, aimed at ensuring that the software product meets the specified non-functional requirements of the business.
Main stages of PE:
-
Performance consulting
-
Performance test design
-
Performance test development (SDET)
-
Performance testing (load testing)
-
Performance monitoring
How does Performance engineering relate to other IT practices and methods?
SRE
Development
Automation QA
Monitoring
Performance engineering
Testing / QA
Test
development
DevOps
CI/CD
integration
Units
SRE
DevOps
AQA
Developers
Perf Engineering relations
-
System performance monitoring under load
-
Integration of performance (load) testing in CI/CD
-
QA testing iteration
-
Development of scripts, mock-services, emulators and etc
Performance engineering as a service
Performance consulting
1
Performance сonsulting includes consulting services on ensuring and optimizing system performance, from requirements definition to developing improvement recommendations.
-
Providing the client with complete information about the work process, stages, and expected results
-
Defining goals and non-functional requirements for the system or application
-
Analyzing existing load testing processes and identifying areas for improvement
-
Presenting the results of analysis and testing, discussing findings and recommendations
-
Defining and formulating tasks based on requirements and recommendations for further system improvement
Performance (load) testing iteration
4
Conducting load testing to assess system performance under various operating conditions, determine system performance limits, and identify bottlenecks.
-
Conducting load testing iteration
-
Collecting and analyzing the results of load testing iteration
Main stages of performance engineering
2
Performance test design
Performance test design involves the structured creation and planning of tests to evaluate the performance characteristics of a system or application.
-
Defining the testing objectives (based on non-functional requirements)
-
Forming performance testing methodology
-
Forming load testing profile (scenarios and requests with specified intensity levels over a given period of time)
3
Performance test development (SDET)
Performance testing development (Software development in test) includes the development of specific tools and services for test environment and further testing iteration.
-
Development of mock services
-
Development of load testing scripts
-
Development of test data preparation scripts
-
Development of emulators
-
Development of CI/CD pipeline
5
Performance monitoring
Performance Monitoring is the process of systematically collecting and transforming system performance data to assess its state. Monitoring results are used for further analysis of test results.
-
Implementing and configuring monitoring tools to track key system performance metrics
-
Configuring data collection and logging for further analysis
-
Performing detailed system profiling as needed to identify the causes of production issues
-
Collecting performance (load) testing iteration results for further analysis