SlideShare une entreprise Scribd logo
1  sur  41
Software Quality Assurance
Recap
• What is testing?
• Who does testing?
• Why do we do testing?
• Software testing process?
• Software Testing
– Levels of testing
– Methods/techniques of testing
• Test cases
• Writing effective test cases
What is SQA?
• Software Quality Assurance is an umbrella activity that is applied
throughout the software process...
What is quality?
• Quality refers to any measurable characteristics such as
correctness, maintainability, portability, testability, usability,
reliability, efficiency, integrity, reusability and interoperability.
Quality terminologies
• Quality of Design refers to the characteristics that designer’s specify for an item.
• Quality of Conformance is the degree to which the design specifications are followed
during manufacturing.
• Quality Control is the series of inspections, reviews and tests used throughout the
development cycle to ensure that each work product meets the requirements placed
upon it.
• Quality policy refers to the basic aims and objectives of an organization regarding
quality as stipulated by the management.
• Quality assurance consists of the auditing and reporting functions of management.
• Cost of Quality includes all costs incurred in the pursuit of quality or in performing
quality related activities such as appraisal costs, failure costs and external failure
costs.
• Quality planning is the process of assessing the requirements of the procedure and of
the product and the context in which these must be observed.
• Quality testing is assessment of the extent to which a test object meets given
requirements
• Quality assurance plan is the central aid for planning and checking the quality
assurance.
• Quality assurance system is the organizational structure, responsibilities, procedures,
processes and resources for implementing quality management.
Relative cost of correcting an error?
Elements of S/W Quality Assurance
• Standards
• Reviews and audits
• Testing
• Error/defect collection and analysis
• Change management
• Education
• Vendor management
• Security management
• Safety
• Risk management
SQA tasks
• Prepares an SQA plan for a project
• Participates in the development of the project’s software process
description
• Reviews software engineering activities to verify compliance with
the defined software process
• Audits designated software work products to verify compliance with
those defined as part of the software process
• Ensures that deviations in software work and work products are
documented and handled according to a documented procedure
• Records and noncompliance and reports to senior management
SQA Goals, Attributes and Metrics
Goals
Requirement quality
Design quality
Attributes
• Ambiguity
• Completeness
• Understandability
• Volatility
• Traceability
• Model clarity
• Architectural integrity
• Component
completeness
• Interface complexity
• Patterns
Metric
• Number of ambiguous modifiers (e.g.,
many, large, human-friendly)
• Number of TBAs, TBDs
• Number of sections/subsections
• Number of changes per requirement
• Time (by activity) when change is
requested
• Number of requirements not traceable
to design/code
• Number of UML models
• Number of descriptive pages per
model
• Number of UML errors
• Existence of architectural model
• Number of components that trace to
architectural model
• Complexity of procedural design
• Layout appropriateness
• Number of patterns used
SQA Goals, Attributes and Metrics
Goals
Code quality
QC effectiveness
Attributes
• Complexity
• Maintainability
• Understandability
• Reusability
• Documentation
• Resource allocation
• Completion rate
• Review effectiveness
• Testing
effectiveness
Metric
• Cyclomatic complexity
• Design factors
• Percent internal comments
• Variable naming conventions
• Percent reused components
• Readability index
• Staff hour percentage per activity
• Actual vs. budgeted completion time
• Review metrics
• Number of errors found and criticality
• Effort required to correct an error
• Origin of error
SQA plan
• Management section
– describes the place of SQA in the structure of the organization
• Documentation section
– describes each work product produced as part of the software process
• Standards, practices, and conventions section
– lists all applicable standards/practices applied during the software process and
any metrics to be collected as part of the software engineering work
• Reviews and audits section
– provides an overview of the approach used in the reviews and audits to be
conducted during the project
• Test section
– references the test plan and procedure document and defines test record
keeping requirements
• Problem reporting and corrective action section
– defines procedures for reporting, tracking, and resolving errors or defects,
identifies organizational responsibilities for these activities
• Other
– tools, SQA methods, change control, record keeping, training, and risk
management
Statistical SQA
• Information about software defects is collected and categorized
• An attempt is made to trace each defect to its underlying cause
• Isolate the vital few causes of the major source of all errors
• Then move to correct the problems that have caused the defects
Statistical SQA – Categories of errors
• Incomplete or erroneous specification (IES)
• Misinterpretation of customer comm (MCC)
• Intentional deviation from specification (IDS)
• Violation of programming standards (VPS)
• Error in data representation (EDR)
• Inconsistent module interface (IMI)
• Error in design logic (EDL)
• Incomplete or erroneous testing (IET)
• Inaccurate or incomplete documentation (IID)
• Error in programming lang. Translation (PLT)
• Ambiguous or inconsistent human-computer interface (HCI)
• Miscellaneous (MIS)
• Most often IES, MCC and EDR are the vital few causes for majority
of errors.
Identifying the vital few
Statistical SQA
Example
Statistical SQA – Six Sigma
• Most widely used strategy for statistical SQA
• Three core steps
– Define customer requirements, deliverables and project goals via well-defined
methods of customer communication
– Measure the existing process and its output to determine quality
– Analyze defect metrics and determine the vital few causes
• If an existing software process is in place, but improvement is required six
sigma suggests
– Improve the process by eliminating the root causes of defects
– Control the process to ensure that future work does not reintroduce the cases of
defects
• If an organization is developing a software process, the core steps are
augmented
– Design the process to (1) avoid the root causes of defects and (2) to meet
customer requirements
– Verify that the process model will, in fact, avoid defects and meet customer
requirements
Reviews To uncover errors/defects
• To uncover errors in function, logic, or implementation
for any representation of the software
• To verify that software meets its requirements
• To ensure that software representation meets predefined
standards
• To achieve software development in a uniform manner
• To make projects more manageable
Review Roles
• Presenter (designer/producer).
• Coordinator (not person who hires/fires).
• Recorder
– records events of meeting
– builds paper trail
• Reviewers
– maintenance oracle
– standards bearer
– user representative
– others
Formal Technical Reviews
• Involves 3 to 5 people (including reviewers)
• Advance preparation (no more than 2 hours per person) required
• Duration of review meeting should be less than 2 hours
• Focus of review is on a discrete work product
• Review leader organizes the review meeting at the producer's
request.
• Reviewers ask questions that enable the producer to discover his or
her own error (the product is under review not the producer)
• Producer of the work product walks the reviewers through the
product
• Recorder writes down any significant issues raised during the
review
• Reviewers decide to accept or reject the work product and whether
to require additional reviews of product or not.
Formality and Timing
• Formal review presentations
– resemble conference presentations.
• Informal presentations
– less detailed, but equally correct.
• Early
– tend to be informal
– may not have enough information
• Later
– tend to be more formal
– Feedback may come too late to avoid rework
Formality and Timing
• Analysis is complete.
• Design is complete.
• After first compilation.
• After first test run.
• After all test runs.
• Any time you complete an activity that produce a complete work
product.
Why do peer reviews?
• To improve quality.
• Catches 80% of all errors if done properly.
• Catches both coding errors and design errors.
• Enforce the spirit of any organization standards.
• Training and insurance.
Review Guidelines..
• Review the product, not
producer
• Set an agenda and
maintain it
• Limit the debate
• Enunciate problem areas,
not to solve every problem
noted
• Take written notes
• Allocate resources and
time schedule for FTR’s
• Use standards to avoid
style disagreements.
• Let the coordinator run the
meeting and maintain
order.
• Limit the number of
participants and insist upon
advance preparation
• Develop a checklist for
each work product to be
reviewed
• Training for all reviewer’s
• Reviewing earlier reviews
Keep it short (< 30
minutes).
• Don’t schedule two in a
row.
• Don’t review product
fragments.
Effectiveness of review  Defect
Amplification and Removal
Errors passed through
Amplified errors 1:x
Newly identified errors
Percent
efficiency
for error
detection
Errors from
previous steps Errors passed
to next step
Development step
Defects Detection
• Used to illustrate the generation and detection of errors during
design and code generation
Effectiveness of review  Defect
Amplification and Removal
No reviews
With reviews
Effectiveness of review  Defect
Amplification and Removal
Example
Review metrics and their use
• Many metrics can be defined for technical reviews
• The following can be calculated for each review
conducted:
– Preparation effort (Ep)
– Assessment effort (Ea)
– Rework effort (Er)
– Work product size (WPS)
– Minor errors found (Errminor)
– Major errors found (Errmajor)
Analyzing review metrics
• Total review effort (Ereview)
– Ereview = Ep + Ea + Er
• Total number of errors (Errtot)
– Errtot = Errminor + Errmajor
• Error density represents the errors found per unit of work product
reviewed
– Error density = Errtot / WPS
• Cost effectiveness of reviews
– Effort saved per error = Etesting – Ereviews
Effectiveness of review  Defect
Amplification and Removal
No reviews
With reviews
Effectiveness of review  Defect
Amplification and Removal
Software reliability
• Defined as the probability of failure free operation of a computer
program in a specified environment for a specified time.
• Can be measured directly and estimated using historical and
developmental data (unlike many other software quality factors)
• Software reliability problems can usually be traced back to errors in
design or implementation.
• Reliability metrics are units of measure for system reliability
• System reliability is measured by counting the number of
operational failures and relating these to demands made on the
system at the time of failure
• A long-term measurement program is required to assess the
reliability of critical systems
Measuring S/W reliability
• A measure of software reliability is mean time between failures
where
• MTBF = MTTF + MTTR
• MTTF = mean time to failure
• MTTR = mean time to repair
• Availability =MTTF/(MTTF + MTTR) * 100%
• Software availability is the probability that a program is operating
according to requirements at a given point in time
Example
Software reliability -- Software safety
• Processes that help reduce the probability that critical
failures will occur due to SW
• Hazard analyses
– Identify hazards that could call failure
– Develop fault tree
– Identify all possible causes of the hazard
– Formally review the remedy for each
• Redundancy
• Require a written software safety plan
• Require independent verification & validation
Example Fault Tree -- Thermal
Loss of heatLoss of heat
Power failurePower failure Computer failureComputer failure IncorrectIncorrect
inputinput
SW failedSW failed
to throwto throw
switchswitch
......
Computer failureComputer failure SW failedSW failed
to throwto throw
switchswitch
...... Logic reversedLogic reversed
Software Safety
• Redundancy
– Replicated at the hardware level
– Similar vs.. dis-similar redundancy
• Verification
– Assuring that the software specifications are met
• Validation
– Assuring that the product functions as desired
• Independence
23
• ISO 9000 describes QA elements in generic terms
– Elements include organizational structure, procedures, processes
and resources.
• It treats an enterprise as a network of interconnected processes.
• To be ISO-complaint processes should adhere to the standards
described.
• Ensures quality planning, quality control, quality assurance and
quality improvement.
• From S/W engineering view point: An international standard
which provides broad guidance to software developers on how
to Implement, maintain and improve a quality software system
capable of ensuring high quality software
• Consists of 20 requirements...
– Differs from country to country..
ISO 9000 Quality Standards
25
• Management responsibility
• Quality system
• Contract review
• Design Control
• Document and data control
• Purchasing
• Control of customer supplied
product
• Product identification and
traceability
• Process control
• Inspection and testing
• Control of inspection,
measuring and test equipment
• Inspection and test status
• Control of non-confirming
product
• Corrective and preventive
action
• Handling, storage, packaging,
preservation and delivery
• Control of quality records
• Internal quality audits
• Training
• Servicing
• Statistical techniques
ISO 9001 … requirements
27
• SQA must be applied at each step
• SQA might be complex
• Software reviews are important SQA activities
• Statistical SQA helps improve product quality and software process
• Software Safety is essential for critical systems
• ISO 9001 standardizes the SQA activities
Summary

