SlideShare a Scribd company logo
Role of QA in Requirements Engineering
Presented by
Muhammad Naeem
QA Lead/Test Automation Engineer
Contour Sofwtare
Agenda
• Assumptions
• What is Quality?
• Software Development Life Cycle
• The V Model
• Importance of Early Quality Assurance
• Requirements Quality Strategy
• Quality Assurance approaches for Requirements
What is Quality
• Quality is BOTH a subjective AND an objective trait.
▫ For example, do fewer defects per lines of code equal high quality?
▫ What if one of these defects causes the loss of life?
• Standard definition of quality
• “The degree to which a component, system or process meets specified
requirements and/or user/customer needs and expectations.
software quality: The totality of functionality and features of a software
product that bear on its ability to satisfy stated or implied needs.”
Software Development Life Cycle(SDLC)
Tester Vs Developer
Software Development Life Cycle(SDLC)
The V Model
Importance of Early Quality Assurance
• Having no intermediate QA, i.e. a quality gate for the intermediate work
products, it is most likely that the design and implementation are based
on the wrong requirements.
• Issues should be resolved in the phase of their origin to avoid costly
testing and rework. Testing and rework can account for up to 40/50 % of
the development effort.
• In addition, removing defects early in the development process is more
cost effective than addressing the defects during testing or maintenance
Cost of Defect
What is Defect?
• Disagreement of stakeholders on one aspect of requirement
• Contradicting requirements
• Unclear, ambiguous, incorrect information
• Not implementable
Quality of requirements
• User View: The requirements should describe what the user requires of the
final system
• Product View: Furthermore, they should be described in a way that allows
the developers to produce the software effectively and efficiently
• Manufacturing View: The requirements engineers have to follow certain
standards when specifying the requirements to ensure the quality of the
requirements right from the start
• Value Based View: Finally, the customers have to decide on the value of each
requirement and whether the implementation cost is motivated
Quality Attributes
• Unambiguity (IEEE,product-view)
• Completeness (IEEE, product-view)
• Consistency (IEEE, product, manufacturing view )
• Ranked for Importance / Stability (IEEE, product,value-based, user view)
• Verifiability (IEEE, product view)
• Modifiable (IEEE, product view)
• Traceable (IEEE, manufacturing view)
• Comprehensibility (New,manufacturing, user,value-based view)
• Feasibility (New, value based,product view)
• Right Level of Detail (New, user, manufacturing,value-based view)
Requirements Quality Strategy
• A quality strategy defines
how, when and where
different QA approaches, in
combination with other
approaches in the software
development process, are
used to assure high quality.
Quality Assurance approaches for Requirements
• Constructive Approach: ensure that mistakes are minimized during the
creation of a work product (e.g. the requirements specification).
▫ Examples: Templates, Requirements Elicitation approaches and prototypes
• Analytical Approach: are performed on the completed artifact or a self
contained part of it with the aim to detect issues.
▫ Examples: Inspections, Formal Verifications
Conclusion
• There is a need of software tester involvement during software
requirements engineering phase
• The early involvement safe money, improve the quality of the
requirements, and to improve the overall system quality
Thank you

More Related Content

What's hot

Software engineering
Software engineeringSoftware engineering
Software engineering
suganyasanjai
 
What is our_mission_v0.2
What is our_mission_v0.2What is our_mission_v0.2
What is our_mission_v0.2
Trevor Warren
 
Software engineering 4 critical analysis of waterfall model
Software engineering 4 critical analysis of waterfall modelSoftware engineering 4 critical analysis of waterfall model
Software engineering 4 critical analysis of waterfall model
Vaibhav Khanna
 
V model
V modelV model
V model
Vaibhav Dash
 
Learn software testing
Learn software testingLearn software testing
Learn software testing
sajedah abukhdeir
 
V model by_sandeep
V model by_sandeepV model by_sandeep
V model by_sandeep
sandeepsingh2808
 
Verification and validation process in software testing
Verification and validation process in software testingVerification and validation process in software testing
Verification and validation process in software testing
pooja deshmukh
 
