1-SOFTWARE QUALITY ENGINEERING-Video.pptx

akkhanyar 0 views 60 slides Oct 08, 2025
Slide 1
Slide 1 of 60
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58
Slide 59
59
Slide 60
60

About This Presentation

Software Quality engineering
Quality assurance
Quality approaches


Slide Content

LECTURE # 1 INTRODUCTION Mr. IRFAN KHAN SOFTWARE QUALITY ENGINEERING 1

Instructor Information 2 Course Instructor: Mr. IRFAN KHAN Lecturer Department of Computer Science Iqra National University, Peshawar Email: [email protected] Contact No : 0334-9147615 Office hours: Monday-Friday 09:00 - 04:00

Course Information 3 Introduction The purpose of the course is to introduce fundamental notions/concept of software quality and the techniques used to build and check quality in software systems. A particular emphasis is placed on quantitative assessment of software quality and quality control using software testing techniques. Learning Outcomes By the end of this course, students should have a good grasp of software quality, Software Quality Assurance, Configuration management, Static Testing techniques, White box testing and Black box testing techniques, Software metrics and models, Debugging, Quality Management, Process Improvement and Cleanroom Software Engineering.

Books and Resources Software Quality Engineering, 6 th Edition by Jeff Tian Software Engineering, A practitioner’s approach , 8 th Edition by Roger S. Pressman

Reference Books 5 Recommended Text Books Software Quality Engineering by Jeff Tian , ISBN# 0471713457 Reference Books Software Testing & Continuous quality improvement (2nd Edition) by William Lewis ISBN# 1420080733 The Art of Software Testing (2nd Edition) Glenford Myers ISBN# 0471043281 Software Testing and Quality Assurance, Theory and Practice: 2008, Kshirasagar Naik , Priyadarshi Tripathy ISBN# 0471789119

Links and Reference Material 6 http://www.onestoptesting.com/ http://www.qastreet.com/ http://www.computer.org http://www.springer.com http://portal.acm.org

Grading Criteria 7 Grading Mid Terms - 30% Final Term - 50% Quiz - 5% Assignment - 10 % Semester Project - 5 % Attendance 75%

Software Quality 8 Quality Quality Engineering Quality Types Quality Control vs Quality Assurance Different views of Quality Quality Models Cost of Quality

What is quality? 9 Quality, simplistically , means that a product should meet its specification. This is problematical for software systems There is a tension between customer quality requirements (efficiency, reliability, etc.) and developer quality requirements (maintainability, reusability, etc.); Some quality requirements are difficult to specify in an unambiguous way; Software specifications are usually incomplete and often inconsistent.

Quality Engineering 10 Software quality  assurance (SQA) consists of a  means  of monitoring the  software engineering  processes and methods used to ensure quality .

DEFINING QUALITY 11 Perfection Consistency Eliminating or Removing waste Speed of delivery Compliance with policies & procedures Providing good, usable products Doing it right the first time Delighting or pleasing customers Total customer service & satisfaction

Quality Types 12 Functional Quality  — a measure of  what  the software does vs. what it’s supposed to do Non-Functional Quality  –   a measure of  how well  it does it vs. how well it’s supposed to do it Latent Quality  — a measure of  how well it will continue to do it  in the future

Quality Types 13 Process quality: Software processes implement best practices of software engineering in an organizational context. Process quality expresses the degree to which defined processes were followed and completed. Product quality: Software products are the output of software processes. Product quality is determined by the degree to which the developed software meets the defined requirements. Quality in use: Quality in use addresses the degree to which a product is fit for purpose when exposed to a particular context of use.

Different Views of Quality 14 Transcendental View User View Manufacturing View Product View Value based View

Quality Models 15 Standard quality models McCall ISO/IEC 9126 IEEE Application or company specific quality models FURPS GQM Approach

Cost of Quality 16 Prevention cost: Appraisal cost: Failure cost: Internal failure cost External failure cost

Quality Assurance 17 Quality Assurance Dealing with Pre- Post Release Defects Classification Scheme for Quality Assurance Defect prevention Defect Reduction Defect Containment/Control

Software Quality Assurance 18 “All planned & systematic activities implemented within quality system, & demonstrated as needed, to provide adequate/suitable confidence that an entity will fulfill requirements for quality”.

Classification scheme for QA 19 Defect Prevention Education and training Process conformance and standards enforcement Tools/technologies and techniques Defect Reduction (Defect Detection and Removal) Static Testing Dynamic Testing Defect Containment Software Fault Tolerance Fault Containment

Software Quality Assurance 20 SQA Team SQA Plan Software Review Formal Technical Reviews Review Guidelines

SQA Team 21 Testing Manager Test Team Lead Test Analyst Tester Independent Test Observer

SQA Plan 22 The software quality assurance plan is an outline of quality measures to ensure quality levels within a software development effort. The plan is used to compare the actual levels of quality during development with the planned levels of quality. If the levels of quality are not within the planned quality levels, management will respond appropriately as documented within the plan.

Software Reviews 23 What is software review? Why software reviews? Objectives Review Meeting Constraints Review Meeting Results   Software Review  is systematic inspection of a software by one or more individuals who work together to find and resolve errors and defects in the software during the early stages of Software Development Life Cycle (SDLC).

Software Configuration Management 24 Configuration Software Configuration Management Baselines Software Configuration Items SCM Process SCM Tasks

Software Configuration Management 25 Software Configuration Management is the art of identifying, organizing and controlling modifications to the software being built by a programming team. It maximizes productivity by minimizing mistakes

