Software Testing
Software Testing
Code
Total Hours 30
Credits 02
Course Objectives:
This course is designed to enable a clear understanding and knowledge of the
foundations, techniques, and tools in the area of software testing and its practice in
the industry.
The course will prepare students to be leaders in software testing. Whether you are
a developer or a tester, you must test software.
This course is a unique opportunity to learn strengths and weaknesses of a variety
of software testing techniques
Course Outcomes:
Students who have completed this course would have learned
Various test procesess and continuous quality improvement
Types of errors and fault models
Methods of test generation from requirements
Input space modeling using combinatorial designs
Combinatorial test generation
Test adequacy assessment using: control flow, data flow, and program mutations
The use of various test tools
Application of software testing techniques in commercial environments
Unit 1: Introduction 6Hours
Testing as an Engineering Activity, Testing as a Process, Testing axioms, Basic
definitions, Software Testing Principles, The Tester’s Role in a Software Development
Organization, Origins of Defects, Cost of defects, Defect Classes, The Defect Repository
and Test Design, Defect Examples, Developer/Tester Support of Developing a Defect
Repository, Defect Prevention strategies.
Unit 2: Test Case Design 6Hours
Test case Design Strategies, Using Black Bod Approach to Test Case Design, Random
Testing, Requirements based testing, Boundary Value Analysis, Equivalence Class
Partitioning, State based testing, Cause-effect graphing, Compatibility testing, user
documentation testing, Domain testing, Using White Box Approach to Test design, Test
Adequacy Criteria, static testing vs. structural testing, Code functional testing, Coverage
and Control Flow Graphs, Covering Code Logic – Paths – code complexity testing,
Evaluating Test Adequacy Criteria.
Unit 3: Levels of Testing 6Hours
The need for Levers of Testing, Unit Test, Unit Test Planning, Designing the Unit Tests,
The Test Harness, Running the Unit tests and Recording results, Integration tests,
Designing Integration Tests, Integration Test Planning, Scenario testing, Defect bash
elimination System Testing, Acceptance testing, Performance testing, Regression Testing,
Internationalization testing, Ad-hoc testing, Alpha, Beta Tests, Testing OO systems,
Usability and Accessibility testing, Configuration testing, Compatibility testing, Testing
the documentation, Website testing
Unit 4: Test Management 6Hours
People and organizational issues in testing, Organization structures for testing team,
Testing services, Test Planning, Test Plan Components, Test Plan Attachments, Locating
Test Items, Test management, Test process, Reporting Test Results, The role of three
groups in Test Planning and Policy Development, Introducing the test specialist, Skills
needed by a test specialist, Building a Testing Group.
Unit 5: Test Automation 6Hours
Software Test Automation, skill needed for automation, scope of automation, design and
architecture for automation, requirements for a test tool, challenges in automation, Test
metrics and measurements, project, progress and productivity metrics.
Testing Techniques – SPD(Oreille)
Text Books:
1. Srinivasan Desikan and Gopalaswamy Ramesh, “Software Testing – Principles and
Practices”, Pearson Education, 2006.
2. Naresh Chauhan, Software Testing Principle and Practices, Oxford University Press.
3. Ron Patton, “Software Testing”, Second Edition, Sams Publishing, Pearson Education,
2007.
References Books:
1. Ilene Burnstein, “Practical Software Testing”, Springer International Edition, 2003.
2. Edward Kit,” Software Testing in the Real World – Improving the Process”, Pearson
Education, 1995.
3. Boris Beizer,” Software Testing Techniques” – 2nd Edition, Van Nostrand Reinhold,
New York, 1990.
4. Aditya P. Mathur, “Foundations of Software Testing _ Fundamental Algorithms and
Techniques”, Dorling Kindersley (India) Pvt. Ltd., Pearson Education, 2008.
5. The craft of software testing - Brian Marick, Pearson Education.