Performance Testing Questionnaire

What is Performance Testing Questionnaire?

Performance testing questionnaire is used to get all the details of an application to understand the application well. You should include every possible question in order to thoroughly understand the application architecture. Every application is different, some applications might have queues, and batch jobs etc. which are happening in the backend and these might impact the application performance.

When this questionnaire is sent to the developers or development manager?

Once you have a formal meeting with the application team or client, the first email that you send them is to fill this questionnaire or setup a meeting with them and fill out the questionnaire together.

What is the best way to create Performance Testing Questionnaire?

To be more interactive with the client or development, you can create a web form in your organization wiki page and send them link to fill the form, where you ask different questions. A well written performance testing questionnaire will help to understand the application thoroughly and you do not miss the components that needs to include in the performance testing scope.

Some of the important questions you should include in your performance testing questionnaire?

Architecture of the application:

Understanding the architecture of the application is key to designing the workload models and to include different scenarios in your load test.

Technologies:

Ask for the different technologies they have used in development, keep a section for technologies in your questionnaire. You can ask questions like what is the application server, what is database server, what are all the programming languages they are using.

Performance testing goals: keep a section for performance testing goals, which helps you to understand what the application goals are, each application might have different goals. Some of the goals are, the page should load in 3 seconds or a web service call should load in less than 0.5 second and the application should handle 1000 concurrent users etc. Mention at least three to 5 goals to identify what exactly the intention of doing the load test.

Environment Details: Keep a section to ask different question on Environment where the application needs to be tested. Some of the questions you can ask are is the performance test replica of production and is the application in QA or Pre Prod is configured with monitoring. Where is the application deployed etc.

Workload Model: Getting the right numbers for the application is critical, if it is a new application, testing with the application with the right model is challenging as you might not have any previous data to simulate the load. Ask different questions like how many concurrent users will be accessing the application during peak hours, if it is a service that you are testing as how many concurrent calls will be made per sec etc.

Application flows: Understanding the application flows is very critical for the load test, ask different questions product manager, business analyst and under the application flows thoroughly and check what the most frequently accessed pages by end user and design a flow around that space.

Performance Testing Questionnaire Example

See the example Performance testing questionnaire below, you can copy and paste this in your word document and your basic performance testing questionnaire is ready.

1.0   Project Management

In the project Management, you need to gather all the project details, existing performance issues, project start and end dates. Project start and end dates very critical for any project and we need to align our performance testing activities accordingly.

QuestionResponse
Project Name  
Please provide business overview for the Application under test 
Do you have any existing performance concerns? What are the drivers for this testing requirement? 
What is the current state of the application? 
What life cycle is followed for the development of the application? 
Project Start and End Dates (please share the release plan) 

2.0 Project Contact details:

Project contact details helps you to find whom you need to contact when an issue occurs of if you need any details, for example functional testing team is the best team to understand the application flow. monitoring team will help you to install the agents in the respective servers.

Team Contact Phone Email
Project Manager      
Release Manager      
Developer(s)      
Functional Team      
Infrastructure      
Architect      
Monitoring Team      

3.0   Technical Details

Question Response
What is the URL address of the site to be performance tested?
What are different technologies being used in the application?  
Front End (e.g. Silverlight, Flash, Applet, JAVA Swing, AJAX, Streaming Media etc.)
Messaging systems (MQs / Batch Jobs)
Middle Tier (e.g. ASP.NET, PHP, Servlet etc.)
Backend (e.g. MySQL, Oracle, SQL Server 2008 etc.)  
Protocol used for communication (e.g. HTTP, SOAP, REST, etc.)  
Operating System Information (Windows, Linux etc.)  
Are there any other components or applications that require special coordination? Please describe  
Environment where the load tests to be executed?  
Is the performance test environment a replica of production? If it is a scale down version what is the scale down factor? How many Web/App DB servers in performance environment Vs Production environment and hardware configurations as well  
Are all the servers in performance test environment configured with AppDynamics for monitoring?  
If not, is there any in house monitoring of the infrastructure available?  
What is the preferred time of load tests?  
Where is the application deployed?  
Application Architecture diagram  

4.0   Load Profile

QuestionResponse
Is the application functionally tested for stability? 
What is the desired target user load for this testing engagement (Virtual Users)? 
What are the business scenarios that need to be considered for performance testing?(General criteria is:1.   Business critical2.   Most commonly navigated3.   Resource intensive (Batch jobs) etc.) 
What is the load distribution across the identified scenarios? (When there are 100 users on the application, how many users navigate through each use case?) 
What is the average wait time between user actions on the application? (Ex: 10 – 15 seconds for page navigations and 45 – 60 seconds for form fill-up) 
Are there any specific network conditions that need to be simulated? A specific bandwidth / Packet loss? 
What is the average page response time SLA? 
How many transactions per second (min / max / average) for each scenario, what is the average duration of a user visit? 
Can multiple user sessions use the same IP address and still login and use the site? 
Will every user login need to be guaranteed unique for this testing engagement? 
What is the maximum number of (transactional) records in database before starting the performance run? 
Our team will identify the test data and volumes of test data needed for the engagement. Will this test data be provided by application team? 
Does the application use NIAM Login or Application specific login? If the application uses NAIM login, an SRP request has to be created by the corresponding project manager to have test accounts. 

5.0   Detailed Steps for the business scenarios

If the total scenarios are high, the steps for each scenario can be provided in an attachment (word / Excel). Otherwise the same can be provided here:

Download Performance Testing Questionnaire Sample Document

You can download the Performance Testing Questionnaire Document from below link and make a copy of it to edit.

https://docs.google.com/document/d/1SyAgTlvBemw_FggvX-_EB9VIr7Tr5CLH281CLYbUuiI/edit?usp=sharing