Professional Documents
Culture Documents
Lecture No 1
Agenda
Introduction to Instructor
Course Introduction
Course Contents
Grading Criteria
Introduction to Course/Fundamentals of
Testing
What is Software?
Software Errors, Faults & Failures
Nine Causes of Software Errors
Software Quality
Software Quality Assurance (SQA)
Grading Criteria
Assignments / Home works (4-5)
Quizzes (5-6 quizzes)
Class Participation
Project (I will describe in detail later)
Course Introduction
Name: Software Quality Engineering
Pre-requisite: Software Requirement Engineering,
Software Engineering, Programming.
Objectives:
How to assure and verify Quality
Planning and Development of test cases
Planning and implementation of different Testing
Techniques e.g. White Box Testing, Black Box
Testing, Recursion Testing
Practicing Testing methodologies using automated
testing
Communication: Yahoo group (announced soon..)
Course Contents
Fundamentals of Software Testing (2 Weeks)
Framework of SQE
What is Software?
Software Errors, Faults and Failures Todays
Causes of Software Errors Lecture…
Software Quality
Software Quality Assurance (SQA)
Software Quality Control (SQC)
Many More… (will be added later)
Testing Throughout the Software Life Cycle ( 2 Week)
Software Development Models (V- Model, Iterative-Incremental Models)
Test Levels (Component, Integration, System & Acceptance Testing)
Test Types (Functional and Non-functional, Structural and Regression
Testing)
Course Contents (Cont.)
Static Techniques (2 weeks)
Review Process
Types of Reviews
Static Analysis by Tools
Test Design Techniques (6 weeks)
Test Development Process
Categories of Test Design Techniques
Black-Box Testing
Equivalence Partitioning
Boundary Value Analysis …
Course Contents (Cont.)
Test Design Techniques (Cont..)
White-Box Testing
Statement Testing and Coverage
Decision Testing and Coverage…
Quality Quality
Quality
Engineering Assurance
Control (QC)
(QE) (QA)
Quality Engineering
Quality Assurance
Quality
Control
Software Testing
Quality
Assurance
Project Life Cycle Scope
.
Execution
Initiation Planning Closin
g
Monitoring and Control
Reg
Engg.
“Software Testing” is
Design
one small part of
Quality Control
Coding
Quality
Control Scope
Testing
Deploym
ent
Quality Engineering Scope
Starts when
organization
establishes….
Lets try to define some key
terms
Why Quality?
Software’s are everywhere
They are effecting our social lives from
entertainment to safety critical systems.
Therefore, we want them to work 100% for
which they are envisioned.
Software - IEEE definition
Software Fault –
All software errors may not cause software faults
That part of the software may not be executed
(An error is present but not encountered….)
software error
software fault
software failure
The Nine Causes of Software Errors
5. Coding errors
• Too many to try to list.
• Syntax errors (grammatical errors)
• Logic errors (program runs; results wrong)
• Run-time errors (crash during execution)
The Nine Causes of Software Errors
6. Non-compliance w/documentation & coding
instructions
• Non-compliance with published templates (structure)
• Non-compliance with coding standards (attribute names…)
• For example
• Difficult to co-ordinate codes with “non-complying” team
members
• Difficult to understand the work of “non-complying” team
member
• Testing team will face difficulties to test the modules
developed by “non-complying” team member.
• Same is true for the maintenance team.
The Nine Causes of Software Errors
9. Documentation errors
• Errors in the design documents
• Trouble for subsequent redesign and reuse
• Errors in the documentation within the software for the
User Manuals
• Errors in on-line help, if available.
• Listing of non-existing software functions
• Planned early but dropped; remain in
documentation!
• Many error messages are totally meaningless
The Nine Causes of Software Errors