comparative study software quality models
comparative study  software quality models comparative study  software quality models
comparative study software quality models
Auwal Amshi
 
Questions for successful test automation projects
Questions for successful test automation projectsQuestions for successful test automation projects
Questions for successful test automation projects
Daniel Ionita
 
Validation testing
Validation testingValidation testing
Validation testingSlideshare
 
Mc call's software quality model
Mc call's software quality modelMc call's software quality model
Mc call's software quality model
Yatharth Aggarwal
 
Effective Software Testing
Effective Software TestingEffective Software Testing
Effective Software Testing
Valeria - Growdigitally
 
Software Quality Assurance: A mind game between you and devil
Software Quality Assurance: A mind game between you and devilSoftware Quality Assurance: A mind game between you and devil
Software Quality Assurance: A mind game between you and devil
Nahian Al Hossain Basunia
 
V-Model (Verification and validation)
V-Model (Verification and validation)V-Model (Verification and validation)
V-Model (Verification and validation)
Awais Saleem
 
Presentation V Model
Presentation V ModelPresentation V Model
Presentation V Model
rputker
 

What's hot (16)

Software engineering
Software engineeringSoftware engineering
Software engineering
 
What is our_mission_v0.2
What is our_mission_v0.2What is our_mission_v0.2
What is our_mission_v0.2
 
Software engineering 4 critical analysis of waterfall model
Software engineering 4 critical analysis of waterfall modelSoftware engineering 4 critical analysis of waterfall model
Software engineering 4 critical analysis of waterfall model
 
V model
V modelV model
V model
 
Learn software testing
Learn software testingLearn software testing
Learn software testing
 
Testing
TestingTesting
Testing
 
V model by_sandeep
V model by_sandeepV model by_sandeep
V model by_sandeep
 
Verification and validation process in software testing
Verification and validation process in software testingVerification and validation process in software testing
Verification and validation process in software testing
 
comparative study software quality models
comparative study  software quality models comparative study  software quality models
comparative study software quality models
 
Questions for successful test automation projects
Questions for successful test automation projectsQuestions for successful test automation projects
Questions for successful test automation projects
 
Validation testing
Validation testingValidation testing
Validation testing
 
Mc call's software quality model
Mc call's software quality modelMc call's software quality model
Mc call's software quality model
 
Effective Software Testing
Effective Software TestingEffective Software Testing
Effective Software Testing
 
Software Quality Assurance: A mind game between you and devil
Software Quality Assurance: A mind game between you and devilSoftware Quality Assurance: A mind game between you and devil
Software Quality Assurance: A mind game between you and devil
 
V-Model (Verification and validation)
V-Model (Verification and validation)V-Model (Verification and validation)
V-Model (Verification and validation)
 
Presentation V Model
Presentation V ModelPresentation V Model
Presentation V Model
 

Similar to Role of qa in requirements engineering

SQA_Lec#01-1.ppt
SQA_Lec#01-1.pptSQA_Lec#01-1.ppt
SQA_Lec#01-1.ppt
Ahmad Abbas
 
05_SQA_Overview.ppt
05_SQA_Overview.ppt05_SQA_Overview.ppt
05_SQA_Overview.ppt
SaqibHabib11
 
Quality assurance and management, software engineering
Quality assurance and management, software engineeringQuality assurance and management, software engineering
Quality assurance and management, software engineering
Rupesh Vaishnav
 
STQA 1.pptx
STQA 1.pptxSTQA 1.pptx
STQA 1.pptx
laravoj420
 
4S Akademi - QAI - Software Testing Principles and Concepts
4S Akademi - QAI - Software Testing Principles and Concepts4S Akademi - QAI - Software Testing Principles and Concepts
4S Akademi - QAI - Software Testing Principles and Concepts
Serdar Zeybek
 
Eng design 2
Eng design 2Eng design 2
Eng design 2
Masimbaashe Musekiwa
 
SQE Lecture 1.pptx
SQE Lecture 1.pptxSQE Lecture 1.pptx
SQE Lecture 1.pptx
UsmanShafique23
 
