Checklist for performance testing

Performance tests are performed to determine the response time of a system under a specific workload, these type of tests will help us improve the user experience while working with the software.  

The preliminary questions to ask

  • Do you need to compare the performance results against your competitors?

  • What is the time frame that you have to execute the process?

  • How do you intend to execute the tests in the real world?

  • What is the purpose of doing performance testing?

  • What are the performance test objectives?

  • What type of failures do you anticipate?

  • How flexible the timelines are?

Test Analysis before starting the project

  • What do you need to measure during the testing process (Response Time, Volume, memory, etc.)?

  • What types of performance tests do you need to perform (Volume, Spike, Load, etc.)?

  • All functional tests of the application are done before the performance tests?

  • What do you need to cover during the testing process?

  • What are the Entry criteria to start the tests?

  • What are the interfaces of the application?

  • What are the pass/fail criteria that we use to evaluate the test results (Response time, memory consumption, I/o, etc.)?

Team

  • What are the areas of responsibilities (Developers, Testers, Managers, etc.)?

  • Do you have the relevant people to perform the process?

  • Do you need to add training to your team?

The available resources

  • Do you need to integrate with external support teams that will consume the budget?

  • How do you intend to create the testing data (Auto tool or Manually)?

  • Do you have permanent/temporary resources?

  • What budget is available to perform the process?

Reporting

  • Do you need to use a 3rd party tool to generate the reports?

  • Who will be responsible to report the testing process?

  • What data should be included in the report?

  • How the report is conducted?

  • What are the timelines that the report should be delivered (Monthly, Weekly, Daily)?

Test Environment

  • Do you have the resources to create the performance test environment as similar to real production?

  • What is the testing environment that we need to use to execute the tests?

  • How much time do you need to invest to create the test environment?

  • Are secondary servers being available in any case of server failure?

  • Who will be responsible to create and maintain the environment?

  • Do you intend to run on virtual architecture (VMware/Hyper-V)?

  • Do you know to build a virtual environment?

  • Do you need to buy new hardware to support the tests?

Test Data

  • What amount of data do we need to create to support the testing scenarios?

  • How do you intend to create the testing data (Auto tool or Manually)?

  • Do you have enough storage to handle the testing data?

  • Can you replicate the data to reduce the creation time?

  • Can you use the test data in future projects?

  • What is the effort to create the testing data?

  • Should the testing data be unique?

  • Where do you intend to store the data?

Testing Baseline

  • Who is responsible to provide the current performance baseline?

  • What is the baseline that you use to compare the test results?

  • What is the acceptable time for a functionality response?

  • Who will validate that the baseline is good enough?

Consider the costs

  • What are the hardware costs that you need to use to accomplish test project goals?

  • Do you have the budget to perform all the testing cycles that you need?

  • How can you reduce the costs without affecting the testing process?

  • Do you need to use 3rd party tools that will increase the costs?

  • Can you use open-source tools to reduce the costs?

  • What are the costs if you need external support?

  • What is the cost for each day of testing?

Testing Considerations

  • How do you intend to monitor the process when running on large volumes?

  • Can you reset the testing environment between each testing cycle?

  • How many users should be involved in the testing process?

  • How many test cycles do you intend to run?

Resources to monitor

Define the physical resources to be monitored throughout the test execution, Examples:

  • Memory (RAM).

  • Network transactions.

  • Processor.

  • I/O Disks.

Define the software resources to be monitored throughout the test execution, Examples:

  • Web Server.

  • Database Server

  • System Services.

  • Software Cache.




131 views0 comments

Recent Posts

See All