Contenu connexe

Tendances

Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)ShudipPal
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Drusilla918
 
Requirements prioritization
Requirements prioritizationRequirements prioritization
Requirements prioritizationSyed Zaid Irshad
 
verification and validation
verification and validationverification and validation
verification and validationDinesh Pasi
 
Software Engineering Assignment
Software Engineering AssignmentSoftware Engineering Assignment
Software Engineering AssignmentSohaib Latif
 
Software Testing Life Cycle
Software Testing Life CycleSoftware Testing Life Cycle
Software Testing Life CycleUdayakumar Sree
 
Test case design
Test case designTest case design
Test case design99pillar
 
Formal Methods lecture 01
Formal Methods lecture 01Formal Methods lecture 01
Formal Methods lecture 01Sidra Ashraf
 
Seminar on Software Testing
Seminar on Software TestingSeminar on Software Testing
Seminar on Software TestingBeat Fluri
 
Risk management(software engineering)
Risk management(software engineering)Risk management(software engineering)
Risk management(software engineering)Priya Tomar
 
White box & Black box testing
White box & Black box testingWhite box & Black box testing
White box & Black box testingNitishMhaske1
 
Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metricsSHREEHARI WADAWADAGI
 
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...Ankit Prajapati
 

Tendances (20)

Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)
 
Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...Software engineering a practitioners approach 8th edition pressman solutions ...
Software engineering a practitioners approach 8th edition pressman solutions ...
 