Baselines 26 IEEE Std. No. 610.12-1990 defines baselines as, “ A specification or product that has been formally reviewed and agreed upon, that thereafter serves as the basis for further development, and that can be changed only through formal change control procedures.”

Baseline 27

Software Configuration Items 5/15/2025 28 The items that comprises all information produced as a part of software process are collectively called a software configuration items.

SCM Tasks 5/15/2025 29 Identifications of objects Version Control Change Control Configuration Auditing Status Reporting

Software Testing 5/15/2025 30 What is Software Testing? Software Testing Activities Software Testing Principles Test Cases Basic Types of testing Methods of Testing

Software Testing “Testing is the process of executing a program or system with the intent of finding errors.” by Myers 1979 5/15/2025 31

Structure and Functional Testing 5/15/2025 Dr. Muhammad Wasif Nisar 32

Test Case 33 A test case in software engineering is a set of conditions or variables under which a tester will determine whether an application or software system meets specifications.

Software Testing Activities 34 Test Planning Test Case Design and Specification Test Set up Test Execution Test Result Analysis and Reporting Problem/Bug Reporting Test Management and Measurement Test Automation

Methods of Testing 35 Manual Testing Automated Testing

Types of Testing 36 Black Box Testing White Box Testing Gray Box Testing

Static Testing 37 Introduction of static testing Static Testing Approach Static Testing Methods Inspections Walkthroughs Desk Checking Peer Ratings

Static Testing 38 In software development, static testing, also called dry run testing , is a form of software testing where the authors manually read their documents/code to find any errors . In which software is tested without executing the code. Requirement document, design document and code is tested.

Static Testing Methods 39 Inspections It is a step-by-step peer group review of a work product, with each step checked against predetermined criteria. Fagan Inspection Gilb Inspection Two Person Inspection N-Fold Inspection Meeting less Inspection Walkthroughs It is a review where the author leads the team through a manual or simulated execution of the product using predetermined scenario. Pair programming Desk Checking Peer Ratings

Black Box Testing Methods 40 Equivalence Class Partitioning Testing Boundary Value Testing Omission Testing Null Case Testing Volume Testing Load Testing Stress Testing Performance Testing Resource Testing Requirements/Specification Testing Button Press Testing

Black Box Testing Methods 41 State Transition Testing Installation Testing Security Testing Integration Testing Compatibility Testing Configuration Testing Documentation Testing Smoke Testing Sanity Testing Usability Testing Exploratory Testing

White Box Testing Methods 42 Statement Coverage Segment Coverage Branch Coverage Compound Condition Coverage Basis Path Testing Data Flow Testing Loop Testing

Debugging 43 Debugging Bug Life Cycle Reporting Bug/Defect Types Defect Report Methods of Debugging

Debugging 44 Debugging is the activity which is performed after executing a successful test case. Debugging consists of determining the exact nature and location of the suspected error and fixing the error.

Bug Lifecycle 45

Reporting 46 Daily Weekly End of Cycle

Bug Types 5/15/2025 47 Showstopper Critical Non-Critical (Minor)

Methods of Debugging 5/15/2025 48 Debugging by Brute Force Attack Debugging by Induction Debugging by Deduction Debugging by Backtracking Debugging by Testing

Quality Management 5/15/2025 49 Quality Management Overview Quality Assurance Quality Planning Quality Control Software Measurement and Metrics

Quality Management 5/15/2025 50 The term Quality management has a specific meaning within many business sectors. This specific definition can be considered to have the following main components: quality assurance quality planning quality control

Software Metrics 5/15/2025 51 A software metric is a quantitative measure of degree to which a system, component or process possesses a given attribute. Lines of code in a program, number of person-days required to develop a component, KLOC/defects etc.

Process Improvement 5/15/2025 52 Process Improvement Process and product quality Process analysis Process change CMMI Model Six Sigma

Process Improvement 5/15/2025 53 “Process improvement” means making things better or more formally Understanding existing processes and introducing process changes to improve product quality, reduce costs or accelerate schedules.

Process & Product Quality 5/15/2025 54

Process Analysis 5/15/2025 55 Questionnaires and Interviews Ethnographic Analysis

Process Change 56 Involves making modifications to existing processes.

CMMI [9] 5/15/2025 57 CMMI is a process improvement approach that provides organizations with the essential elements of effective processes that ultimately improve their performance. The CMMI model has 5 levels: Initial Managed Defined Quantitatively Managed Optimizing

Six Sigma [8] 5/15/2025 58 Six Sigma is a business management strategy originally developed by Motorola, USA in 1986. As of 2010, it is widely used in many sectors of industry. Six Sigma seeks to improve the quality of process outputs by identifying and removing the causes of defects (errors) and minimizing variability in manufacturing and business processes.

Cleanroom Software Engineering[10] 5/15/2025 59 Cleanroom Software Engineering Cleanroom Functions Cleanroom Strategy

References 5/15/2025 60 Software Quality Engineering: Testing, Quality Assurance, and Quantifiable Improvement: JEFF TIAN, 2005. The Art of Software Testing by Glenford Myers Software Engineering by Ian Sommerville Software Engineering by Roger Pressman WhiteBox and BlackBox Testing methods used in LMKR Software house http://www.mosaicinc.com/mosaicinc/rmThisMonth.asp http://en.wikipedia.org/wiki/Quality_management http://en.wikipedia.org/wiki/Six_sigma http://en.wikipedia.org/wiki/CMMI http://en.wikipedia.org/wiki/Cleanroom_software_engineering