Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 6

BIRLA INSTITUTE OF TECHNOLOGY & SCIENCE, PILANI

WORK INTEGRATED LEARNING PROGRAMMES


COURSE HANDOUT

Part A: Content Design

Course Title Software Testing


Course No(s) SEWI ZC328

Course Objectives
No Course Objective

CO1 To introduce basics of Software Testing concepts and methodologies so that it can be
applied to their project work.

CO2 To cover both functional (black box) testing and white box testing areas. The areas to
address include object oriented technologies /web based application areas. This will help
in using the techniques at the unit, module/subsystem and system levels in the student’s
work related area.

CO3 To introduce to some advanced aspects of testing including test management, test
automation, test prioritization and when to stop testing. This will also help the students to
evaluate the effectiveness of the testing activities carried out by them when they
complete the course.

Text Book(s)
T1 Software Testing: Principles and Practices, S. Desikan and G.Ramesh, Pearson Education
T2 Foundation of Software Testing, Prof. Aditya P Mathur first edition (2007) Pearson
Education

Reference Book(s) & other resources


R1 Software Testing: A Craftsman’s Approach, 3nd Edition, Paul C Jorgenson, CRC
Press.

R2 Software Engineering: A Practioner’s Approach Roger Pressman

R3 The art of software testing, by G J Myers, Wiley


R4 ISTQB – Lecture Notes and Various Internet references

Modular Content Structure


Module Module Title Objectives
No
1 Introduction to Software Testing & Introduce the course and course handout. Bring
Techniques a perspective of need and motivation for this
course. Provide an overview of the course,
levels and types of Testing, Faults, Errors, and
Failures, Testing objectives, Principles of
testing, Testing and debugging, Test metrics
and measurements, Verification and Validation,
Types of testing, Software Quality and
Reliability, Software defect tracking.
2 White Box Testing Take a code level approach to testing and
assuring quality. Learn the relevant techniques
for testing code –White box testing, static
testing, static analysis tools, Structural testing:
Unit/Code functional testing, Code coverage
testing, Code complexity testing, Data Flow
Testing, Challenges in White Box Testing
3 Specification Based Testing Bring an approach to look at the system from
specification perspective. Learn the relevant
techniques for testing specifications –
Requirement based testing, Equivalence Class,
Boundary Value Analysis, Decision Tables and
Domain Testing, state/graph based testing,
Differences between white box and Black box
testing.
4 Integration and System Testing Overview and need for Integration and Systems
Testing of Software. Learn the techniques of
Integration and Systems Testing:-Top down and
Bottom up integration, Bi-directional
integration, System integration, Scenario
Testing, Model based testing and model
checking, Defect Bash
5 Non Functional Testing Functional versus Non-functional testing,
Scalability testing, Reliability testing, Stress
testing, Interoperability testing, performance
testing.
6 Acceptance Testing Acceptance testing: Acceptance criteria, test
cases selection and execution, Beta Testing
7 Test Selection & Minimization for Explore and understand the need for
Regression Testing minimization and prioritization. Review the
regression test problem. Regression test process,
Initial Smoke or Sanity test, Selection of
regression tests, Execution Trace, Dynamic
Slicing, Test Minimization, Tools for regression
testing.
8 Adhoc Testing Pair testing, Exploratory testing, Iterative
testing, Defect seeding.
9 Test Planning and Management Test Planning, Management, Execution and
Reporting
10 Test Automation Software Test Automation: Scope of
automation, Design & Architecture for
automation, Generic requirements for test tool
framework, Test tool selection
11 Introduction to OO Testing and Usability Introduction to OO Testing, Usability Testing
Testing

Learning Outcomes:
No Learning Outcomes

LO1 The students will be able to apply the testing concepts taught to develop test artefacts
for various application areas. This will be both for functional and white box testing.

LO2 The course will help the students to evaluate the effectiveness of testing carried out in
their project work

LO3 This will expose them to various test management activities. The students will be able
to use such tools in their work area.