Requirements prioritization
Requirements prioritizationRequirements prioritization
Requirements prioritization
 
Black & White Box testing
Black & White Box testingBlack & White Box testing
Black & White Box testing
 
verification and validation
verification and validationverification and validation
verification and validation
 
Software Engineering Assignment
Software Engineering AssignmentSoftware Engineering Assignment
Software Engineering Assignment
 
Software Testing Life Cycle
Software Testing Life CycleSoftware Testing Life Cycle
Software Testing Life Cycle
 
Software Verification & Validation
Software Verification & ValidationSoftware Verification & Validation
Software Verification & Validation
 
Test case design
Test case designTest case design
Test case design
 
Formal Methods lecture 01
Formal Methods lecture 01Formal Methods lecture 01
Formal Methods lecture 01
 
Seminar on Software Testing
Seminar on Software TestingSeminar on Software Testing
Seminar on Software Testing
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
White box ppt
White box pptWhite box ppt
White box ppt
 
Risk management(software engineering)
Risk management(software engineering)Risk management(software engineering)
Risk management(software engineering)
 
White Box Testing
White Box Testing White Box Testing
White Box Testing
 
White box & Black box testing
White box & Black box testingWhite box & Black box testing
White box & Black box testing
 
Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metrics
 
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
 
Software design
Software designSoftware design
Software design
 

