This presentation will review the different type of documentation that is involved in the Software Development Life cycle.
The main sections of this article:
1. Overview
2. Traditional vs Agile methodology
3. Market Requirements Document (MRD)
4. Product Requirement Document (PRD)
5. Functional Specification (FS)
6. Business requirements document (BRD)
7. Software requirements Specification (SRS)
8. Software test plan (STP)
9. Software test Results (STR)
10. Requirement Traceability Matrix (RTM)
2. TESTING IN SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)
WHAT IS THE DEFINITION OF TESTING ?
• SOFTWARE TESTING IS A PROCESS OF EXECUTING A PROGRAM OR APPLICATION WITH
THE INTENT OF FINDING THE SOFTWARE BUGS.
• IT CAN ALSO BE STATED AS THE PROCESS OF VALIDATING AND VERIFYING THAT A
SOFTWARE PROGRAM OR APPLICATION OR PRODUCT:
• CAN BE IMPLEMENTED WITH THE SAME CHARACTERISTIC.
• MEETS THE BUSINESS AND TECHNICAL REQUIREMENTS THAT GUIDED IT’S DESIGN AND
DEVELOPMENT
• WORKS AS EXPECTED
FOR ADDITIONAL INFORMATION:
HTTP://ISTQBEXAMCERTIFICATION.COM/WHAT-IS-A-SOFTWARE-TESTING/
3. WHEN DO WE START (TRADITIONAL METHODOLOGIES)?
THE TESTING EFFORT WILL START WHEN THE DEVELOPMENT PHASE IS DONE.
4. WHEN DO WE START (AGILE)?
AGILE
• THE TESTING EFFORT WILL START WHEN THE FIRST CODE IS AVAILABLE.
• TESTING IS AN INTEGRAL PART OF EACH DEVELOPMENT ITERATION.
6. MARKET REQUIREMENTS DOCUMENT (MRD)
This document describes the Macro market requirements for the
application based on the customer requirements.
Definition
Prior to requirement phase, it’s the basic document that you must have
prior to starting the SDLC
Relevant to Phase?
Product Marketing manger
Product manager (PM)
Who is responsible to
deliver it?
The MRD document will help the team to understand the following:
• The Vision of how the application will be like,
• List of features,
• Target market,
• why the customers will want this application
• Competition from similar application
• Limitations of the application
Target
MRD ReviewResponsibilities of the QA
team
7. PRODUCT REQUIREMENT DOCUMENT (PRD)
A Set of software requirements and specifications that are used to develop the
upcoming application, the PRD should provide the solutions to the issues defined
in the MRD.
Definition
Planning / Requirements AnalysisRelevant to Phase?
The following teams :
Sales, Product Marketing, Technical support, product Architect etc.
Who is responsible to deliver
it?
The PRD should help the Engineering team to understand what the product
supposed to do. therefore it should clearly define:
• The purpose of the feature/product.
• Define the application functionalities.
• Define the application behavior.
• Expected use of the product
• What problem does it solve.
Target
• Analyze the requirements
• Participate in all meetings
• Rise any risk that may see
• Provide feedback
• Review the PRD
Responsibilities of the QA
team
8. FUNCTIONAL SPECIFICATION (FS)
The FS document is used to describe (low-Level) the set of functionalities and
activities that the application must perform.
Examples:
Description of the inputs/outputs
Description of the system integrations
Description of the Workflows
Definition
Design / CodingRelevant to Phase?
Engineering (Developers, DBA Etc.)
Software Architects
Software manager
Who is responsible to deliver
it?
This document will allow us to know how the application designed prior to
implementation.
Target
• Analyze the requirements
• Participate in all meetings
• Rise any risk that may see
• Provide feedback
• Review the FS
Responsibilities of the QA
team
9. BUSINESS REQUIREMENTS DOCUMENT (BRD)
The BRD document should provide the details about the solution for a
project based on the customer requirements and expectations.
Definition
Requirements analysisRelevant to Phase?
There is a number of team that are responsible to create the BRD
document:
• Product Managers
• Product Marketing
• Product Managers
• Business Analysis
Who is responsible to
deliver it?
• Describe the business requirements that should be met by the new
system (Data, Interface, functional etc.).
Target
BRD ReviewResponsibilities of the QA
team
Note!
In many companies the MRD is combined with the PRD into a single document.
10. SOFTWARE REQUIREMENTS SPECIFICATION (SRS)
The SRS document contains the description and use cases (Functional / non-
Functional) of a software to be developed, in addition it should describe the
essential behavior of the application from the client perspective.
Definition
Requirements / DesignRelevant to Phase?
• Technical writers
• Business analyst
• Project Manager.
Who is responsible to deliver
it?
• Assures that both the client and the organization are on the same page
regarding what is required from the client perspective.
• Definition of the software limitations.
• Determine the amount of work.
• Definition of the software capabilities (Functional, Non-Functional , interfaces,
reliability etc.).
• Breaking problems into small parts which will help reduce development effort.
Target
This Document is critical to the QA tests, therefore it should be the Key to write a
successful test plan that’s based on it.
Responsibilities of the QA
team
11. SOFTWARE TEST PLAN (STP)
Software test plan (STP), is a document that describes the testing strategy that the
test team are going to use to test the application.
Definition
Testing (we can write it when the requirements phase is done)Relevant to Phase?
• Test Manager
• Technical leader
• Qa Manger
Who is responsible to deliver
it?
Few Examples:
• Describe the type of tests that are performed in the testing cycles.
• Describe the test methodologies that the testing team will use.
• Describe the test environment and architecture.
• Describe the plannedunplanned tests.
• Describe the Entry and Exit criteria.
• Describe the test priority and risks.
• Describe the test timelines.
• Describe the testing goals.
• Describe the testing tools.
• Describe the testing level.
• Test resources.
Target
To write the document and use it during the test cycles.Responsibilities of the QA
team
12. SOFTWARE TEST DESCRIPTION/DESIGN (STD)
Software test Description/Design (STD), is a document that describes
(Low-Level) the test scenarios/cases that the test team is going to execute
during the test cycles (Each test is based on a relevant Use case).
Definition
Testing (we can write it when the requirements phase is done)Relevant to Phase?
• Test Manager
• Technical leader
• Software Tester
Who is responsible to
deliver it?
• Low-Details test scenarios/cases
• Test inputs and outputs
• Expected results
• Test prioritization
• Information about how the tests are going to run (Manual Vs
Automation).
Target
• Validate that the STD covers the use cases for the customers.
• To write the document and use it during the test cycles
• It should be based on the STP/SRS documents.
• Validate that the STD covers both the Functional / non-Functional
scenarios.
Responsibilities of the QA
team
13. SOFTWARE TEST RESULTS (STR)
Software test results (STR), is a document that summarizes
the test results of the testing cycles.
Definition
At the end of the test phase.Relevant to Phase?
• Test Manager
• Qa Manger
• Project/feature owner
Who is responsible
to deliver it?
Few Examples:
• The test coverage that was done
• Description of the Test results
• Known Risks
Target
• To write and present the document
• To reflect the real work that was done.
Responsibilities of
the QA team
14. REQUIREMENT TRACEABILITY MATRIX (RTM)
The RTM document, is used to trace the application
requirements and specification throughout the SDLC.
Definition
Design, Coding and testing phaseRelevant to Phase?
• Developers
• Quality assurance team
Who is responsible to
deliver it?
• To validate that each requirement/specification is covered in a
dedicated test case.
• Validate that the software is developed based on the
requested requirements.
Target
• Validate that every requirement is covered in a dedicated test
case.
• Validate that every feature is represented.
• Analyze and provide feedback about the quality of the doc
Responsibilities of the
QA team