SlideShare a Scribd company logo
1 of 24
QA Workshop
QA and Testing Concepts
1/8
Contents
• Background of QA Workshop
• Basic Definitions
• Quality Attributes
• Software Quality Assurance (SQA) Concepts
– Definitions
– Quality Control
– SQA Applied
– SQA Life Cycle
– Software Testing
• Types and Techniques
• Pre-Requisites and Deliverables
• Questions
Definitions
• Quality - the totality of features and characteristics of a
product or service that bear on its ability to satisfy specified
or implied needs
• Quality Software - Software Quality is the existence of
characteristics of a product which can be assigned to
requirements
More Definitions
• Quality
– The degree to which a system, component, or process
meets
• specified requirements
• customer/user needs or expectations
• Quality Software
– Software quality is the fitness for use of the software
product
– Software quality is the degree to which software possesses
a desired combination of attributes
Product Characteristics (Customer Oriented )
• There is a triad of customer oriented product characteristics:
– quality
– cost
– schedule
Effect of Quality on Cost and Schedule
• Poor quality in earlier phases eventually affects cost and schedule.
• The earlier a defect occurs in the development process, if not detected, the more it will cost to repair
because of the following reasons
– Amount of work increase as the dependents/followers part also needs to be updated
– High cost of reentering any passed phase/activity as all the processes of that phase has to be
followed again)
– Late initiation and execution of Dependent tasks/activities
– Hinder the execution of plans
• Cost and schedule can be predicted and controlled by mature organizational processes:
– process maturity does translate automatically into product quality (to some extent)
• Preventive approach is always cost effective
• Cost and Schedule are the major factors in defining required Level of Quality
Quality Software - Attributes
IEEE Std. 1061 - ISO Std. 9126
Functionality
Reliability
Usability
Efficiency
Maintainability
Portability
Following are the Quality Attributes defined by different Quality Standards,
these can help in evaluating the product’s quality.
Quality Software – Defining Quality
Attributes
• For each project appropriate Quality Attributes needs to be identified and defined
as each project has its own specific requirements and environment.
• In real time there is always TRADE OFFS while defining the Quality Attributes
• Following factors needs to consider while identifying and defining Quality
Attributes
– Each type of requirement (performance, security, etc)
– Include implicit requirements also
– Type and size of project, intended users and environment
– Constraints (Cost, Schedule, etc)
– Practicality and implications
– Project’s Business goals/values
– Organizational Standards
– Organizational internal goals
An Attribute Taxonomy Template
<Attribute> Concerns the parameters by which
the attribute is judged,
specified, measured
Factors the properties of the
system that affect the
concerns
Methods the techniques used to
address the concern
An Attribute Taxonomy Template - Sample
Usability Concerns Learn ability
Efficiency
Error Handling
Satisfaction
Factors Tradeoffs
Categories of users
Methods Usability Eng. lifecycle
Software Eng. mechanisms
Software Quality Assurance (SQA)
• A planned and systematic pattern of all actions
necessary to provide adequate confidence that an
item or product conforms to established technical
requirements
• SQA is the set of systematic activities providing
evidence of the ability of the software process to
produce a software product that is fit to use
• Preventive Approach
Quality Control (QC)
• A set of activities designed to evaluate a developed work
product
• Detective Approach
• Integral Part of SQA - So all QC activities are part of SQA)
• More an Industrial Term - In Software overlapping activities
between SQA & QC
Recommendations
– Testing should not be called as QC.
– All other QC activities should be called as SQA activities.
TQM/Standardization
- emphasis on Quality that encompasses the entire company by
• Defining Quality Framework (normally done by targeting a
particular Standard like ISO, CMM)
• Providing basis for Continuous improvement by analysis of
statistical data
• Facilitating the Quality Culture in the organization
SQA Applied
• The focus of SQA is to monitor continuously throughout the Software
Development Life Cycle (SDLC) to ensure the quality of the delivered
product. This is achieved by
– Process Definition/Customization
• In process definition and customization set of processes/activities is defined and
customized as per the specific need.
– Process Assurance
• In process assurance, SQA provides feedback regarding compliance to approved
plans, procedures, standards, and analyses
– Product Assurance
• In product assurance SQA activities focus on the changing level of product quality
within each phase of the life cycle, such as the requirements, design, code, and test
plan.
SQA Applied – Process Assurance
Process Assurance can be applied by :
• Process Need Analysis at project initiation (concept phase)
• Ensuring that standards and procedures are defined and established
• Process Customization and Process Optimization. (Granularity Level is scenario
based )
• By Process monitoring, product evaluation, and audits to ensure compliance with
agreed-upon standards and procedures
• By introducing quality assurance approval points, where an SQA evaluation can be
performed in relation to the applicable standards
• Measurements for Process Improvement
SQA Applied – Product Assurance
Product Assurance can be applied by performing verification and validation
at each phase of the SDLC. V&V can be performed by
• Reviews, inspections, walkthroughs
• Testing
• Traceability
• Metrics for Measurement
• Involvement of SQA resources in activity execution of different phases (like
analysis, FS writing, etc)
Verification & Validation
• Verification - process of determining whether or not
the products of a given phase of the software
development cycle fulfill the requirements
established during the previous phase, i.e., whether
or not it is internally complete, consistent, and
correct enough to support the next phase
• Validation - Validation is the process of evaluating to
ensure compliance with software requirements
Software Testing
Software Testing is :
• Exercising a system [component] in its intended environment
– on some predetermined input data
– capturing the behavior and output data
– comparing with test oracle
– For the purpose of
• identifying inconsistencies and wrong behaviors
• validating against user needs
Testing Types
• Unit Testing – individual unit (basic component) of the application is tested to verify that the
detailed design for the unit has been successfully implemented
• Integration Testing – larger groups of tested software components corresponding to
elements of the architectural design are integrated and tested until the software works as a
whole. (testing of interfaces between integrated units)
• System Testing (Functional Testing) – focuses on testing the functional behavior of the
system and to ensure that system meets all the functional requirements
• Regression Testing – tested parts of the application are re-executed to ensure that no
anomalies appear in the system due to the changes made.
• Load/Stress Testing – is an evaluation of system under normal conditions, all the way up to
the maximum number of users supported by your configuration to evaluate system
performance and scalability.
• Usability Testing – application is executed (not necessary functional) to verify the ease of
use, ease of remembering, Efficiency of use and Effectiveness of use
Testing Techniques
• Black Box - tests the functionality
of the system by observing its
external behavior and evaluating
the outputs with requirements
without knowledge of internal
working of the system.
• White Box - tests the code
structure of the system using
criteria based on control flow,
data flow and expected flows by
having explicit knowledge of the
internal workings of item (unit,
component)
SELECTED
INPUTS
RESULTANT
OUTPUTS
INTERNAL
BEHAVIOR
DESIRED
OUTPUT
SOFTWARE
DESIGN
“BLACK BOX” TESTING
“WHITE BOX” TESTING
SELECTED
INPUTS
RESULTANT
OUTPUTS
DESIRED
OUTPUT
Testing Techniques Contd.
• Grey Box Testing – Strategy based on limited knowledge of
system internals e.g. architectural model, state model, UML
design and DB design. E.g. Individual Process State
Verification, DB Verifications, Partial Path Execution, etc.
• Why Recommended
– Scope definition based on Architecture and Design
– More Reliable
– Effective and Efficient
– Decreases dependencies
Pre-Requisites for Testing
• Involvement in all brain storming discussions (requirement gathering, domain meetings, con calls, etc)
• Reviewed and Verified Baseline document
• Domain Expertise by having understanding of
– Business processes and business rules
– Business processes flows and their dependencies
– System actors, stakeholders and end users
– System boundaries, interactions with other systems.
• High level understanding of application architecture and design plus high comfort with DB design.
• Knowledge of development tools and technologies.
• Knowledge regarding testing of different types of applications (web, client/server, etc).
• Adherence to SQA Processes
• Well aware of Quality Attributes of the Project
• Overall Project Scope, Vision, Business objective
Testing Deliverables
• Test Plan
• Test Specifications
• Tested Application
• User Manuals
• Application Installers
• Read Me/Installation Instructions
• Test Data (Script Files, DB Dumps)
• Automation Scripts
• Status Reports
• Open Bug Reports.
• Release Notes
*The mentioned deliverables include both internal and external deliverables. The deliverables may vary project to project.
Discussion/Questions
Questions

