Application performance testing is the process of testing performed to determine how a software application performs in terms of responsiveness and stability under a particular workload. It can also serve to investigate, measure, validate or verify other quality attributes of the system, such as scalability, reliability and resource usage.
Software Performance testing is a subset of performance engineering, an emerging computer science practice which strives to build performance into the design and architecture of a system.
Application performance testing should be undertaken as part of a customer’s application development life cycle and / or performance testing practices.
Many software applications experience poor performance due to software design and many developers do not undertand or take account of the mitigation of the performance risks from large scale IT projects or distributed deployments (global or nationwide) of applications. Software developers need to possess critical thinking skills for performance analysis, discovery and simulation of real-world performance conditions, performance test execution (manual and automated), performance analysis, bottleneck identification and remediation.
The role of an application performance tester requires expertise in performance testing methodology, infrastructure engineering and performance-related issues such as migration planning & troubleshooting, disaster recovery, application security, directory services, networking, and system performance tuning.
Generalist knowledge in all aspects of performance project scoping and test plan design is required including an independent outcomes-based approach to project execution.
The approach that many application performance test consultants and software testing consultants take can be summarised as :
- Design performance testing scenarios for various types of test objectives and enable diverse types of performance analysis.
- Deliver timely and high quality performance remediation focusing on root cause analysis, prevention, and knowledge transfer.
- Utilize knowledge of the customer’s technical environment to resolve issues in a timely manner.
- Manage escalations and sub-cases with customers and Shunra to ensure timely and high quality resolution of all issues.
- Develop and implement strategies for providing proactive services resulting in fewer incidents, increased availability, or accelerated deployments.
- Develop relationships with technical directors or lead architects for the technology you support resulting in more participation in planning and improved satisfaction with consulting services.
- Execute formal post-mortem process on closure of critical issues or escalations.
- Initiate and participate in triage meetings to share knowledge with other engineers and to efficiently resolve customer problems.
- Assist with delivery of product and services reviews for your customers.
Some application performance test tools are
- HP LoadRunner, Borland Performer, Microsoft Visual Studio TEST .