Similaire à Software quality assurance

Software Quality Assurance - Software Engineering
Software Quality Assurance - Software EngineeringSoftware Quality Assurance - Software Engineering
Software Quality Assurance - Software EngineeringPurvik Rana
 
Test planning and software's engineering
Test planning and software's engineeringTest planning and software's engineering
Test planning and software's engineeringMansiganeshJawale
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2Rupesh Vaishnav
 
Quality assurance and management, software engineering
Quality assurance and management, software engineeringQuality assurance and management, software engineering
Quality assurance and management, software engineeringRupesh Vaishnav
 
Softwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan SahadviSoftwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan SahadviAbuulHassan2
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assuranceAman Adhikari
 
What_is_Software_Testing.pdf
What_is_Software_Testing.pdfWhat_is_Software_Testing.pdf
What_is_Software_Testing.pdfVuongPhm
 
05_SQA_Overview.ppt
05_SQA_Overview.ppt05_SQA_Overview.ppt
05_SQA_Overview.pptSaqibHabib11
 
Unit 8 software quality and matrices
Unit 8 software quality and matricesUnit 8 software quality and matrices
Unit 8 software quality and matricesPreeti Mishra
 
1 sqa and testing concepts
1 sqa and testing concepts1 sqa and testing concepts
1 sqa and testing conceptssulaimanr85
 
Unit3 software review control software
Unit3 software review control softwareUnit3 software review control software
Unit3 software review control softwareReetesh Gupta
 
Manual testing interview questions and answers
Manual testing interview questions and answersManual testing interview questions and answers
Manual testing interview questions and answerskaranmca
 
Testing Throughout the Software Life Cycle (2013)
Testing Throughout the Software Life Cycle (2013)Testing Throughout the Software Life Cycle (2013)
Testing Throughout the Software Life Cycle (2013)Jana Gierloff
 

Similaire à Software quality assurance (20)

Software Quality Assurance - Software Engineering
Software Quality Assurance - Software EngineeringSoftware Quality Assurance - Software Engineering
Software Quality Assurance - Software Engineering
 
Test planning and software's engineering
Test planning and software's engineeringTest planning and software's engineering
Test planning and software's engineering
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
 
SQA presenatation made by krishna ballabh gupta
SQA presenatation made by krishna ballabh guptaSQA presenatation made by krishna ballabh gupta
SQA presenatation made by krishna ballabh gupta
 
