Saturday, August 6, 2016

Performance Testing Checklist | David Tzemach



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.  

For more Information about performance testing, you can read my previous articles:



My checklist for performance testing 


The preliminary questions

·         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 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 prior to 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 prior to 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 is 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 a 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)?


Performance testing consideration


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 have the knowledge 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 as 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?
·         Does the testing data should 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 is the hardware costs that you need to use to accomplish test project goals?
·         Do you have the budget to perform all the testing cycle 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
-          .NET
-          Classification Engine
-          System Services.
-          Different Software Cache

5 comments:

  1. I want to shine in a software testing industry, so I am looking the information related to software testing. Your blog really have some more useful information about testing. Keep your blog with testing updates…
    Regards,
    testing training in chennai|Software training institutes in chennai

    ReplyDelete
  2. Excellent post. I have read your blog it's very interesting and informative. Keep sharing.
    erp in chennai

    ReplyDelete

My Presentations