Requirement Gathering, Release, Testing and Documentation
Requirement Gathering, Release, Testing and Documentation
Introduction
testing is the third step and documentation is a continuous process while product
development.
development for the client [1]. Business Analyst is responsible for gathering requirement
Requirement Gathering is all about “What user wants to do?” and “How is this
to detect the differences between existing and required conditions (i.e., defects) and to
evaluate the features of the software item. Testing is conducted at the phase level in the
software development life cycle or at module level in program code. Software testing
Any written text, illustrations or video that describe a software or program to its users is
called program or software document. Users can be anyone from a programmer, system
1|Page
2. Requirement Gathering
For the completion of the development project, the requirement analysis is critical. The
needs must be measurable, measurable and testable and also linked to the expectations
of the user. The need to satisfy the user's requirement without any ambiguity makes the
requirements gathering step. Some techniques are used to collect requirements. For each
project, not every technique is used. Some are useful in these techniques; others are not
but depend on the description of the project. Some techniques for requirement gathering
are [4]:
• Interviews
Interviews are a strong tool for collecting needs. Organization may carry out
• Surveys
Organization may conduct interviews with different stakeholders to find out what
• Questionnaires
All stakeholders are provided with a document with a set of objective questions
and options, which is collected and compiled. A weakness in this technique is that
the issue may be left unattended if an option to deal with a problem is not
• Brainstorming
Different stakeholders have an informal discussion and all input for further needs
analysis is recorded
2|Page
• Prototyping
product without adding details for the user. It helps to better understand the
needs. If no software for the developer reference is installed at customer end, and
the customer does not understand his own requirements, developer produces a
presented to the customer and the comments are noted. The feedback from the
1. Functional Requirements:
This category includes requirements related to the functionality of the software. They
define functions and functionality within and from the software system.
For example:
3. Users should only have permission which is allocated to the user position
2. Non-functional Requirements
This category includes requirements that are not related to the software's functional
side. They are implicit or anticipated software characteristics that are accepted by
users.
For example:
1. Performance
2. Speed
3|Page
3. Disaster Recovery
4. Security
5. Cost
6. Flexibility etc.
These are some important tools used for requirement gathering [5]:
1. Context diagram
environment, and all the interacting entities. The system is plotted in the
the organization’s end users and any vendors or suppliers providing third-party
services. By building a visual model of the software solution, you have a better
helps to define the context where the system sits so the end user can agree to
4|Page
2. Functional decomposition
process and/or the system’s major functions. When I think about what the system
should do, I’ll use the functional decomposition diagram to break it down into major
chunks. This view also helps validate all the functions the system should provide. It’s
similar to an organization chart and your end-user should be able to easily relate to
this model.
A use case diagram is designed to capture a system's dynamic aspect. But this
four other diagrams (activity, sequence, collaboration and State Chart). We will
discuss some particular reason, which differentiates it from four other diagrams.
Use case diagrams are used to obtain system specifications, including internal and
There are also use cases prepared and actors recognised if a system are examined
5|Page
Fig. Use Case Diagram
4. Activity Diagram
Activity diagram is basically a flowchart to represent the flow from one activity to
The control flow is drawn from one operation to another. This flow can be
sequential, branched, or concurrent. Activity diagrams deal with all type of flow
6|Page
5. Sequence diagram
It is obvious from the term Interaction that the diagram is used to represent some
kind of interaction between the various elements in the model. The interaction is
Two graphs known as the sequence diagram and collaboration diagram represent
meaning.
The sequence diagram focuses on the time sequence of the messages and on the
7|Page
Fig. Sequence Diagram
6. User stories
User stories are short, simple descriptions of a feature told from the perspective of
the person who desires the new capability, usually a user or customer of the system.
As a < type of user >, I want < some goal > so that < some reason >
8|Page
3. Release
The final version of an application is distributed via a release. A public or private version of
the software may generate a new or upgraded application in general. The alpha version and
1. Plan release
The most intense planning phase can be, as your whole release is structured from
beginning to end. A robust release plan will help your team keep track of standards
and requirements.
A release plan is available in a number of ways. The software development life cycle
replacing high efficiency and quality software systems. The SDLC may be used
2. Build Release
You can begin to design and build the product for release by completing the release
plan. This is the actual product development based on requirements described in the
release plan. Once all the issues are dealt with, it is time that the building is tested for
real-world scenarios.
This might take a few iterations. When the team builds the product, it is sent to a
testing environment for user acceptance (usually automatically). This enables the
team to identify bugs or problems in a real world environment. When problems are
9|Page
identified, the build is returned to the second stage for development. In other words,
the work can run from stage two to stage three and back until release is approved in
User acceptance tests, also called UAT, are carried out when the end users have built
the product to use it and provide feedback. Often this is done online as a free beta
User acceptance testing is the most important step for release management, given
the amount of information and fixes that have been collected to get the system to
The team goes back to the desk to fix problems and redesign the build to improve
integrity when bugs are identified. The build needs to pass the UAT phase for final
4. Prepare Release
This step is to place the finishing touches on the product taking all that was learned in
UAT into account. The final quality review by the QA team also covers the release
preparation.
In order to ensure that the build meets the minimum acceptable standards and
business requirements described in the release plan, QA's team will conduct final
inspections. The functional team validates the results and concludes the release for
10 | P a g e
5. Deploy Release
The time has come to put the product in the real world.
The deployment stage includes messaging and product training to the end user and
the entire company as well as the simple transmission of build into production.
Users should for instance be notified about the release changes and how the new
features are to be operated. You may need to provide robust and ongoing training to
keep everyone up to speed, depending on how significant these changes are. This is
particularly important when internal releases are carried out in order to be efficient
Release notes are a document released as part of the final build which includes new
Release notes are usually written by technicians who communicate with customers.
Release notes also feed the user documentation, user guide and training materials
process.
11 | P a g e
4. Testing
A software test plan can be defined to describe the scope, aim, approach and focus of a
Test plan components include test plan id, testing features, test methods, test assignments,
The test plan is conducted by a test manager or a conductor who explains how to test, when
of the software.
• That is, black-box testing techniques enable you to derive sets of input conditions
2 Interface errors
12 | P a g e
5 Initialization and termination errors
• Black Box Testing method is applicable to the following levels of software testing:
̶ Integration Testing
̶ System Testing
̶ Acceptance Testing
• The higher the level, and hence the bigger and more complex the box, the more
• Tests are done from a user’s point of view and will help in exposing discrepancies in the
specifications
• Tester need not know programming languages or how the software has been
implemented.
• Tests can be conducted by a body independent from the developers, allowing for
13 | P a g e
Fig. Black box testing & white box testing
• Using white-box testing methods, you can derive test cases that
1 Guarantee that all independent paths within a module have been exercised at least
once.
3 Execute all loops at their boundaries and within their operational bounds.
• White Box Testing method is applicable to the following levels of software testing:
14 | P a g e
̶ Unit Testing: For testing paths within a unit.
White-box testing is a testing technique which checks the internal functioning of the system.
conditions. White-Box testing is considered as low-level testing. It is also called glass box,
transparent box, clear box or code base testing. The white-box Testing method assumes that
• Testing can be commenced at an earlier stage. One need not wait for the GUI to be
available.
15 | P a g e
4.3 Testing Strategy :
• Test Technique is a set of instructions outlining the test design and how it should
be evaluated.
• The project manager introduces a test plan. It determines which technique and
• The evaluation strategy explains the methods in general. You may summarise and
• Test approach can also be used as a part of a test plan in smaller projects. It can
16 | P a g e
4.4 Testing Strategies [6]:
System testing (ST) is a technique of the black box testing used to measure compliance of
the system with specified requirements throughout the system. With system testing, the
system functionality is thoroughly tested. In order to measure the quality of the system
unevenly, System Testing is usually done by a team that is independent from its
determine if the software meets specific business needs. Validation Tests ensure that the
17 | P a g e
product meets the needs of the customer. It can also be defined to show that when
Integration testing addresses the issues associated with the dual problems of verification
component. Testing the interactions between the module and interactions with other
18 | P a g e
Integration Strategies:
• Big-Bang Integration
• Bottom Up Integration
• Hybrid Integration
Unit is the smallest part of a software system which is testable it may include code files,
classes and methods which can be tested individual for correctness. Unit is a process of
validating such small building block of a complex system, much before testing an
• Reduces errors or eliminates bugs when modified by current features in the newly
created features.
• The cost of testing decreases because errors are detected very early on.
• Unit Tests give quality of build when integrated with the build.
19 | P a g e
Unit Testing Lifecycle:
Smoke Testing is a hardware-based testing method which controls the smoke of hardware
components once the power of the hardware is switched on. Smoke testing refers similarly to
testing the basic functionality of the build in the context of software testing. When the test
fails, product is declared unstable and is NOT tested until the it passes smoke test.
20 | P a g e
4.5 Test Cases
A test case is a document, which has a set of test data, preconditions, expected results and
post conditions, developed for a particular test scenario in order to verify compliance against
a specific requirement.
Test Case acts as the starting point for the test execution, and after applying a set of input
values, the application has a definitive outcome and leaves the system at some end point or
• Test Case ID
• Test Scenario
• Test Steps
• Prerequisite
• Test Data
• Expected Result
• Test Parameters
• Actual Result
• Environment Information
• Comments
21 | P a g e
Example of Test Cases:
Users must verify their New user registration ‘user_active’ status should
email id by clicking on receives email of verification change from ‘0’ to ‘1’.
verification link sent on link.
registered email id.
Expired stock of pharmacy Inserted new expired stock in Application should show this
automatically shows in inventory system. product in Expired Stock page
Expired Product page and and pharmacist can remove
pharmacist can click on stock.
remove stock to remove
stock.
Once saving blood group Saved blood group of Test Application should make blood
by patient, he/she cannot Patient. group as read-only.
change it without any
proof to admin.
22 | P a g e
5. Testing Documentation
Documentation for testing is the documentation of artefacts created during or before
processes. Projects containing all documents are mature at a high level. Careful
Every test engineer prepares the needed reference document before the test execution
process is started. In general, when the developer is busy writing the code, testers write
Test Scenarios
The test scenario is a detailed document of test cases that cover end to end functionality
requirements are grouped on the basis of the functionality of a module and obtained
In the test scenario, there is a detailed testing process due to many associated test cases.
Before performing the test scenario, the tester has to consider the test cases for each
scenario.
Test Case
It consists of the complete navigation steps and inputs and all the scenarios that need to
23 | P a g e
be tested for the application. We will write the test case to maintain the consistency, or
every tester will follow the same approach for organizing the test document.
Test Plan
information about the testing activities. The test plan consists of multiple components
Role & Responsibility, Effort estimation, Entry and Exit criteria, Schedule, Tools, Defect
tracking, Test Deliverable, Assumption, Risk, and Mitigation Plan or Contingency Plan.
The Requirement traceability matrix [RTM] is a document which ensures that all the test
case has been covered. This document is created before the test execution process to
verify that we did not miss writing any test case for the particular requirement.
Test Strategy
The test strategy is a high-level document, which is used to verify the test types (levels) to be
executed for the product and also describe that what kind of technique has to be used and which
module is going to be tested. The Project Manager can approve it. It includes the multiple
components such as documentation formats, objective, test processes, scope, and customer
Test Data
It is data that occurs before the test is executed. It is mainly used when we are
implementing the test case. Mostly, we will have the test data in the Excel sheet format
24 | P a g e
The test data can be used to check the expected result, which means that when the test
data is entered, the expected outcome will meet the actual result and also check the
Bug Report
The bug report is a document where we maintain a summary of all the bugs which
occurred during the testing process. This is a crucial document for both the developers
and test engineers because, with the help of bug reports, they can easily track the
defects, report the bug, change the status of bugs which are fixed successfully, and also
25 | P a g e
6. References
https://www.bbconsult.co.uk/blog/requirements-gathering
https://www.tutorialspoint.com/software_testing/software_testing_overview.htm
https://www.tutorialspoint.com/programming_methodologies/programming_meth
odologies_program_documentation.htm
https://www.tutorialspoint.com/software_engineering/software_requirements.htm
from https://www.liquidplanner.com/blog/7-tools-to-gather-better-software-
requirements/
https://www.tutorialspoint.com/software_testing_dictionary/functional_decomposi
tion.htm
www.javatpoint.com/testing-documentation
26 | P a g e
9. 7 tools to gather better software requirements. (2020, December 16). Retrieved
from https://www.liquidplanner.com/blog/7-tools-to-gather-better-software-
requirements/
10. Different Requirements Gathering Techniques and Issues. (n.d.). Retrieved from
https://www.ijser.org/researchpaper/Different-Requirements-Gathering-
Techniques-and-Issues.pdf
https://www.tutorialspoint.com/software_engineering/software_requirements.htm
27 | P a g e