May 26, 2019

Requirements Analysis in Software Testing Example

What is software requirement? Software requirements are functional or nonfunctional needs that must be provided by the system. They are expressed as statements, typically with examples. Now, what is requirement analysis? Requirements analysis in software testing means careful review of the software requirements with respect to each requirement quality (first column in table below) to find out requirement bugs and fix them. Software requirements analysis is needed for both functional and nonfunctional requirements. Let us understand requirements analysis techniques with examples. The bad requirements have bugs in red. Then I have converted them to good requirements :

Requirement qualityExample of bad requirementExample of good requirement
Atomic Students will be able to enrol to undergraduate courses and post-graduate courses. Students will be able to enrol to undergraduate courses.
Students will be able to enrol to post-graduate courses.
Uniquely identified 1 - Students will be able to enrol to undergraduate courses.
1 - Students will be able to enrol to post-graduate courses.
1 Course enrolment
1.1 - Students will be able to enrol to undergraduate courses.
1 .2 - Students will be able to enrol to post-graduate courses.
Complete A professor user will log into the system by providing his username, password and other relevant information. A professor user will log into the system by providing his username, password and department code.
Consistent and unambiguous A student will have either under-graduate courses or post-graduate courses but not both.
Some courses will be open to both under-graduate and post-graduate students.
A student will have either under-graduate courses or post-graduate courses but not both.
Traceable Maintain student information --- mapped to BRD req. ID ? Maintain student information --- mapped to BRD req. ID 4.1
Prioritized Register Student - Priority 1
Maintain User Information - Priority 1
Enrol courses - Priority 1
View Report Card - Priority 1
Register Student - Priority 1
Maintain User Information - Priority 2
Enrol courses - Priority 1
View Report Card - Priority 3
Testable Each page of the system will load in an acceptable time-frame. Register Student and Enrol Courses pages of the system will load within 5 seconds.


If you want to learn more, I have explained the above requirement analysis examples in detail in the tutorial on my YouTube channel, Software and Testing Training