CS611 : Software Quality Engineering

Course Overview

Course Synopsis

The course provides the knowledge about the engineering principles to ensure the quality of software being developed. This course encompasses the broad concepts of software quality and the principle and techniques used to exercise the quality.

Course Learning Outcomes

Understanding of following concepts

  • Cost of Software Quality
  • Engineering Process Areas
  • Project Management Process Area
  • Quality Assurance and Defect
  • Software Quality Assurance
  • Software Quality Engineering Discipline


Course Calendar

1 Quality Engineering Basics
2 Roles and Responsibilities
3 Producer Role
4 Off-the-Shelf Products
5 Functionality
6 Reliability
7 Usability
8 Efficiency
9 Maintainability
10 Portability
11 What is Error
12 Example of Error
Assignment No. 1
13 What is Defect
14 Example of Defect

15 What is Bug
16 Example of Bug
17 What is fault
18 Example of Fault
19 What is Failure
20 Example of Failure
21 Defect Prevention
22 Defect Detection or Reduction
23 Defect Removal or Containment
24 Economics of Software Quality Engineering
25 Function-Quality-Cost(FQC)
26 Quality vs pre-defined budget

27 What are missing requirements
28 Example of missing requirements
29 Cost of missing Requirements
30 Cost-Analysis based Approach
31 Direct Cost of missing Quality requirements
32 Indirect Cost of Missing Quality Requirements
33 Impact-Analysis Approach
34 Example of Impact Analysis Approach
35 Risk-Analysis Approach
36 Level of Risks
37 Rationale for Quality Management System
38 Quality Leverage Points
39 Why Process is needed
40 Process Benchmarking
Quiz No. 1

41 Organizations vs Processes
42 Mature vs Immature Organization
43 Process Model: Overview of CMMI
44 Behaviors of Different Levels of CMMI
45 CMMI – Maturity Level 1
46 Example of Maturity CMMI – I
47 CMMI – Maturity 2
48 Example of Maturity CMMI Level 2
49 CMMI – Maturity 3
50 Example of Maturity CMMI Level 3
51 CMMI – Maturity 4
52 Example of Maturity CMMI Level 4
53 CMMI – Maturity 5
GDB
54 Example of Maturity CMMI Level 5
55 Capability Level
56 Components of CMMI Process Model
57 Process Areas, Goals and Practices

58 Process Improvement Framework
59 Different Process Areas (PA) and Goals
60 Process Action Teams (PAT)
61 Task List of PAT
62 PA: Requirement Management
63 Action Items for Requirement Management
64 Example of Requirement Management
65 PA: Requirement Development
66 Example of Requirement
67 PA: Technical Solution
68 PA: Example of Technical Solution
69 PA: Product Integration
70 PA: Example of Product Integration
71 PA: Software Validation
72 PA: Example of Software Validation
73 PA: Software Verification
74 PA: Example of Software Verification
75 Engineering Process Group (EPG)

76 What are Audits
77 Rationale for Audits
78 Audit Process
79 Audit Types
80 Audit Roles and Responsibilities
81 CMMI Appraisals
82 Process Reviews
83 Review Policy
84 Bench Marking of Process Reviews
85 Need for Project Management Framework
86 Project Management Framework
87 Component of Project Management Framework
88 Artifacts of Project Management Framework
Quiz No. 2
Mid Exam

89 Project Planning
90 Example of Project Planning
91 Example-I: Project Plan
92 Example-II: Project Plan
93 Example-III of Project Plan
94 Project Tracking and Control
95 Example of Project Tracking and Control
96 Audit of Each Phase of PM Process Area
97 Earned Value Management (EVM)
98 CPI and SPI
99 Example:-I of CPI and SPI
100 Example:-II of CPI and SPI
101 Cavendish Software Chaos Report
102 Motivation for Software Requirements
103 Why Focus on Requirements
104 Effort-wise distribution of SDLC
105 Requirements Defined