More Related Content

What's hot

What is software quality management
What is software quality managementWhat is software quality management
What is software quality management
selinasimpson321
 
Software quality assurance lecture 1
Software quality assurance lecture 1Software quality assurance lecture 1
Software quality assurance lecture 1
Abdul Basit
 

What's hot (20)

Quality management in software engineering
Quality management in software engineeringQuality management in software engineering
Quality management in software engineering
 
Unit 8
Unit 8Unit 8
Unit 8
 
Sqa 2 marks
Sqa 2 marksSqa 2 marks
Sqa 2 marks
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
What is software quality management
What is software quality managementWhat is software quality management
What is software quality management
 
Qa
QaQa
Qa
 
Software maintenance and configuration management, software engineering
Software maintenance and  configuration management, software engineeringSoftware maintenance and  configuration management, software engineering
Software maintenance and configuration management, software engineering
 
Testing throughout the software life cycle - Testing & Implementation
Testing throughout the software life cycle - Testing & ImplementationTesting throughout the software life cycle - Testing & Implementation
Testing throughout the software life cycle - Testing & Implementation
 
Un it 2-se-mod-staff
Un it 2-se-mod-staffUn it 2-se-mod-staff
Un it 2-se-mod-staff
 
Learn software testing
Learn software testingLearn software testing
Learn software testing
 