Software Testing - Software Quality
Software Testing - Software QualitySoftware Testing - Software Quality
Software Testing - Software Quality
Ajeng Savitri
 
Test planning and software's engineering
Test planning and software's engineeringTest planning and software's engineering
Test planning and software's engineering
MansiganeshJawale
 
Software Quality.pptx
Software Quality.pptxSoftware Quality.pptx
Software Quality.pptx
AnupamaSharma80
 
Software Quality Assurance - Software Engineering
Software Quality Assurance - Software EngineeringSoftware Quality Assurance - Software Engineering
Software Quality Assurance - Software Engineering
Purvik Rana
 
DEVELOP QUALITY CHARACTERISTICS BASED QUALITY EVALUATION PROCESS FOR READY TO...
DEVELOP QUALITY CHARACTERISTICS BASED QUALITY EVALUATION PROCESS FOR READY TO...DEVELOP QUALITY CHARACTERISTICS BASED QUALITY EVALUATION PROCESS FOR READY TO...
DEVELOP QUALITY CHARACTERISTICS BASED QUALITY EVALUATION PROCESS FOR READY TO...
cscpconf
 
DEVELOP QUALITY CHARACTERISTICS BASED QUALITY EVALUATION PROCESS FOR READY TO...
DEVELOP QUALITY CHARACTERISTICS BASED QUALITY EVALUATION PROCESS FOR READY TO...DEVELOP QUALITY CHARACTERISTICS BASED QUALITY EVALUATION PROCESS FOR READY TO...
DEVELOP QUALITY CHARACTERISTICS BASED QUALITY EVALUATION PROCESS FOR READY TO...
cscpconf
 
Software Quality Management
Software Quality ManagementSoftware Quality Management
Software Quality ManagementKrishna Sujeer
 
Unit 5 usability and satisfaction test
Unit 5 usability and satisfaction testUnit 5 usability and satisfaction test
Unit 5 usability and satisfaction testgopal10scs185
 
Software Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing TrendsSoftware Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing Trends
KMS Technology
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
Rizky Munggaran
 

Similar to Role of qa in requirements engineering (20)

SQA_Lec#01-1.ppt
SQA_Lec#01-1.pptSQA_Lec#01-1.ppt
SQA_Lec#01-1.ppt
 
SQA
SQASQA
SQA
 
05_SQA_Overview.ppt
05_SQA_Overview.ppt05_SQA_Overview.ppt
05_SQA_Overview.ppt
 
Quality assurance and management, software engineering
Quality assurance and management, software engineeringQuality assurance and management, software engineering
Quality assurance and management, software engineering
 
STQA 1.pptx
STQA 1.pptxSTQA 1.pptx
STQA 1.pptx
 
4S Akademi - QAI - Software Testing Principles and Concepts
4S Akademi - QAI - Software Testing Principles and Concepts4S Akademi - QAI - Software Testing Principles and Concepts
4S Akademi - QAI - Software Testing Principles and Concepts
 
Eng design 2
Eng design 2Eng design 2
Eng design 2
 
SQE Lecture 1.pptx
SQE Lecture 1.pptxSQE Lecture 1.pptx
SQE Lecture 1.pptx
 
Software Testing - Software Quality
Software Testing - Software QualitySoftware Testing - Software Quality
Software Testing - Software Quality
 
Test planning and software's engineering
Test planning and software's engineeringTest planning and software's engineering
Test planning and software's engineering
 
Software Quality.pptx
Software Quality.pptxSoftware Quality.pptx
Software Quality.pptx
 
unit-5-1.ppt
unit-5-1.pptunit-5-1.ppt
unit-5-1.ppt
 
unit-5-1.ppt
unit-5-1.pptunit-5-1.ppt
unit-5-1.ppt
 
Software Quality Assurance - Software Engineering
Software Quality Assurance - Software EngineeringSoftware Quality Assurance - Software Engineering
Software Quality Assurance - Software Engineering
 
