quality assurance in sdlc
DESCRIPTION
Quality Assurance in Software Development Life-cycle (SDLC)TRANSCRIPT
Quality Assurance in
Software Development Lifecycle
Adil Ahmed Mughal
Concepts, Practices, and Challenges
About This Session
• What you must already know?
– Basic concepts of Software Engineering
• What you will learn today?
– Understanding commonly used concepts
– How do we use theory in practice
– What are the challenges we faced in industry
About This Session
• What you must already know?
– Basic concepts of Software Engineering
• What you will learn today?
– Understanding commonly used concepts
– How do we use theory in practice
– What are the challenges we faced in industry
This is not a single side talk, its discussion!
Promise me that you will raise hand when you have anything to say?
About Speaker
Affiliations:
Contact Information:
@adilamughal
http://www.adilmughal.com
Adil Ahmed Mughal
Concepts & Terminologies
• What is Quality?
– Conformances to requirements
– Fitness for use
– performs these specified functions correctly over repeated use or over a long period of time
Concepts & Terminologies
• Purpose of QA
– To ensure software quality through the related set of (validation and verification) activities
Concepts & Terminologies
Quality Assurance != Testing
Concepts & Terminologies
• Software Development Lifecycle (SDLC)
Planning
Analysis
Design
Development
Testing
Maintenance
Concepts & Terminologies
• SDLC & Quality Assurance
Quality Assurance (Umbrella)
Quality Planning
Execution (Verification and Validation)
Measurement and Analysis
Planning
Analysis
Design
Development
Testing
Maintenance
Concepts & Terminologies
Quality Assurance > Testing
Concepts & Terminologies
Functional & Non-Functional Testing
Concepts & Terminologies
Functional
Integrating Testing
System Testing
Regression Testing
API Testing
GUI Validation Testing
Documentation Review
Non-Functional
Installation Interoperability
Compatibility Usability
Globalization Security
Concepts & Terminologies
Error, Fault, Failure and Defect
Concepts & Terminologies
Error
• Missing/Incorrect Human action
Fault
• Incorrect step in computer program
Failure
• Inability of a system
• Behavioral deviation
Collectively referred as Defect
Concepts & Terminologies
Verification and Validation?
Concepts & Terminologies
Verification
• Verification evaluates documents, plans, code, requirements, and specifications
• For example,
• Inconsistent Requirements
• Design Walkthroughs
• Code Inspections
Validation
• Validation evaluates the product itself.
• Involves the execution of tests designed to cover each of the specific system requirements
Concepts & Terminologies
Verification and Validation?
Verification
• Verification evaluates documents, plans, code, requirements, and specifications
• For example,
• Inconsistent Requirements
• Design Walkthroughs
• Code Inspections
Validation
• Validation evaluates the product itself.
• Involves the execution of tests designed to cover each of the specific system requirements
Practices
• So how it is done in Industry?
• Create a QA plan/test strategy Planning
• Specification Review Analysis
Design
• Develop test cases for testing (validation) Development
• Test cases execution on developed software and Integration testing Testing
• Build validation/Shipment assurance Deployment
Practices
• It could be improved like
• Create a QA plan/test strategy
• Review project plan Planning
• Specification Review Analysis
• Analyze design Design
• Develop test cases for testing (validation)
• Code Inspection/Review
• Unit Testing
Development
• Test cases execution on developed software
• Integration testing
• Test Automation (tools)
• Non-Functional Testing
Testing
• Build validation/Shipment assurance Deployment
Challenges
Focus on Functional Testing
Challenges
Relative Cost of Bug Fix
Challenges
Challenges
Quality
Time
Cost Feature
Challenges
Career Path and Opportunities
Myth: Those who are not comfortable with programming takes QA job