Managing software project, software engineering
Managing software project, software engineeringManaging software project, software engineering
Managing software project, software engineering
 
Lecture 05 Software Quality Management
Lecture 05 Software Quality ManagementLecture 05 Software Quality Management
Lecture 05 Software Quality Management
 
sdlc.pptx
sdlc.pptxsdlc.pptx
sdlc.pptx
 
Qa
QaQa
Qa
 
Quality assurance and management, software engineering
Quality assurance and management, software engineeringQuality assurance and management, software engineering
Quality assurance and management, software engineering
 
Software Engineering (Testing Overview)
Software Engineering (Testing Overview)Software Engineering (Testing Overview)
Software Engineering (Testing Overview)
 
software Quality management presentation
software Quality management presentationsoftware Quality management presentation
software Quality management presentation
 
Software Testing - SDLC Model
Software Testing - SDLC ModelSoftware Testing - SDLC Model
Software Testing - SDLC Model
 
Software quality assurance lecture 1
Software quality assurance lecture 1Software quality assurance lecture 1
Software quality assurance lecture 1
 
Ch1 preliminaries
Ch1 preliminariesCh1 preliminaries
Ch1 preliminaries
 

Similar to 1 sqa and testing concepts

Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1
Raghu Kiran
 
SWT2_tim.pptx
SWT2_tim.pptxSWT2_tim.pptx
SWT2_tim.pptx
BnhT27
 
Software Project Management lecture 10
Software Project Management lecture 10Software Project Management lecture 10
Software Project Management lecture 10
Syed Muhammad Hammad
 

Similar to 1 sqa and testing concepts (20)

Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1
 
Testing strategy for agile projects updated
Testing strategy for agile projects updatedTesting strategy for agile projects updated
Testing strategy for agile projects updated
 
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
 
Unit 8 software quality and matrices
Unit 8 software quality and matricesUnit 8 software quality and matrices
Unit 8 software quality and matrices
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
ppt autospice.pdf
ppt autospice.pdfppt autospice.pdf
ppt autospice.pdf
 
Introduction to ASPICE
Introduction to ASPICEIntroduction to ASPICE
Introduction to ASPICE
 
STQA 1.pptx
STQA 1.pptxSTQA 1.pptx
STQA 1.pptx
 
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
 
Software Quality Assurance - Software Engineering
Software Quality Assurance - Software EngineeringSoftware Quality Assurance - Software Engineering
Software Quality Assurance - Software 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 Lecture 01 (Introduction) - Testing and SQA
SQA Lecture 01 (Introduction) - Testing and SQASQA Lecture 01 (Introduction) - Testing and SQA
SQA Lecture 01 (Introduction) - Testing and SQA
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
SWT2_tim.pptx
SWT2_tim.pptxSWT2_tim.pptx
SWT2_tim.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
 
05_SQA_Overview.ppt
05_SQA_Overview.ppt05_SQA_Overview.ppt
05_SQA_Overview.ppt
 
Software Project Management lecture 10
Software Project Management lecture 10Software Project Management lecture 10
Software Project Management lecture 10
 

Recently uploaded