DEVELOP QUALITY CHARACTERISTICS BASED QUALITY EVALUATION PROCESS FOR READY TO...
DEVELOP QUALITY CHARACTERISTICS BASED QUALITY EVALUATION PROCESS FOR READY TO...DEVELOP QUALITY CHARACTERISTICS BASED QUALITY EVALUATION PROCESS FOR READY TO...
DEVELOP QUALITY CHARACTERISTICS BASED QUALITY EVALUATION PROCESS FOR READY TO...
 
DEVELOP QUALITY CHARACTERISTICS BASED QUALITY EVALUATION PROCESS FOR READY TO...
DEVELOP QUALITY CHARACTERISTICS BASED QUALITY EVALUATION PROCESS FOR READY TO...DEVELOP QUALITY CHARACTERISTICS BASED QUALITY EVALUATION PROCESS FOR READY TO...
DEVELOP QUALITY CHARACTERISTICS BASED QUALITY EVALUATION PROCESS FOR READY TO...
 
Software Quality Management
Software Quality ManagementSoftware Quality Management
Software Quality Management
 
Unit 5 usability and satisfaction test
Unit 5 usability and satisfaction testUnit 5 usability and satisfaction test
Unit 5 usability and satisfaction test
 
Software Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing TrendsSoftware Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing Trends
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 

Recently uploaded

Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
Peter Caitens
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Why React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdfWhy React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdf
ayushiqss
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 

Recently uploaded (20)

Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Why React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdfWhy React Native as a Strategic Advantage for Startup Innovation.pdf
Why React Native as a Strategic Advantage for Startup Innovation.pdf
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 

Role of qa in requirements engineering

  • 1. Role of QA in Requirements Engineering Presented by Muhammad Naeem QA Lead/Test Automation Engineer Contour Sofwtare
  • 2. Agenda • Assumptions • What is Quality? • Software Development Life Cycle • The V Model • Importance of Early Quality Assurance • Requirements Quality Strategy • Quality Assurance approaches for Requirements
  • 3. What is Quality • Quality is BOTH a subjective AND an objective trait. ▫ For example, do fewer defects per lines of code equal high quality? ▫ What if one of these defects causes the loss of life? • Standard definition of quality • “The degree to which a component, system or process meets specified requirements and/or user/customer needs and expectations. software quality: The totality of functionality and features of a software product that bear on its ability to satisfy stated or implied needs.”
  • 7.
  • 9. Importance of Early Quality Assurance • Having no intermediate QA, i.e. a quality gate for the intermediate work products, it is most likely that the design and implementation are based on the wrong requirements. • Issues should be resolved in the phase of their origin to avoid costly testing and rework. Testing and rework can account for up to 40/50 % of the development effort. • In addition, removing defects early in the development process is more cost effective than addressing the defects during testing or maintenance
  • 11. What is Defect? • Disagreement of stakeholders on one aspect of requirement • Contradicting requirements • Unclear, ambiguous, incorrect information • Not implementable
  • 12. Quality of requirements • User View: The requirements should describe what the user requires of the final system • Product View: Furthermore, they should be described in a way that allows the developers to produce the software effectively and efficiently • Manufacturing View: The requirements engineers have to follow certain standards when specifying the requirements to ensure the quality of the requirements right from the start • Value Based View: Finally, the customers have to decide on the value of each requirement and whether the implementation cost is motivated
  • 13. Quality Attributes • Unambiguity (IEEE,product-view) • Completeness (IEEE, product-view) • Consistency (IEEE, product, manufacturing view ) • Ranked for Importance / Stability (IEEE, product,value-based, user view) • Verifiability (IEEE, product view) • Modifiable (IEEE, product view) • Traceable (IEEE, manufacturing view) • Comprehensibility (New,manufacturing, user,value-based view) • Feasibility (New, value based,product view) • Right Level of Detail (New, user, manufacturing,value-based view)
  • 14. Requirements Quality Strategy • A quality strategy defines how, when and where different QA approaches, in combination with other approaches in the software development process, are used to assure high quality.
  • 15. Quality Assurance approaches for Requirements • Constructive Approach: ensure that mistakes are minimized during the creation of a work product (e.g. the requirements specification). ▫ Examples: Templates, Requirements Elicitation approaches and prototypes • Analytical Approach: are performed on the completed artifact or a self contained part of it with the aim to detect issues. ▫ Examples: Inspections, Formal Verifications
  • 16. Conclusion • There is a need of software tester involvement during software requirements engineering phase • The early involvement safe money, improve the quality of the requirements, and to improve the overall system quality