LO4 The course will give exposure in the area of test automation as to know its strengths and
expected limitations of the same.

Part B: Contact Session Plan


Academic Term I Semester,2018 - 19
Course No. SEWI ZC328

Course Title Software Testing


Instructor In-Charge

Course Contents

Contact List of Topic Title Text/Ref Book/external


Sessions(#) (from content structure in Course Handout) resource
1 M1: Introduction to Software Testing & Lecture Notes
Techniques: T1 Chapter 1
Introduction to Software Testing T2 Chapter 1
Overview of the Course T2 Chapter 2
Objective and Principles of Testing
Basic Terminologies: Fault, Error, Failures,
Software Testing – Quality Attributes, Reliability
Testing and Debugging
2 M1: Introduction to Software Testing & T2 Chapter 1
Techniques T1 Chapter 2
Test Metrics and Measurement Lecture Notes
Levels and Types of Testing
Verification and Validation
Software Defect Tracking
3 M2: White Box Testing T1 Chapter 3, T2 Chapter 2
Code Based Testing – Overview Lecture Notes
Static Testing
Structural Testing
Code Complexity and Code Coverage Testing
Data Flow Testing and Challenges in Code Based
Testing
Example and Case Study
4 M3: Specification Based Testing T1 Chapter 4
Specification Based Testing – Overview Lecture Notes
Equivalence Class
Boundary Value Analysis
Examples and Case Study
5 M3: Specification Based Testing T1 Chapter 4
State/Graph Based Testing, Domain Testing Lecture Notes
Decision Table Based Testing
Difference between White Box and Black Box
Examples & Case Study
6 M4: Integration and System Testing T1 Chapter 5
Top-Down and Bottom-Up Integration Lecture Notes
Bi-directional Integration
Examples and Case Study
7 M4: Integration and System Testing R1 Chapter 12
Model Based Testing – Introduction & Overview T1 Chapter 5
Scenario Testing Lectures Notes
Defect Bash
Examples and Case Study
8 Review
9 M5: Non Functional Testing T1 Chapter 6
Functional vs Non-Functional Testing T1 Chapter 7
Scalability Testing and Stress Testing Lecture Notes
Reliability Testing, Interoperability Testing
Performance Testing
Case Study and Examples
10 M6: Acceptance Testing T1 Chapter 6
Acceptance Testing – Overview Lecture Notes
Acceptance Criteria
Test Cases Execution and Selection
Beta Testing
Examples
11 M7: Test Selection & Minimization for Regression T1 Chapter 8
Testing T2 Chapter 9
Regression Testing – Overview Lecture Notes
Initial Smoke/Sanity Testing
Selection of Regression Testing – Test Selection
( Execution Trace)
Examples
12 M7: Test Selection & Minimization for Regression T2 Chapter 9
Testing T1 Chapter 8
Regression Testing – Test Selection (Dynamic Slicing) Lecture Notes
Test Minimization
Tools for Regression Testing
Examples
13 M8: Ad-hoc Testing T1 Chapter 10
Pair Testing Lecture Notes
Exploratory Testing
Iterative Testing
Defect Seeding
Examples
14 M9: Test Planning and Management T1 Chapter 15
Test Planning and Management
Test Execution and Reporting
15 M10: Test Automation T1 Chapter 16
Software Test Automation: Scope Lecture Notes
Design/Architecture for Automation
Generic Requirement for Test tool Framework
Test Tool Selection
16 M11: Introduction to OO Testing and Usability T1 Chapter 12
Testing T1 Chapter 11
Usability Testing Lecture Notes
Introduction to OO Testing
When To Stop Testing

Work integration:
No Activity description

1 Application of testing methodologies like BVA,ECT, DT in any of the project area

2 Application of Path based coverage techniques/DataFlow coverage techniques in any of


their project

3 Evaluate the testing methodologies followed in their project vis-à-vis the coverage taught
in the class

You might also like