Download presentation
Presentation is loading. Please wait.
1
SOFTWARE QUALITY ASSURANCE
& PROCESS IMPROVEMENT LECTURE # 1 INTRODUCTION Engr. Ali Javed Lecture No. 1 16th August, 2011
2
Contact Information 2 Instructor: Engr. Ali Javed Lecturer Department of Software Engineering U.E.T Taxila Contact No: Office hours: Monday, 09: :00, Office # 7 Engr. Ali Javed
3
Course Information 3 Course Name: Software Quality Assurance & Process Improvement Course Code: SE-9003 Group Name: MS_SQAnPI Group Home Page: Group Engr. Ali Javed
4
Reference Books 4 Software Quality Engineering: Testing, Quality Assurance, and Quantifiable Improvement: JEFF TIAN, 2005. Software Testing & Continuous quality improvement 2nd Edition by William Lewis. The Art of Software Testing: Glenford Myers, 2nd Edition Software Testing and Quality Assurance, Theory and Practice: KSHIRASAGAR NAIK, PRIYADARSHI TRIPATHY, 2008. Engr. Ali Javed
5
Grading Criteria Grading - 20% - 40% - 10 % - 20 % Mid Term
5 Grading Mid Term - 20% End Term - 40% Quiz - 10 % Assignment Viva(Research work) - 20 % Engr. Ali Javed
6
Quizzes and Assignments
6 Quiz- 4 quizzes 2 before mid term 2 after mid term Assignment- 3 assignments 1 after mid term Engr. Ali Javed
7
Software Quality 7 Quality Quality Types Different views of Quality
Quality Models Cost of Quality Engr. Ali Javed
8
Quality Types Quality of Design Quality of Conformance Engr. Ali Javed
8 Quality of Design Quality of Conformance Engr. Ali Javed
9
Different Views of Quality
9 Transcendental View User View Manufacturing View Product View Value based View Engr. Ali Javed
10
Quality Models Standard quality models
10 Standard quality models McCall ISO/IEC 9126 IEEE Application or company specific quality models FURPS GQM Approach Engr. Ali Javed
11
Cost of Quality Prevention cost: Appraisal cost: Failure cost:
11 Prevention cost: Appraisal cost: Failure cost: Internal failure cost External failure cost Engr. Ali Javed
12
Quality Assurance 12 Quality Assurance
Classification Scheme for Quality Assurance Dealing with Pre- Post Release Defects Defect prevention Defect Reduction Defect Containment Engr. Ali Javed
13
Classification scheme for QA
13 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 Engr. Ali Javed
14
Software Quality Assurance
14 Software Quality Assurance SQA Team SQA Plan Software Review Formal Technical Reviews Review Guidelines Engr. Ali Javed
15
Software Quality Assurance
15 Software QA involves monitoring and improving the entire software development process, making sure that any agreed- upon standards and procedures are followed, and ensuring that problems are found and dealt with. Engr. Ali Javed
16
SQA Team Testing Manager Test Team Lead Test Analyst Tester
16 Testing Manager Test Team Lead Test Analyst Tester Independent Test Observer Engr. Ali Javed
17
SQA Plan 17 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 development with the planned levels of quality. of quality during If the levels of quality are not within the planned quality levels, management will respond appropriately as documented within the plan. Engr. Ali Javed
18
Software Reviews What is software review? Why software reviews?
18 What is software review? Why software reviews? Objectives Review Meeting Constraints Review Meeting Results Engr. Ali Javed
19
Software Configuration Management
19 Configuration Software Configuration Management Baselines Software Configuration Items SCM Process SCM Tasks Engr. Ali Javed
20
Software Configuration Management
20 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 Engr. Ali Javed
21
Baselines IEEE Std. baselines as, No. 610.12-1990 defines
21 IEEE Std. baselines as, No defines “ A specification formally reviewed and or product that has been agreed upon, that basis for further thereafter serves as the development, and that can be changed only through formal change control procedures.” Engr. Ali Javed
22
SCI 22 The items that comprises all information produced as a part of software process are collectively called a software configuration items. Engr. Ali Javed
23
SCM Tasks Identifications of objects Version Control Change Control
23 Identifications of objects Version Control Change Control Configuration Auditing Status Reporting Engr. Ali Javed
24
Software Testing 24 What is Software Testing?
Software Testing Activities Software Testing Principles Test Cases Basic Types of testing Methods of Testing Engr. Ali Javed
25
Software Testing “Testing is the process of executing a program
25 “Testing is the process of executing a program or system with the intent of finding errors.” by Myers 1979 Engr. Ali Javed
26
Software Testing Activities
26 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 Engr. Ali Javed
27
Test Case 27 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. Engr. Ali Javed
28
Methods of Testing 28 Manual Testing Automated Testing Engr. Ali Javed
29
Types of Testing Black Box Testing White Box Testing Gray Box Testing
29 Black Box Testing White Box Testing Gray Box Testing Engr. Ali Javed
30
Static Testing 30 Introduction of static testing
Static Testing Approach Static Testing Methods Inspections Walkthroughs Desk Checking Peer Ratings Engr. Ali Javed
31
Static Testing 31 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. Engr. Ali Javed
32
Static Testing Approach
32 Step 1- Cosmetic Cleaning Step 2- Use any static testing method Engr. Ali Javed
33
Static Testing Methods
33 Inspections Fagan Inspection Gilb Inspection Two Person Inspection N-Fold Inspection Meetingless Inspection Walkthroughs Desk Checking Peer Ratings Engr. Ali Javed
34
Black Box Testing 34 Black Box Testing Black Box Testing methods
Engr. Ali Javed
35
Black Box Testing Methods
35 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 Engr. Ali Javed
36
Black Box Testing Methods
36 State Transition Testing Installation Testing Security Testing Integration Testing Compatibility Testing Configuration Testing Documentation Testing Smoke Testing Usability Testing Exploratory Testing Engr. Ali Javed
37
White Box Testing 37 White Box Testing White Box Testing methods
Unit Testing Control Flow Graph Graph Matrix Engr. Ali Javed
38
White Box Testing Methods
38 Statement Coverage Segment Coverage Branch Coverage Compound Condition Coverage Basis Path Testing Data Flow Testing Loop Testing Engr. Ali Javed
39
Debugging 39 Debugging Difference between Testing & Debugging
Bug Life Cycle Reporting Bug/Defect Types Defect Report Methods of Debugging Engr. Ali Javed
40
Debugging 40 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. Engr. Ali Javed
41
Testing VS Debugging TESTING DEBUGGING
41 TESTING DEBUGGING Testing is the process of executing a program or system with the aim of findings errors or bugs. Correcting these errors or bugs (found during testing) is debugging. Engr. Ali Javed
42
Bug Lifecycle 42 Engr. Ali Javed
43
Reporting 43 Daily Weekly End of Cycle Engr. Ali Javed
44
Bug Types 44 Showstopper Critical Non-Critical (Minor) Engr. Ali Javed
45
Methods of Debugging Debugging by Brute Force Attack
45 Debugging by Brute Force Attack Debugging by Induction Debugging by Deduction Debugging by Backtracking Debugging by Testing Engr. Ali Javed
46
Quality Management 46 Quality Management Overview
Quality Assurance and Standards Quality Planning Quality Control Software Measurement and Metrics Engr. Ali Javed
47
Quality Management 47 The term Quality management has a specific meaning within many business sectors. This specific definition can be considered to have four main components: quality planning, quality control and quality assurance. Quality management is focused not only on product but also the means to achieve it. Quality management therefore uses quality assurance and control of processes as well as products to achieve more consistent quality. Engr. Ali Javed
48
Quality Management Activities
48 Quality assurance Quality planning Quality control Engr. Ali Javed
49
Software Measurements and Metrics
49 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, etc. Engr. Ali Javed
50
Process Improvement 50 Process Improvement Process and product quality
Process measurement Process analysis Process change CMMI Model Six Sigma Engr. Ali Javed
51
Process Improvement 51 “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. Engr. Ali Javed
52
Process & Product Quality
52 Development technology Product quality Process quality People quality Cost, time and schedule Engr. Ali Javed
53
Process Measurement 53 Process measurements are quantitative data about the software process Humphrey argues that measurement of process and product attributes is essential for process improvement The Most important question “You must know what to measure?” Engr. Ali Javed
54
Process Analysis Questionnaires and Interviews Ethnographic Analysis
54 Questionnaires and Interviews Ethnographic Analysis Engr. Ali Javed
55
Process Change Involves making modifications to existing processes.
55 Involves making modifications to existing processes. Engr. Ali Javed
56
CMMI 56 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 Engr. Ali Javed
57
Six Sigma 57 Six Sigma is a business management strategy originally developed by Motorola, USA in 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. Engr. Ali Javed
58
References 58 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 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Engr. Ali Javed
59
For any query Feel Free to ask
59 Engr. Ali Javed
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.