Performance testing is something that should be done throughout the entire development lifecycle. There is a lot...
By submitting your email address, you agree to receive emails regarding relevant topic offers from TechTarget and its partners. You can withdraw your consent at any time. Contact TechTarget at 275 Grove Street, Newton, MA.
of testing that can and should be done during the early stages of design, development, and system test to optimize performance, regardless of hardware configurations.
In the early stages of the project, requirements should be gathered around such things as expected response time, throughput and scalability. An architecture needs to be designed to take these things into account. This architecture should be reviewed keeping in mind ways to optimize those areas of performance that are most important to the users.
During the code development stage, performance unit tests should be created and executed. These could check for memory leaks or other areas that may make the code vulnerable to performance issues. Functional test efforts should include timings for functions that are time-sensitive. Even if the production hardware may speed up the overall time, testing for performance early will help uncover certain areas of the code which perform poorly compared to other functions and can further be investigated for optimization.
Similarly, load and stress tests can be run in performance test environments to help uncover scenarios in which the software is performing slowly. It's a mistake to think that these problems will all be solved by throwing more hardware at the problem. Many areas of the software can be optimized before deploying on the production hardware.
Your final tests should try to emulate your hardware environment as closely as possible. Though your test environment may not be as robust as your production environment, you can continue to find and correct potential bottlenecks during the test phases.
If you review and test for performance throughout the software development lifecycle, your team will have the opportunity to ensure each component of the application is operating at its optimum performance before deploying to your production deployment.
Related Q&A from Yvette Francino
It may be challenging to make sure everyone's voice is heard in collaborative meetings, but a good facilitator can ensure this happens.continue reading
Agile methodologies stress the benefits of collaboration, working with cross-functional teams to encourage communication between business owners and ...continue reading
Agile expert Yvette Francino explains how the concept of story points -- a gauge of complexity -- works in the Scrum process of software development.continue reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.