Business Objective and Success Factor Related
- What are the business objectives?
- What are the critical success factors for this project?
- Have you defined SLA’s?
- What are the entry and exit criteria for each of the Testing phase?
- What is the % of Regression Test bed that can be reused?
- What % of the test cases has been automated?
- What deliverables do you normally expect from us?
Test Basis Related
- Do you have well defined requirements document?
- Do you have functional specification document?
- Are the design documents are available? If yes, can you share them?
- Can you share the architecture document?
- Are interface specification documents available?
- Do you maintain traceability matrix?
- Can you share the available test cases?
- Do you have the regression test bed?
Knowledge Transfer and Training Related
- We expect the Client to provide us knowledge transfer/hands-on on the tools/product. Please validate our assumption.
- What are the different tools used for: Test Management, Defect Management, Automation etc ?
- Can you share the licenses of the 3rd party tools?
- As we don’t have the competency on XXX product/tool, can you bear the cost of Training?
- Are there any special training required for this project?
- What is the License period of the software?
- Do you need Metrics?
- What are the different Metrics you capture?
- What the Metrics captured for measuring productivity?
Status Reporting, Monitoring and Control Related
- What are the metrics that are expected from Sr. Level Management?
- Do you publish Daily, Weekly and Monthly Reports?
- Do you have any dashboards for reporting?
- How many defects are uncovered during production?
- Please provide the point of contact for Escalation?
Warranty and Support Related
- What is the Warranty period?
- Do you have annual maintenance Contract?
- Can you share the trouble Tickets data for the past one yeas?
- What are the support hours?
It is good to make a portfolio of the project that will help in finding clients SLA to their customers, availability of the Artifacts, test basis etc.
Test Basis Related
- Do you have the test bases? Is so, what are those?
- Could you please share with us your previous test basis, which might include test cases, test results, bug reports and so on and so forth?
- Could you please share with us the architecture and Design documents?
Product Related- Non-Functional
Could you please share with us?
- How stable is the product?
- How frequently the product crashes?
- What are the MTBF and MTTF?
- Specific patterns of the product crashes, if any?
- How frequently the application undergoes changes?
- Is there any Change Management in the process?
- Do you foresee this product be retiring in the couple of years to adapt the new technologies?
- Do you have any migration plan?
- Do you have identified the new technologies and platforms?
- On what time zones the application will be running?
- Do you need multilingual support?
- You have any planned security measures?
- What are the security protocols this product will use?
- If you need role based security levels?
- If you have any pain areas in the current look and feel of the system?
- If the current system in intuitive by nature?
- If you want your system to be portable?
SLA, IPR, Support and Impact of Failure Related
Could you please share with us?
- Your support SLAs with your customers?
- The sensitivity aspects of your customer artifacts?
- Is there any IP involved in any of your customer or your artifacts?
- Is the application data intensive?
- Will you provide us the data generator tools or we need to create this on our own.
- What are the platforms you would like to support?
- What is the impact of failure of this product on your business and on your end customer?
- What are the liabilities in cases of failure of this product?
- What the logistic support required and how they will be achieved?
Back up and Disaster Recovery Related
- Do you need daily/weekly /Monthly backups?
- Do you have a disaster Recovery plan in place?
Status Reporting and Vendor Interaction Related
- If you have any reporting and meeting protocols in place for example Daily status calls over VC or telephone etc.
- The protocol involved in interacting with your other vendors?
In cases, where client is already following some processes to manage various phases, then it becomes very critical for the Test Managers to understand them. These process related questions helps in finding the existing processes, their maturity, shortcomings, limitations etc. It helps Test Manager to decide Test Approach, Test Deliverables, etc.
- Agile Scrum
Requirement Management Process:
- Do you have any standard template for Requirement Specification?
- Who will be the points of contact?
- Are there any Key Agreement points for Requirement?
- What are the Test basis documents that you would provide?
- Do you have any Requirements Traceability Metrics?
Test Management Process
- Would you please describe the Model you use for Testing?
- How is it aligned with the Development life cycle?
- What are the different phases of testing?
- What are the Metrics to be provided?
- Would you please describe the Platform?
- What is the automation framework and license dependency?
- Who will provide the test bed and supports?
- Is the system to be test is the stand alone system or Depends on the External system?
- Where do we receive inputs to the system?
- Where we need to supply the output to?
- What are the entry and Exit criteria for the Release process?
- Are there any intermediate releases and what is the Frequency of the releases?
- What are the deliverables as part of each release?
- Who are the stake holders for the change?
- What is the CR intimation procedure?
- What is the configuration management tool to be used?
- Who is responsible for the Configuration Management?
- Who is responsible for the build?
- Is build use any Automation tool? Is so, what about licensing and use?
- What is the Service Level Agreement (SLA) for defect turnaround time?
- What is the tool be to used for defect management?
- What are the criteria for Root Cause Analysis (RCA)?
There questions will help in finding the data/information about the Target project such as functional/nonfunctional priorities, potential risks. These questions basically helps in finding the types of testing to be performed.
- Do you have any kind of special Non-Functional Requirement? (Performance, Security, Usability, Localization, Browser/OS Compatibility)
- What are the applications/Modules that you need to be tested?
- Do you have any interoperability requirements?
- What are the upstream/downstream processes and are they also in the scope?
- Is there any migration activity for which testing is to be performed / planned?
- Are experiencing any network connectivity issues?
- Do you have a need for the protecting the sensitive data from leakage?
- Do you have issues with expertise availability in Testing/Process/Technology area?
- What is the average experience of the developers engaged in the Project?
- What are your requirements with respect to the application availability and response time?
- What is the maximum permissible number of Defects (Critical/major) ini the application in production?
- Do you have any limitations with respect to the Network bandwidth?
- Do you have any budget constraints with respect to the Tools usage?
- Do you have any budget constraints with respect to Resources?
- Do you have any constraints while performing Remote Testing?
- What is the application size in terms of the number of the function points?
Dev Effort / Size:
- What is the effort that was put into the Development activities for the application?
- What was the size of the development team?
Current Project Status:
- At what stage is the current application with respect to SDLC /Maintenance?
- What is the status of the various test Artifacts and test base documents?
- Are the requirements in the form of Requirements Models or in the form of an RS documents?
- What is the current testing team size?
- What is the Team composition with respect to skills/experience?
- Do you have any plans for automation?
- What are the existing automation artifacts available? (Scripts, Design documents, Execution/ Coverage reports)
- Do you have any specific vendor preference for the automation?
- What is the current maturity level of Development Process (CMM/ISO Standards)
- What is the current maturity level of Testing Process (CMM/ISO Standards)
- Do you have any issues with respect to the Application Downtime/ Instability
- Are you experiencing any application Performance Issue?
- Are you experiencing any Compatibility issues across platforms / OS /Browsers?
- Do you have any concerns with respect to Security, Reliability, Usability ratings?
- What is the domain area in which the application operates?
- What is the Service line for the application within the domain? (Mission critical, Real Time app, Embedded systems, Internet app, client / Server app, Mainframe.)
- Do you have any challenges with respect to the Lack of Technology / Tool Expertise within your current team?
- Do you face issues with respect to thigh cost of Subject Matter Experts?
- Do you have any challenges with respect to the lack of expertise in testing/ Processes/ Methodologies?
- Do you face frequent Delays in deliverables from the development team?
- Do you have pressing needs for the Reducing Testing Lifecycles time?
- Do you have the need to go in for Frequent Change Requests?
- Is there lack of Clarity in the Requirements?
- Is the application having stability issues?
- Is your team facing Attrition problems?
- How many users does your system have?
- What is the experience level of the users?
- Where are the Users located? (Timezones)
- Are you facing problems supporting varying time zones? (With respect to the distributed applications, batch processes)
Platform – Hosting, Hardware/Software:
- Does the Test Environment simulate the production environment? If not, please provide the actual configuration of both the environments?
- What is the platform your application is hosted in? (Unix/Linux/Solaris/Windows/Others)?
- What is the Configuration of the servers?
- What is the network speed?
- What is the typical Desktop Configuration used?
- What is the Database size?
- What is the Application server used? (Weblogix, Websphare, Apache Web server, IIS)
- What is the database used? (Oracle, Sybase, SQL Server, DB2)
- What is the Technology Used? (java/J2EE, .NET, SAP, SOA)
- What is the Middleware used? (Tibco, MQ Series)
- Do you have any legacy Systems and are there any plans for the porting the same?
- What are the Development tools used? (Eclipse, Netbeans)
- What are the Testing tools used? (Open source, Licensed, name of the vendor)
- Who will be bearing the Licensing costs?
- Are there any regulation compliance specific requirements? E.g HIPPA, SOX
- Are there clustering, Load Balancing mechanisms in place?
- What is the current application maintenance cost with respect to the technical support and environment setup?
A test strategy can be developed for a project/product which can be in any phase such as Requirement, Coding, Testing or Maintenance phase. Test Strategy usually is developed at the initial stage of the “Testing”. There could also be scenarios where you get a project for testing whose development is over and the client is outsourcing only “Testing”
Regardless of the phase, we have to start with some basic activities to develop test strategy, i.e. understanding the business issues, requirements, processes, working environment, development and testing practices, and expectations of the customer. Once we understand them well, we have the basic blocks, and now we have to put them in place.
Now how to understand the business better and quicker?
The best way is to come up with questions, as many as possible. And then try to find out their answers with the help of documents, SME, Knowledgebase, History; Client’s appointed Point of Contacts, Internet, Proof of Concepts etc.
I have prepared a long list of questions, which I have divided in to four categories for better readability and learnability. These question are helpful in getting the information, which will be used to prepare Test Strategy.
The categories are:
1. Test Related Requirement Elicitation
2. Test Related Process Elicitation
3. Test Related Portfolio Management
4. Test Related Service Level Management.
The list of questions to be asked under each of above mentioned categories are given in different Blog posts. Please go through them and add values by adding questions and suggestions. I will keep them updated based on your suggestions.
Test Strategy and Test Plan are two different documents which are developed for different audience with different objective.
Test Strategy defines the overall approach that will be taken by the Test Team when delivering testing services to client. It helps various stakeholders to understand the testing activities, roles and responsibilities, processes and practices to be used during Testing of a project/Product.
Test strategy conveys:
- The Business of the Test Project
- Test Deliverable
- Standards to be followed
- Automation tools
- Testing Measurements and matrices
- Risk identification and Mitigation
- Defect Tracking process
- Change Management process
- Configuration management
- Roles and Responsibilities
- Communication and status reporting process
- Training Plans
||Business Requirement Specification document
||Project /Product Size
||Large / Medium
||Small / Medium / Large
||Entire ProjectProduct (SMALL)
Phase (Unit / Integration / System Testing)