Sqa
SqaSqa
Sqa
 
Sqa
SqaSqa
Sqa
 
Quality assurance and management, software engineering
Quality assurance and management, software engineeringQuality assurance and management, software engineering
Quality assurance and management, software engineering
 
Softwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan SahadviSoftwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan Sahadvi
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
What_is_Software_Testing.pdf
What_is_Software_Testing.pdfWhat_is_Software_Testing.pdf
What_is_Software_Testing.pdf
 
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
 
05_SQA_Overview.ppt
05_SQA_Overview.ppt05_SQA_Overview.ppt
05_SQA_Overview.ppt
 
Unit 8 software quality and matrices
Unit 8 software quality and matricesUnit 8 software quality and matrices
Unit 8 software quality and matrices
 
1 sqa and testing concepts
1 sqa and testing concepts1 sqa and testing concepts
1 sqa and testing concepts
 
Unit3 software review control software
Unit3 software review control softwareUnit3 software review control software
Unit3 software review control software
 
Fundamental of testing
Fundamental of testingFundamental of testing
Fundamental of testing
 
Manual testing interview questions and answers
Manual testing interview questions and answersManual testing interview questions and answers
Manual testing interview questions and answers
 
Testing Throughout the Software Life Cycle (2013)
Testing Throughout the Software Life Cycle (2013)Testing Throughout the Software Life Cycle (2013)
Testing Throughout the Software Life Cycle (2013)
 
Software Development
Software DevelopmentSoftware Development
Software Development
 

Dernier

Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 

Dernier (20)

Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