一比一原版(UofM毕业证书)明尼苏达大学毕业证如何办理
一比一原版(UofM毕业证书)明尼苏达大学毕业证如何办理一比一原版(UofM毕业证书)明尼苏达大学毕业证如何办理
一比一原版(UofM毕业证书)明尼苏达大学毕业证如何办理
nuovo1
 
一比一原版(UC Berkeley毕业证书)加利福尼亚大学伯克利分校毕业证如何办理
一比一原版(UC Berkeley毕业证书)加利福尼亚大学伯克利分校毕业证如何办理一比一原版(UC Berkeley毕业证书)加利福尼亚大学伯克利分校毕业证如何办理
一比一原版(UC Berkeley毕业证书)加利福尼亚大学伯克利分校毕业证如何办理
nuovo1
 

Recently uploaded (20)

Vip Call Girl In Palm Jumeirah 💦+0545260616🥵 Dubai By Dubai Call Girl...
Vip  Call  Girl In  Palm  Jumeirah 💦+0545260616🥵  Dubai By  Dubai  Call  Girl...Vip  Call  Girl In  Palm  Jumeirah 💦+0545260616🥵  Dubai By  Dubai  Call  Girl...
Vip Call Girl In Palm Jumeirah 💦+0545260616🥵 Dubai By Dubai Call Girl...
 
一比一原版(UofM毕业证书)明尼苏达大学毕业证如何办理
一比一原版(UofM毕业证书)明尼苏达大学毕业证如何办理一比一原版(UofM毕业证书)明尼苏达大学毕业证如何办理
一比一原版(UofM毕业证书)明尼苏达大学毕业证如何办理
 
Dubai 💦+0545260616💦 Call Girls service in Dubai
Dubai 💦+0545260616💦  Call  Girls  service in  DubaiDubai 💦+0545260616💦  Call  Girls  service in  Dubai
Dubai 💦+0545260616💦 Call Girls service in Dubai
 
VIP/Call/Girls Nandi Hills 6378878445 Hours Service Available Day and Night
VIP/Call/Girls Nandi Hills 6378878445 Hours Service Available Day and NightVIP/Call/Girls Nandi Hills 6378878445 Hours Service Available Day and Night
VIP/Call/Girls Nandi Hills 6378878445 Hours Service Available Day and Night
 
Low Rate Call Girls Lakhisarai ➡️ 6297126446 HOT & SEXY Models beautiful and ...
Low Rate Call Girls Lakhisarai ➡️ 6297126446 HOT & SEXY Models beautiful and ...Low Rate Call Girls Lakhisarai ➡️ 6297126446 HOT & SEXY Models beautiful and ...
Low Rate Call Girls Lakhisarai ➡️ 6297126446 HOT & SEXY Models beautiful and ...
 
一比一原版(UC Berkeley毕业证书)加利福尼亚大学伯克利分校毕业证如何办理
一比一原版(UC Berkeley毕业证书)加利福尼亚大学伯克利分校毕业证如何办理一比一原版(UC Berkeley毕业证书)加利福尼亚大学伯克利分校毕业证如何办理
一比一原版(UC Berkeley毕业证书)加利福尼亚大学伯克利分校毕业证如何办理
 
Hook Up Call Girls Tezpur 📲🔝 6297126446 🔝Call Girls Advance Cash On Delivery ...
Hook Up Call Girls Tezpur 📲🔝 6297126446 🔝Call Girls Advance Cash On Delivery ...Hook Up Call Girls Tezpur 📲🔝 6297126446 🔝Call Girls Advance Cash On Delivery ...
Hook Up Call Girls Tezpur 📲🔝 6297126446 🔝Call Girls Advance Cash On Delivery ...
 
Premium Call Girls In Vaishi ☎ 6297126446 ✅ ust Genuine Escort Model Sevice
Premium Call Girls In Vaishi ☎ 6297126446 ✅ ust Genuine Escort Model SevicePremium Call Girls In Vaishi ☎ 6297126446 ✅ ust Genuine Escort Model Sevice
Premium Call Girls In Vaishi ☎ 6297126446 ✅ ust Genuine Escort Model Sevice
 
Codes and conventions of film magazines.pptx
Codes and conventions of film magazines.pptxCodes and conventions of film magazines.pptx
Codes and conventions of film magazines.pptx
 
