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

6 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
  3. Excellent post!!!. The strategy you have posted on this technology helped me to get into the next level and had lot of information in it.
    Web D School

    ReplyDelete

My Presentations