Editor's Notes

  1. Assumptions Being CS Students aware about the jargons like SDLC, Quality Assurance, Processes, Software etc If you don’t understand please stop and ask question
  2. Quality is hard to define as it is a complex concept, dependent on organizational viewpoints and context characteristics
  3. There are following six phases in every Software development life cycle model: Initial phase / Requirement Gathering. Analysis phase. Design phase. Coding phase. Testing phase. Delivery and maintenance phase. Initial Phase: Business prerequisites are accumulated in this phase. This stage is the primary center of the venture supervisors and partners. Gatherings with supervisors, partners and clients are held keeping in mind the end goal to decide the prerequisites like; Who is going to utilize the framework? In what manner will they utilize the framework? What information ought to be a contribution to the framework? What information ought to be yield by the framework? These are general inquiries that get replied amid prerequisites gathering stage. After prerequisite assembling these necessities are investigated for their legitimacy and the likelihood of consolidating the prerequisites in the framework to be advancement is additionally concentrated on. Finally, a Requirement Specification document is created which serves the purpose of guideline for the next phase of the model.The document consist of the following: Functional Requirement Specification Business Requirement Specification Client/Customer Requirement Specification User Requirement Specification Business Design Document Business Document NOTE: It is not necessary that every company uses all these phases some have their own ways to providing a specification. Analysis Phase: The feasibility study, Tentative planning, Technology selection, Requirement Analysis are part of the analysis phase. People who work in this field are: System Analyst (SA),Project Manager (PM),Team Manager (TM) How Analysis phase work? (I) Feasibility study: It is a detailed study of the requirements in order to check whether all the requirements are possible are not. (II) Tentative planning: The resource planning and time planning is temporarily done in this section. (III) Technology selection: The lists of all the technologies that are to be used to accomplish the project successfully will be analysed and listed out here. (IV) Requirement analysis The list of all the requirements like human resources, hardware, software required to accomplish this project successfully will be clearly analysed and listed out here. Design Phase: Design phase has two major task to follow : HLD (High-Level Designing),LLD (Low-Level Designing) How Design phase works? The chief architect will divide the whole project into modules by drawing some diagrams and technical lead will divide each module into submodules by drawing some diagrams using UML (Unified Modelling Language). The technical lead will also prepare the PSEUDO Code. The Pseudo Code is defined as “A set of English instructions used for guiding the developer to develop the actual code easily”. Coding Phase: Coder has now task to do Programming / Coding. Developers will develop the actual source code by using the PSUEDO Code and following the coding standards like proper indentation, color-coding, proper commenting and etc. The proof of this phase is SCD (Source Code Document). Testing Phase: First of all the Test Engineer will receive the requirement documents and review it for understudying the requirements. If they have any doubts while understanding the requirements they will prepare the Review Report (RR) with all the list of doubts. Once the clarifications are given and after understanding the requirements clearly they will take the test case template and write the test cases. Once the build is released they will execute the test cases. After executions, if they find any defects then they will list out them in a defect profile document. Post that they will send defect profile to the developers and wait for the next build. Once the next build is released they will once again execute the test cases. If they find any defects they will follow the above procedure again and again till the product is defect free. Once they feel the product is defect free they will stop the process. Delivery and Maintenance Phase: Delivery: The senior test engineers who are deployment engineers,then install the application into the client environment with the help of guidelines provided in the deployment document. Maintenance: After the delivery if any problem occurs then that will become a task based problem and the corresponding rolls will be appointed for each problem. Based on the problem, roles will be defined and the process and thus the there solutions.
  4. There are following six phases in every Software development life cycle model: Initial phase / Requirement Gathering. Analysis phase. Design phase. Coding phase. Testing phase. Delivery and maintenance phase. Initial Phase: Business prerequisites are accumulated in this phase. This stage is the primary center of the venture supervisors and partners. Gatherings with supervisors, partners and clients are held keeping in mind the end goal to decide the prerequisites like; Who is going to utilize the framework? In what manner will they utilize the framework? What information ought to be a contribution to the framework? What information ought to be yield by the framework? These are general inquiries that get replied amid prerequisites gathering stage. After prerequisite assembling these necessities are investigated for their legitimacy and the likelihood of consolidating the prerequisites in the framework to be advancement is additionally concentrated on. Finally, a Requirement Specification document is created which serves the purpose of guideline for the next phase of the model.The document consist of the following: Functional Requirement Specification Business Requirement Specification Client/Customer Requirement Specification User Requirement Specification Business Design Document Business Document NOTE: It is not necessary that every company uses all these phases some have their own ways to providing a specification. Analysis Phase: The feasibility study, Tentative planning, Technology selection, Requirement Analysis are part of the analysis phase. People who work in this field are: System Analyst (SA),Project Manager (PM),Team Manager (TM) How Analysis phase work? (I) Feasibility study: It is a detailed study of the requirements in order to check whether all the requirements are possible are not. (II) Tentative planning: The resource planning and time planning is temporarily done in this section. (III) Technology selection: The lists of all the technologies that are to be used to accomplish the project successfully will be analysed and listed out here. (IV) Requirement analysis The list of all the requirements like human resources, hardware, software required to accomplish this project successfully will be clearly analysed and listed out here. Design Phase: Design phase has two major task to follow : HLD (High-Level Designing),LLD (Low-Level Designing) How Design phase works? The chief architect will divide the whole project into modules by drawing some diagrams and technical lead will divide each module into submodules by drawing some diagrams using UML (Unified Modelling Language). The technical lead will also prepare the PSEUDO Code. The Pseudo Code is defined as “A set of English instructions used for guiding the developer to develop the actual code easily”. Coding Phase: Coder has now task to do Programming / Coding. Developers will develop the actual source code by using the PSUEDO Code and following the coding standards like proper indentation, color-coding, proper commenting and etc. The proof of this phase is SCD (Source Code Document). Testing Phase: First of all the Test Engineer will receive the requirement documents and review it for understudying the requirements. If they have any doubts while understanding the requirements they will prepare the Review Report (RR) with all the list of doubts. Once the clarifications are given and after understanding the requirements clearly they will take the test case template and write the test cases. Once the build is released they will execute the test cases. After executions, if they find any defects then they will list out them in a defect profile document. Post that they will send defect profile to the developers and wait for the next build. Once the next build is released they will once again execute the test cases. If they find any defects they will follow the above procedure again and again till the product is defect free. Once they feel the product is defect free they will stop the process. Delivery and Maintenance Phase: Delivery: The senior test engineers who are deployment engineers,then install the application into the client environment with the help of guidelines provided in the deployment document. Maintenance: After the delivery if any problem occurs then that will become a task based problem and the corresponding rolls will be appointed for each problem. Based on the problem, roles will be defined and the process and thus the there solutions.
  5. The V-Model demonstrates the relationships between each phase of the development life cycle and its associated phase of testing.
  6. Continuously increasing complexity, ever-increasing market pressure, and customers’ demands for higher quality require a combination of carefully selected validation and verification techniques to deliver a software product on time, within budget and with the desired quality. Requirements engineering is the initial part of a software development process, and all later steps of the development are influenced by the requirements, making the quality of the requirements an important factor for the overall quality of the developed system. Having no intermediate QA, i.e. a quality gate for the intermediate work products, it is most likely that the design and implementation are based on the wrong requirements. This, in consequence, leads to high rework effort as not only the code but most often the overall system architecture and design have to be revised due to requirements defects. Nevertheless, it seems to be quite common to do QA only by means of testing (and maintenance approaches), which, therefore, is an opportunistic approach.
  7. The goal of this viewpoint is to express the complexity of the concept quality in general. Second, the user view evaluates the quality of a software product with respect to its fitness of purpose to fulfill certain user tasks. The third view, the manufacturing view, focuses on the product view during production and after delivery. It is focused on the adherence of standards and evaluates whether the product was build right the first time. The fourth view is the product view. The focus for this view is on internal quality aspects of the product that can be measured. It is assumed that ensuring certain internal quality aspects has an impact on the external quality and the quality in use of the product. Finally, the value-based view relates quality to cost. It considers quality as something the customer is willing to pay for [32].
  8. The quality of requirements specifies the quality criteria for good requirements, as described in the previous section. These criteria can vary from company to company and from project to project. They impact the strategy in that they specify what should be achieved with the quality strategy. It is important to define optimal and minimal sets of quality characteristics of requirements [32]. 2. The available resources describe the available effort, budget, hardware, and personnel to perform QA during the requirements activities. In addition, the availability of additional experts has to be considered, as for certain quality assurance approaches, certain stakeholders beyond the requirements engineering processes might be essential (e.g. lead architect during requirements reviews). The available resources have also a direct impact on the applicable QA approaches. For example, if only a small effort is available to perform requirements reviews it is not possible to fulfill a full Fagan inspection with many participants but only a peer review or desk-checking approach [49]. 3. Risks related to certain requirements, especially risks of not realizing a requirement or implementing a requirement in the wrong way, are an additional factor influencing the quality strategy. Risk is defined as not being able to live up to the quality goals and is an important factor for deciding on which part of the requirements which QA approach should focus. For example, not meeting a requirement important to protect human lives bears a high risk and should therefore be checked extra carefully. Moreover, risks can be used to plan the limited quality assurance resources. For example, with the help of risk analysis, it is possible to identify the most critical requirements in the sense of loss of lives or loss of money. The QA approaches should then be focused exactly on these aspects (see also Chap. 5 for related approaches). 4. The overall time schedule is related to the available resources and defines the time available for QA in general and within the requirements phase in particular. Time resources are especially important as they relate the requirements QA activities with other development activities. 5. Finally, the organizational aspects, such as development process, e.g., plandriven or agile development, or product domain, (e.g., desktop software or airplane control system) influence the decision on which QA approaches to use. Moreover, it is important to take the various stakeholders into account. Dependent on the domain, different sets of stakeholders are varying importance (see also Chaps. 2 and 3). These aspects impact the quality strategy in that certain QA approaches might not be applicable due to the organizational constraints. For example, in an agile process, requirements reviews are almost impossible to perform as in the most agile processes requirements are not documented in a way that would allow an inspection (e.g. user stories in extreme- programming often are not longer than one sentence that specifies a general feature [5]). The context elements are important to consider as they define in which way the QA approaches can be applied and which restrictions and constraints must be adhered to. Beside the context in which the quality strategy is embedded, it is also important to consider technical aspects of quality assurance: 1. The basic strategies represent those strategies in place in a company or a project that define how to perform QA in the requirements phase. In that sense they represent the current state of the practice in a certain context. Due to the lack of sophisticated quality strategies, ad-hoc approaches are most frequently applied. For example, the simplest but also the least systematic strategy is to state that everything in the requirements specification should be verified or that all quality issues should be tackled in later development phases. Experience based strategies give hints on what to address in the requirements based on the experience of earlier projects. Such basic strategies should be considered when creating a more sophisticated quality strategy. They provide valuable input on where to start from and what has paid of in the past. 2. The coverage criteria define which aspects of the requirements should be covered by the QA approach. One example of a coverage criterion is that all requirements are covered by at least one test case. An aspect related to coverage that should be considered is the depth of the QA approach [35]. Depth defines the level of detail to which the requirements are verified or validated or, in other words, the quality level to be achieved. The greater the depth, the more resources are required for QA and the more sophisticated QA approaches are required. 3. The most important element of a requirements quality strategy is the potential quality assurance approaches and methods that can be used to ensure the different quality characteristics of the requirements. As discussed, the context elements and the technical elements impact the applicability of QA approaches. The QA approaches are the technical core element of the quality strategy as they represent the means of achieving good requirements quality.