Premium Call Girls In Munger { 6297126446 } ❤️VVIP NISHA Call Girls Near 5 St...
Premium Call Girls In Munger { 6297126446 } ❤️VVIP NISHA Call Girls Near 5 St...Premium Call Girls In Munger { 6297126446 } ❤️VVIP NISHA Call Girls Near 5 St...
Premium Call Girls In Munger { 6297126446 } ❤️VVIP NISHA Call Girls Near 5 St...
 
WHO KILLED ALASKA? #18: Mirror Memoria - "TATTOO" TRANSCRIPT.pdf
WHO KILLED ALASKA? #18: Mirror Memoria - "TATTOO" TRANSCRIPT.pdfWHO KILLED ALASKA? #18: Mirror Memoria - "TATTOO" TRANSCRIPT.pdf
WHO KILLED ALASKA? #18: Mirror Memoria - "TATTOO" TRANSCRIPT.pdf
 
Low Rate Call Girls Purnea 📲🔝 6297126446 🔝Call Girls Advance Cash On Delivery...
Low Rate Call Girls Purnea 📲🔝 6297126446 🔝Call Girls Advance Cash On Delivery...Low Rate Call Girls Purnea 📲🔝 6297126446 🔝Call Girls Advance Cash On Delivery...
Low Rate Call Girls Purnea 📲🔝 6297126446 🔝Call Girls Advance Cash On Delivery...
 
High Profile Call Girls in Dubai 💦+0521445865 🥵 Dubai Call Girls
High  Profile  Call  Girls in  Dubai 💦+0521445865 🥵 Dubai  Call  GirlsHigh  Profile  Call  Girls in  Dubai 💦+0521445865 🥵 Dubai  Call  Girls
High Profile Call Girls in Dubai 💦+0521445865 🥵 Dubai Call Girls
 
NO1 Top Amil Baba In Sahiwal, Okara, Hafizabad, Mandi Bahauddin, Jhelum, Jar...
NO1 Top Amil Baba In Sahiwal, Okara, Hafizabad,  Mandi Bahauddin, Jhelum, Jar...NO1 Top Amil Baba In Sahiwal, Okara, Hafizabad,  Mandi Bahauddin, Jhelum, Jar...
NO1 Top Amil Baba In Sahiwal, Okara, Hafizabad, Mandi Bahauddin, Jhelum, Jar...
 
Black Call Girls in Ajman 💦+0522618040 💋 Ajman Call Girls
Black  Call  Girls in  Ajman 💦+0522618040 💋 Ajman Call  GirlsBlack  Call  Girls in  Ajman 💦+0522618040 💋 Ajman Call  Girls
Black Call Girls in Ajman 💦+0522618040 💋 Ajman Call Girls
 
Top Call Girls in Sasaram { 6297126446 } ❤️VVIP NISHA Call Girls Near 5 Star ...
Top Call Girls in Sasaram { 6297126446 } ❤️VVIP NISHA Call Girls Near 5 Star ...Top Call Girls in Sasaram { 6297126446 } ❤️VVIP NISHA Call Girls Near 5 Star ...
Top Call Girls in Sasaram { 6297126446 } ❤️VVIP NISHA Call Girls Near 5 Star ...
 
Local Call Girls in Diphu { 6297126446 } ❤️VVIP NISHA Call Girls Near 5 Star ...
Local Call Girls in Diphu { 6297126446 } ❤️VVIP NISHA Call Girls Near 5 Star ...Local Call Girls in Diphu { 6297126446 } ❤️VVIP NISHA Call Girls Near 5 Star ...
Local Call Girls in Diphu { 6297126446 } ❤️VVIP NISHA Call Girls Near 5 Star ...
 
Kerala ℂall Girls In Bhubaneswar Hire me Neha 6367492432 Top Class ℂall Girl ...
Kerala ℂall Girls In Bhubaneswar Hire me Neha 6367492432 Top Class ℂall Girl ...Kerala ℂall Girls In Bhubaneswar Hire me Neha 6367492432 Top Class ℂall Girl ...
Kerala ℂall Girls In Bhubaneswar Hire me Neha 6367492432 Top Class ℂall Girl ...
 
Business Bay 💦+0545260616 💋 WhatsApp💦 Number Call Girls service in Dubai
Business  Bay 💦+0545260616 💋 WhatsApp💦  Number  Call  Girls  service in  DubaiBusiness  Bay 💦+0545260616 💋 WhatsApp💦  Number  Call  Girls  service in  Dubai
Business Bay 💦+0545260616 💋 WhatsApp💦 Number Call Girls service in Dubai
 