Software quality assurance

  • 2. Recap • What is testing? • Who does testing? • Why do we do testing? • Software testing process? • Software Testing – Levels of testing – Methods/techniques of testing • Test cases • Writing effective test cases
  • 3. What is SQA? • Software Quality Assurance is an umbrella activity that is applied throughout the software process...
  • 4. What is quality? • Quality refers to any measurable characteristics such as correctness, maintainability, portability, testability, usability, reliability, efficiency, integrity, reusability and interoperability.
  • 5. Quality terminologies • Quality of Design refers to the characteristics that designer’s specify for an item. • Quality of Conformance is the degree to which the design specifications are followed during manufacturing. • Quality Control is the series of inspections, reviews and tests used throughout the development cycle to ensure that each work product meets the requirements placed upon it. • Quality policy refers to the basic aims and objectives of an organization regarding quality as stipulated by the management. • Quality assurance consists of the auditing and reporting functions of management. • Cost of Quality includes all costs incurred in the pursuit of quality or in performing quality related activities such as appraisal costs, failure costs and external failure costs. • Quality planning is the process of assessing the requirements of the procedure and of the product and the context in which these must be observed. • Quality testing is assessment of the extent to which a test object meets given requirements • Quality assurance plan is the central aid for planning and checking the quality assurance. • Quality assurance system is the organizational structure, responsibilities, procedures, processes and resources for implementing quality management.
  • 6. Relative cost of correcting an error?
  • 7. Elements of S/W Quality Assurance • Standards • Reviews and audits • Testing • Error/defect collection and analysis • Change management • Education • Vendor management • Security management • Safety • Risk management
  • 8. SQA tasks • Prepares an SQA plan for a project • Participates in the development of the project’s software process description • Reviews software engineering activities to verify compliance with the defined software process • Audits designated software work products to verify compliance with those defined as part of the software process • Ensures that deviations in software work and work products are documented and handled according to a documented procedure • Records and noncompliance and reports to senior management
  • 9. SQA Goals, Attributes and Metrics Goals Requirement quality Design quality Attributes • Ambiguity • Completeness • Understandability • Volatility • Traceability • Model clarity • Architectural integrity • Component completeness • Interface complexity • Patterns Metric • Number of ambiguous modifiers (e.g., many, large, human-friendly) • Number of TBAs, TBDs • Number of sections/subsections • Number of changes per requirement • Time (by activity) when change is requested • Number of requirements not traceable to design/code • Number of UML models • Number of descriptive pages per model • Number of UML errors • Existence of architectural model • Number of components that trace to architectural model • Complexity of procedural design • Layout appropriateness • Number of patterns used
  • 10. SQA Goals, Attributes and Metrics Goals Code quality QC effectiveness Attributes • Complexity • Maintainability • Understandability • Reusability • Documentation • Resource allocation • Completion rate • Review effectiveness • Testing effectiveness Metric • Cyclomatic complexity • Design factors • Percent internal comments • Variable naming conventions • Percent reused components • Readability index • Staff hour percentage per activity • Actual vs. budgeted completion time • Review metrics • Number of errors found and criticality • Effort required to correct an error • Origin of error
  • 11. SQA plan • Management section – describes the place of SQA in the structure of the organization • Documentation section – describes each work product produced as part of the software process • Standards, practices, and conventions section – lists all applicable standards/practices applied during the software process and any metrics to be collected as part of the software engineering work • Reviews and audits section – provides an overview of the approach used in the reviews and audits to be conducted during the project • Test section – references the test plan and procedure document and defines test record keeping requirements • Problem reporting and corrective action section – defines procedures for reporting, tracking, and resolving errors or defects, identifies organizational responsibilities for these activities • Other – tools, SQA methods, change control, record keeping, training, and risk management
  • 12. Statistical SQA • Information about software defects is collected and categorized • An attempt is made to trace each defect to its underlying cause • Isolate the vital few causes of the major source of all errors • Then move to correct the problems that have caused the defects
  • 13. Statistical SQA – Categories of errors • Incomplete or erroneous specification (IES) • Misinterpretation of customer comm (MCC) • Intentional deviation from specification (IDS) • Violation of programming standards (VPS) • Error in data representation (EDR) • Inconsistent module interface (IMI) • Error in design logic (EDL) • Incomplete or erroneous testing (IET) • Inaccurate or incomplete documentation (IID) • Error in programming lang. Translation (PLT) • Ambiguous or inconsistent human-computer interface (HCI) • Miscellaneous (MIS) • Most often IES, MCC and EDR are the vital few causes for majority of errors.
  • 17. Statistical SQA – Six Sigma • Most widely used strategy for statistical SQA • Three core steps – Define customer requirements, deliverables and project goals via well-defined methods of customer communication – Measure the existing process and its output to determine quality – Analyze defect metrics and determine the vital few causes • If an existing software process is in place, but improvement is required six sigma suggests – Improve the process by eliminating the root causes of defects – Control the process to ensure that future work does not reintroduce the cases of defects • If an organization is developing a software process, the core steps are augmented – Design the process to (1) avoid the root causes of defects and (2) to meet customer requirements – Verify that the process model will, in fact, avoid defects and meet customer requirements
  • 18. Reviews To uncover errors/defects • To uncover errors in function, logic, or implementation for any representation of the software • To verify that software meets its requirements • To ensure that software representation meets predefined standards • To achieve software development in a uniform manner • To make projects more manageable
  • 19. Review Roles • Presenter (designer/producer). • Coordinator (not person who hires/fires). • Recorder – records events of meeting – builds paper trail • Reviewers – maintenance oracle – standards bearer – user representative – others
  • 20. Formal Technical Reviews • Involves 3 to 5 people (including reviewers) • Advance preparation (no more than 2 hours per person) required • Duration of review meeting should be less than 2 hours • Focus of review is on a discrete work product • Review leader organizes the review meeting at the producer's request. • Reviewers ask questions that enable the producer to discover his or her own error (the product is under review not the producer) • Producer of the work product walks the reviewers through the product • Recorder writes down any significant issues raised during the review • Reviewers decide to accept or reject the work product and whether to require additional reviews of product or not.
  • 21. Formality and Timing • Formal review presentations – resemble conference presentations. • Informal presentations – less detailed, but equally correct. • Early – tend to be informal – may not have enough information • Later – tend to be more formal – Feedback may come too late to avoid rework
  • 22. Formality and Timing • Analysis is complete. • Design is complete. • After first compilation. • After first test run. • After all test runs. • Any time you complete an activity that produce a complete work product.
  • 23. Why do peer reviews? • To improve quality. • Catches 80% of all errors if done properly. • Catches both coding errors and design errors. • Enforce the spirit of any organization standards. • Training and insurance.
  • 24. Review Guidelines.. • Review the product, not producer • Set an agenda and maintain it • Limit the debate • Enunciate problem areas, not to solve every problem noted • Take written notes • Allocate resources and time schedule for FTR’s • Use standards to avoid style disagreements. • Let the coordinator run the meeting and maintain order. • Limit the number of participants and insist upon advance preparation • Develop a checklist for each work product to be reviewed • Training for all reviewer’s • Reviewing earlier reviews Keep it short (< 30 minutes). • Don’t schedule two in a row. • Don’t review product fragments.
  • 25. Effectiveness of review  Defect Amplification and Removal Errors passed through Amplified errors 1:x Newly identified errors Percent efficiency for error detection Errors from previous steps Errors passed to next step Development step Defects Detection • Used to illustrate the generation and detection of errors during design and code generation
  • 26. Effectiveness of review  Defect Amplification and Removal No reviews With reviews
  • 27. Effectiveness of review  Defect Amplification and Removal
  • 29. Review metrics and their use • Many metrics can be defined for technical reviews • The following can be calculated for each review conducted: – Preparation effort (Ep) – Assessment effort (Ea) – Rework effort (Er) – Work product size (WPS) – Minor errors found (Errminor) – Major errors found (Errmajor)
  • 30. Analyzing review metrics • Total review effort (Ereview) – Ereview = Ep + Ea + Er • Total number of errors (Errtot) – Errtot = Errminor + Errmajor • Error density represents the errors found per unit of work product reviewed – Error density = Errtot / WPS • Cost effectiveness of reviews – Effort saved per error = Etesting – Ereviews
  • 31. Effectiveness of review  Defect Amplification and Removal No reviews With reviews
  • 32. Effectiveness of review  Defect Amplification and Removal
  • 33. Software reliability • Defined as the probability of failure free operation of a computer program in a specified environment for a specified time. • Can be measured directly and estimated using historical and developmental data (unlike many other software quality factors) • Software reliability problems can usually be traced back to errors in design or implementation. • Reliability metrics are units of measure for system reliability • System reliability is measured by counting the number of operational failures and relating these to demands made on the system at the time of failure • A long-term measurement program is required to assess the reliability of critical systems
  • 34. Measuring S/W reliability • A measure of software reliability is mean time between failures where • MTBF = MTTF + MTTR • MTTF = mean time to failure • MTTR = mean time to repair • Availability =MTTF/(MTTF + MTTR) * 100% • Software availability is the probability that a program is operating according to requirements at a given point in time
  • 36. Software reliability -- Software safety • Processes that help reduce the probability that critical failures will occur due to SW • Hazard analyses – Identify hazards that could call failure – Develop fault tree – Identify all possible causes of the hazard – Formally review the remedy for each • Redundancy • Require a written software safety plan • Require independent verification & validation
  • 37. Example Fault Tree -- Thermal Loss of heatLoss of heat Power failurePower failure Computer failureComputer failure IncorrectIncorrect inputinput SW failedSW failed to throwto throw switchswitch ...... Computer failureComputer failure SW failedSW failed to throwto throw switchswitch ...... Logic reversedLogic reversed
  • 38. Software Safety • Redundancy – Replicated at the hardware level – Similar vs.. dis-similar redundancy • Verification – Assuring that the software specifications are met • Validation – Assuring that the product functions as desired • Independence
  • 39. 23 • ISO 9000 describes QA elements in generic terms – Elements include organizational structure, procedures, processes and resources. • It treats an enterprise as a network of interconnected processes. • To be ISO-complaint processes should adhere to the standards described. • Ensures quality planning, quality control, quality assurance and quality improvement. • From S/W engineering view point: An international standard which provides broad guidance to software developers on how to Implement, maintain and improve a quality software system capable of ensuring high quality software • Consists of 20 requirements... – Differs from country to country.. ISO 9000 Quality Standards
  • 40. 25 • Management responsibility • Quality system • Contract review • Design Control • Document and data control • Purchasing • Control of customer supplied product • Product identification and traceability • Process control • Inspection and testing • Control of inspection, measuring and test equipment • Inspection and test status • Control of non-confirming product • Corrective and preventive action • Handling, storage, packaging, preservation and delivery • Control of quality records • Internal quality audits • Training • Servicing • Statistical techniques ISO 9001 … requirements
  • 41. 27 • SQA must be applied at each step • SQA might be complex • Software reviews are important SQA activities • Statistical SQA helps improve product quality and software process • Software Safety is essential for critical systems • ISO 9001 standardizes the SQA activities Summary