Note of Thanks: Thanks to all who reads my blog. I am writing on “Requirement Analysis” based on the request I received from one of our associate. Hope this helps to understand the “Requirement Analysis” activities in detail.
No Wonder…!!!! We know that Very Good Test Requirements are important to establish a higher quality Test Strategy for the project that leads to better Test planning. We should always keep in mind that Requirement Analysis is primarily focusing on “Understanding” than the Optimization.
Let us see how to understand the Requirements through Analysis.
Firstly we should know the list of Desired Deliverables Required to start the Analysis
Software Requirement Specification – This document tell us about “How are we developing the System requirement part in the Specified Software”. Here’s where we can see all the Technical Jargons starts.
Software Design Document – This document tell us about “How are we going to Structure the Software & What Software Structure will be build”. It has a Pure Technical language on building the product or project.
We all think that the Software Design Document is more than enough to do the analysis of the requirement. Actually both Software Design & Software Requirement Specification documents are most important to do the exhaustive Requirement Analysis.
Though Software Designing activity belongs to Development team, being a Tester we can get a full clarity of the requirement to highlight the Suggestions in providing the better solutions or technical Constraints.
Secondly we should know the Types of Requirements we get in a project and split them.
- Functional Requirement – (business cases & logics)
- Quality Requirements (Maintainability, Durability, Mobility, Reliability & ability to Support)
- Performance requirement – (Speed, Volume, Accuracy & Frequency)
- Design Issues/Dependencies related requirement (Any Design constraints or dependencies related)
- Interface / Environmental related requirement (Connectivity, Availability of Space, Storage, Communication)
Following are the important steps in doing Requirement Analysis:
- Analyze your Customer Profile & User needs
- Analyze his expertise & portfolio.
- Technical Strength.
- What he consider as Success Factor of this project.
- What is his responsible in delivering the project to the end user?
- Analyze your Testing Environment
- Availability & Connectivity of network (if it’s in VPN).
- Number of people that are involved for this project execution?
- Are the resources keeps changing frequently? If yes how are we going to handle that?
- Any environmental constraints?
- What are the platforms required?
- Any other application dependencies/ involved?
- How long the testing cycle runs.
- Analyze Test Requirements
- Read all Clients provided Requirement Specifications.
- Understand the Test Scope.
- Prioritize the Test Requirements.
- Work out the Functional & Non- Functional Requirement Use cases.
- Identify Assumption, Risks, Constraints & Dependencies related to Test Environment.
- Detail analysis of Applicable Testing – Performance Testing, Compatibility Testing, Installation Testing or Exploratory Testing etc.
- Analyze Tool feasibility
- Arrive at Automation Testing Scope (if Applicable)
- Develop Requirement Traceability Matrix for all the STLC phases.
The listed step of analysis activities will provide the clarity on how to analyze Requirement, and that enables the Testing team to do the exhaustive Test Coverage to deliver the “Zero Defect” product.
We can also use the following method to do the detail requirement Analysis
- Brain storm session.
- Training from User/Client.
- Data Flow Chart – not to miss any requirement for testing.
Output of Requirement Analysis Phase
- Installation guide / User manual
- Approach Document
- Effort requires completing this project (Estimation).
Conclusion: Understanding of Requirements will make the team to interact with the Client in their language it may be technical or domain related. This grasps the attention from the client.
We can gain a confidence from the client that we can do the project well by understanding their business needs. Of course it’s true coz the Crystal Clear requirements verification and validation help us to deliver the Business Values to the client.