1. Software Testing & Quality Assurance
Prof. Dr. Tariq Javid
Graduate School of Engineering Sciences & Information Technology
Faculty of Engineering Sciences & Technology
Hamdard University
Spring 2024
5. 5
Requirements Management
• Process of identifying, analyzing, documenting, and tracking
software requirements throughout the development and testing
• To ensure software meet customer and user needs
• To ensure testing is focused on verifying, validating requirements
6. 6
Traceability
• Ability to trace software requirements to specific test cases, code
modules, and other project artifacts
• To ensure software meets specified requirements
• To ensure changes to requirements are properly assessed and
implemented
7. 7
Challenge in Tracking Project
Requirements
• Tracking project requirements can be challenging
• High depending on development environment
• Some projects may have a few requirements
• Some projects may have dozens or even more requirements
8. 8
Requirements for Software Development
• Types of requirements should be considered for software development
• Business requirements
• User requirements
• UI requirements
• Functional and nonfunctional requirements
• Technical requirements
https://www.simplilearn.com/project-management-and-the-requirements-traceability-matrix-article#what_is_a_traceability_matrix
9. 9
Effective Requirements Management
• Reduce defects and errors
• Improve software quality
• Increase customer satisfaction
• Reduce development time and costs
10. 10
Why Traceability?
• Ensure requirements are accurately implemented
• Verify that tests cover all requirements
• Identify and address defects and errors early
• Manage changes to requirements and assess their impact on
software
11. 11
Best Practices
• Use requirements management tool to document and track
requirements
• Develop requirements traceability matrix to trace requirements to test
cases and code modules
• Involve stakeholders in requirements analysis and prioritization
• Verify, validate requirements throughout development, testing process
• Use agile methodologies to iteratively develop and test software
14. 14
Example: Requirements Traceability
Matrix
Requirement ID Requirement Description Test Case ID Test Case Description Code Module Status
REQ-001
User shall be able to login
with valid credentials TC-001 Valid login credentials Login.java Implemented
REQ-002
User shall be able to view
dashboard after login TC-002
Dashboard display after
login Dashboard.jsp Implemented
REQ-003
User shall be able to create
new account TC-003 New account creation CreateAccount.java In Progress
REQ-004
User shall be able to edit
existing account
information TC-004 Edit account information EditAccount.jsp Not Started
REQ-005
User shall be able to delete
account TC-005 Account deletion DeleteAccount.java Not Started
15. 15
Types of Traceability Matrix
• Forward Traceability … Mapping Requirements to Test Cases
• Backward Traceability … Mapping Test Cases to Requirements
• Bidirectional Traceability
16. 16
Forward Traceability
• Forward traceability is used to map the requirements to the test
cases
• Not only will this establish that every requirement is being tested
from top to bottom, but it will also assist in confirming that a
project’s trajectory is sound
17. 17
Backward Traceability
• You can make a backward traceability matrix by mapping test
cases with the requirements
• Doing so aids you in avoiding “scope creep” and going beyond the
initial requirements unnecessarily
18. 18
Bidirectional Traceability
• Bidirectional traceability essentially combines forward and
backward traceability into one document
• This type is useful because it establishes that each requirement
has relating test cases