💚 Call Girls Udalguri ☎ 6297126446 ✅ ust Genuine Escort Model Sevice
💚 Call Girls Udalguri ☎ 6297126446 ✅ ust Genuine Escort Model Sevice💚 Call Girls Udalguri ☎ 6297126446 ✅ ust Genuine Escort Model Sevice
💚 Call Girls Udalguri ☎ 6297126446 ✅ ust Genuine Escort Model Sevice
 

1 sqa and testing concepts

  • 1. QA Workshop QA and Testing Concepts 1/8
  • 2. Contents • Background of QA Workshop • Basic Definitions • Quality Attributes • Software Quality Assurance (SQA) Concepts – Definitions – Quality Control – SQA Applied – SQA Life Cycle – Software Testing • Types and Techniques • Pre-Requisites and Deliverables • Questions
  • 3. Definitions • Quality - the totality of features and characteristics of a product or service that bear on its ability to satisfy specified or implied needs • Quality Software - Software Quality is the existence of characteristics of a product which can be assigned to requirements
  • 4. More Definitions • Quality – The degree to which a system, component, or process meets • specified requirements • customer/user needs or expectations • Quality Software – Software quality is the fitness for use of the software product – Software quality is the degree to which software possesses a desired combination of attributes
  • 5. Product Characteristics (Customer Oriented ) • There is a triad of customer oriented product characteristics: – quality – cost – schedule
  • 6. Effect of Quality on Cost and Schedule • Poor quality in earlier phases eventually affects cost and schedule. • The earlier a defect occurs in the development process, if not detected, the more it will cost to repair because of the following reasons – Amount of work increase as the dependents/followers part also needs to be updated – High cost of reentering any passed phase/activity as all the processes of that phase has to be followed again) – Late initiation and execution of Dependent tasks/activities – Hinder the execution of plans • Cost and schedule can be predicted and controlled by mature organizational processes: – process maturity does translate automatically into product quality (to some extent) • Preventive approach is always cost effective • Cost and Schedule are the major factors in defining required Level of Quality
  • 7. Quality Software - Attributes IEEE Std. 1061 - ISO Std. 9126 Functionality Reliability Usability Efficiency Maintainability Portability Following are the Quality Attributes defined by different Quality Standards, these can help in evaluating the product’s quality.
  • 8. Quality Software – Defining Quality Attributes • For each project appropriate Quality Attributes needs to be identified and defined as each project has its own specific requirements and environment. • In real time there is always TRADE OFFS while defining the Quality Attributes • Following factors needs to consider while identifying and defining Quality Attributes – Each type of requirement (performance, security, etc) – Include implicit requirements also – Type and size of project, intended users and environment – Constraints (Cost, Schedule, etc) – Practicality and implications – Project’s Business goals/values – Organizational Standards – Organizational internal goals
  • 9. An Attribute Taxonomy Template <Attribute> Concerns the parameters by which the attribute is judged, specified, measured Factors the properties of the system that affect the concerns Methods the techniques used to address the concern
  • 10. An Attribute Taxonomy Template - Sample Usability Concerns Learn ability Efficiency Error Handling Satisfaction Factors Tradeoffs Categories of users Methods Usability Eng. lifecycle Software Eng. mechanisms
  • 11. Software Quality Assurance (SQA) • A planned and systematic pattern of all actions necessary to provide adequate confidence that an item or product conforms to established technical requirements • SQA is the set of systematic activities providing evidence of the ability of the software process to produce a software product that is fit to use • Preventive Approach
  • 12. Quality Control (QC) • A set of activities designed to evaluate a developed work product • Detective Approach • Integral Part of SQA - So all QC activities are part of SQA) • More an Industrial Term - In Software overlapping activities between SQA & QC Recommendations – Testing should not be called as QC. – All other QC activities should be called as SQA activities.
  • 13. TQM/Standardization - emphasis on Quality that encompasses the entire company by • Defining Quality Framework (normally done by targeting a particular Standard like ISO, CMM) • Providing basis for Continuous improvement by analysis of statistical data • Facilitating the Quality Culture in the organization
  • 14. SQA Applied • The focus of SQA is to monitor continuously throughout the Software Development Life Cycle (SDLC) to ensure the quality of the delivered product. This is achieved by – Process Definition/Customization • In process definition and customization set of processes/activities is defined and customized as per the specific need. – Process Assurance • In process assurance, SQA provides feedback regarding compliance to approved plans, procedures, standards, and analyses – Product Assurance • In product assurance SQA activities focus on the changing level of product quality within each phase of the life cycle, such as the requirements, design, code, and test plan.
  • 15. SQA Applied – Process Assurance Process Assurance can be applied by : • Process Need Analysis at project initiation (concept phase) • Ensuring that standards and procedures are defined and established • Process Customization and Process Optimization. (Granularity Level is scenario based ) • By Process monitoring, product evaluation, and audits to ensure compliance with agreed-upon standards and procedures • By introducing quality assurance approval points, where an SQA evaluation can be performed in relation to the applicable standards • Measurements for Process Improvement
  • 16. SQA Applied – Product Assurance Product Assurance can be applied by performing verification and validation at each phase of the SDLC. V&V can be performed by • Reviews, inspections, walkthroughs • Testing • Traceability • Metrics for Measurement • Involvement of SQA resources in activity execution of different phases (like analysis, FS writing, etc)
  • 17. Verification & Validation • Verification - process of determining whether or not the products of a given phase of the software development cycle fulfill the requirements established during the previous phase, i.e., whether or not it is internally complete, consistent, and correct enough to support the next phase • Validation - Validation is the process of evaluating to ensure compliance with software requirements
  • 18. Software Testing Software Testing is : • Exercising a system [component] in its intended environment – on some predetermined input data – capturing the behavior and output data – comparing with test oracle – For the purpose of • identifying inconsistencies and wrong behaviors • validating against user needs
  • 19. Testing Types • Unit Testing – individual unit (basic component) of the application is tested to verify that the detailed design for the unit has been successfully implemented • Integration Testing – larger groups of tested software components corresponding to elements of the architectural design are integrated and tested until the software works as a whole. (testing of interfaces between integrated units) • System Testing (Functional Testing) – focuses on testing the functional behavior of the system and to ensure that system meets all the functional requirements • Regression Testing – tested parts of the application are re-executed to ensure that no anomalies appear in the system due to the changes made. • Load/Stress Testing – is an evaluation of system under normal conditions, all the way up to the maximum number of users supported by your configuration to evaluate system performance and scalability. • Usability Testing – application is executed (not necessary functional) to verify the ease of use, ease of remembering, Efficiency of use and Effectiveness of use
  • 20. Testing Techniques • Black Box - tests the functionality of the system by observing its external behavior and evaluating the outputs with requirements without knowledge of internal working of the system. • White Box - tests the code structure of the system using criteria based on control flow, data flow and expected flows by having explicit knowledge of the internal workings of item (unit, component) SELECTED INPUTS RESULTANT OUTPUTS INTERNAL BEHAVIOR DESIRED OUTPUT SOFTWARE DESIGN “BLACK BOX” TESTING “WHITE BOX” TESTING SELECTED INPUTS RESULTANT OUTPUTS DESIRED OUTPUT
  • 21. Testing Techniques Contd. • Grey Box Testing – Strategy based on limited knowledge of system internals e.g. architectural model, state model, UML design and DB design. E.g. Individual Process State Verification, DB Verifications, Partial Path Execution, etc. • Why Recommended – Scope definition based on Architecture and Design – More Reliable – Effective and Efficient – Decreases dependencies
  • 22. Pre-Requisites for Testing • Involvement in all brain storming discussions (requirement gathering, domain meetings, con calls, etc) • Reviewed and Verified Baseline document • Domain Expertise by having understanding of – Business processes and business rules – Business processes flows and their dependencies – System actors, stakeholders and end users – System boundaries, interactions with other systems. • High level understanding of application architecture and design plus high comfort with DB design. • Knowledge of development tools and technologies. • Knowledge regarding testing of different types of applications (web, client/server, etc). • Adherence to SQA Processes • Well aware of Quality Attributes of the Project • Overall Project Scope, Vision, Business objective
  • 23. Testing Deliverables • Test Plan • Test Specifications • Tested Application • User Manuals • Application Installers • Read Me/Installation Instructions • Test Data (Script Files, DB Dumps) • Automation Scripts • Status Reports • Open Bug Reports. • Release Notes *The mentioned deliverables include both internal and external deliverables. The deliverables may vary project to project.