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)
Role of qa in requirements engineering
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

PPTX
Basic Concept of Software Quality
PPT
Unit 5 usability and satisfaction test
PPTX
Software testing training
PPTX
Software engineering 20 software testing
PPT
V Model in Software Testing
PPTX
Software testing
PPTX
Quality in software industry
PPTX
Software Testing - Software V&V and selection processes
Basic Concept of Software Quality
Unit 5 usability and satisfaction test
Software testing training
Software engineering 20 software testing
V Model in Software Testing
Software testing
Quality in software industry
Software Testing - Software V&V and selection processes

What's hot (16)

PPT
Software engineering
PDF
What is our_mission_v0.2
PPTX
Software engineering 4 critical analysis of waterfall model
PPTX
V model
PPT
Learn software testing
DOC
Testing
ODP
V model by_sandeep
PPT
Verification and validation process in software testing
PPTX
comparative study software quality models
PPTX
Questions for successful test automation projects
PPTX
Validation testing
PPTX
Mc call's software quality model
PDF
Effective Software Testing
PPTX
Software Quality Assurance: A mind game between you and devil
PPTX
V-Model (Verification and validation)
PPT
Presentation V Model
Software engineering
What is our_mission_v0.2
Software engineering 4 critical analysis of waterfall model
V model
Learn software testing
Testing
V model by_sandeep
Verification and validation process in software testing
comparative study software quality models
Questions for successful test automation projects
Validation testing
Mc call's software quality model
Effective Software Testing
Software Quality Assurance: A mind game between you and devil
V-Model (Verification and validation)
Presentation V Model
Ad

Similar to Role of qa in requirements engineering (20)

PPTX
UNIT-1-SQE-Dr.K.Srinivas-CSE.pptx
PPTX
Fault code for the whole thing is that you have a
PPT
Software quality assurance lecture 1
PPTX
Software Testing - Software Quality
PDF
How Quality Assurance is Important in Development Life Cycle
 
PPTX
Lec 1-SOFTWARE QUALITY ENGINEERING introduction (1).pptx
PPT
Software_Verification_and_Validation.ppt
PPT
SQA_Lec#01-1.ppt
PPT
Best practices quality assurance
PPTX
Improving our Approach Towards Capturing Value in Requirements
PPTX
PDF
Quality Assurance in Modern Software Development
PPT
WHAT IS QUALITY? Paola Di Maio
PPT
Quality Management.ppt in detail with notes
PPT
Software Quality Assurance presentation.
PPT
1 sqa and testing concepts
PPTX
quality
PPT
Lecture10
PPTX
Software Testing Basics
PPT
SQA.ppt
UNIT-1-SQE-Dr.K.Srinivas-CSE.pptx
Fault code for the whole thing is that you have a
Software quality assurance lecture 1
Software Testing - Software Quality
How Quality Assurance is Important in Development Life Cycle
 
Lec 1-SOFTWARE QUALITY ENGINEERING introduction (1).pptx
Software_Verification_and_Validation.ppt
SQA_Lec#01-1.ppt
Best practices quality assurance
Improving our Approach Towards Capturing Value in Requirements
Quality Assurance in Modern Software Development
WHAT IS QUALITY? Paola Di Maio
Quality Management.ppt in detail with notes
Software Quality Assurance presentation.
1 sqa and testing concepts
quality
Lecture10
Software Testing Basics
SQA.ppt
Ad

Recently uploaded (20)

PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PPTX
Transform Your Business with a Software ERP System
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
System and Network Administraation Chapter 3
PDF
Nekopoi APK 2025 free lastest update
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Understanding Forklifts - TECH EHS Solution
PDF
medical staffing services at VALiNTRY
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Softaken Excel to vCard Converter Software.pdf
VVF-Customer-Presentation2025-Ver1.9.pptx
Wondershare Filmora 15 Crack With Activation Key [2025
Transform Your Business with a Software ERP System
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
System and Network Administraation Chapter 3
Nekopoi APK 2025 free lastest update
How to Migrate SBCGlobal Email to Yahoo Easily
Which alternative to Crystal Reports is best for small or large businesses.pdf
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
wealthsignaloriginal-com-DS-text-... (1).pdf
Design an Analysis of Algorithms II-SECS-1021-03
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Odoo Companies in India – Driving Business Transformation.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Understanding Forklifts - TECH EHS Solution
medical staffing services at VALiNTRY
CHAPTER 2 - PM Management and IT Context
Softaken Excel to vCard Converter Software.pdf

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.”
  • 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

  • #3: 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
  • #4: Quality is hard to define as it is a complex concept, dependent on organizational viewpoints and context characteristics
  • #5: 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.
  • #7: 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.
  • #9: The V-Model demonstrates the relationships between each phase of the development life cycle and its associated phase of testing.
  • #10: 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.
  • #13: 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].
  • #15: 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.