106 Software Requirement vs Requirements
107 Correct
108 Example of Correctness
109 Coherent
110 Example of Coherent
111 Complete
112 Example of Completeness
113 Feasible
114 Example of Feasible
115 Necessary
116 Example of Necessary
117 Verifiable
118 Example of Verifiable
119 Traceable
120 Example of Traceable
121 Functional Requirements
Assignment No. 2
122 Template for Functional Requirement
123 Example-I : Filled Functional Requirement
124 Example-II : Filled Functional Requirement

125 Changing Requirements
126 What is Software Release
127 How Release is build
128 Release Management
129 What are Release Notes in General
130 What is Software Quality Assurance
131 Software Requirements vs Software Quality Assurance
132 Verifying Requirements
133 People Expectation from Quality Engineering
134 Quality Assurance Basics
135 QA and Defect
136 QA and Defect: Classification Scheme
Quiz No. 3

137 Pre-release Defects
138 Example Pre-release Defects
139 Post-release Defects
140 Example of Post-release Defects
141 Defect Prevention Basics
142 Defect Prevention: Education and Training
143 Domain Knowledge
144 Example of Domain Knowledge
145 Lack of Expertise in Phases of SDLC
146 Lack of Process Knowledge
147 Example Lack of Process Knowledge
148 Defect Reduction
149 Inspection: Direct Fault Detection and Removal
150 Example of Inspection: Direct Fault Detection and Removal
151 Testing: Fault Detection

152 Defect Containment
153 Software Fault Tolerance
154 Safety Assurance and Fault Containment
155 Defect Resolution
156 Defect LifeCycle
157 Stakeholders in Defect LifeCycle
158 Defect Logging
159 Defect Tracking
160 Example of Defect Logging
161 Example of Defect Tracking
162 Product Based Defects
163 Project Based Defects
164 Product Evaluation
165 Software Maintenance and Defect Handling
166 Tool and Processes in Defect Handling

167 Using Mantis for Defect Handling
168 Configuring Mantis
169 Example-I: Logging Defect in Mantis
170 Example-II: Logging Defect in Mantis
171 Example-III: Logging Defect in Mantis
172 Implementing Defect Lifecycle
173 What is Software Testing
174 Rationale for Testing
175 Artifact Level Testing
176 Major Activities in Software Testing
177 Functional Testing
178 Structural Testing
Quiz No. 4

179 Black Box Testing
180 Example-I: Black Box Testing
181 Example-II: Black Box Testing
182 White Box Testing
183 Example-I: White Box Testing
184 Example-II: White Box Testing
185 Reviews in Testing
186 Rationale of Reviews
187 Inspections
188 Example of Inspections
189 Test Checklist
190 Example-I: Test Checklist
191 Example-II: Test Checklist
192 What is Configuration Management
193 Why Configuration Management
194 Example of Configuration Management
195 Product and Configuration Management

196 Test Planning and Preparation
197 Test Cases Basics
198 Writing Test Cases
199 Test Case Template
200 Test Cases vs. Functional Requirements
201 Example-I: Test Case Template
202 Example-II: Test Case Template
203 Example – III: Test Case Template
204 Product Test vs Project Testing
205 Unit Testing
206 Example-I of Unit Testing
207 Impact of Unit Testing

208 Sanity (Integration) Testing
209 Example-I of Sanity Testing
210 Sanity Testing Reporting
211 Example-I of Sanity Testing Reporting
212 Feature Level Testing
213 Example-I: Feature Level Testing
214 Example-II: Feature Level Testing
215 System Level Testing
216 Stress Testing
217 Regression Testing
218 Example of Regression Testing
219 Test Reporting

220 Test Dashboard
221 Example-I: Test Dashboard
222 Example-II: Test Dashboard
223 Testing: Release Notes Basics
224 Example-I of Testing Release Notes
225 Example-II of Testing Release Notes
226 Post Production Issues
227 Type of Post Production Issues
228 Hot Fixes
229 Patch
230 Example of Patch
Final Exam