IT_ 3223 Software Verification and Validation Course Plan
IT_ 3223 Software Verification and Validation Course Plan
Course Handout
Session (Semester): Jan to May 2025 (VI)
Branch: Information Technology
(Flexi core-2)
Section: A&B
Class: Theory Course
Course Name (Code): Software Verification and Validation (IT_ 3223)
Contact Hours/Week: L T P C
3 0 0 3
Course Coordinator: Dr. Naresh E
Course Instructor: Dr. Naresh E
C. Assessment Rubrics:
Fundamentals of testing
Project Testing as a Process, Basic Definitions, Software Testing Principles, Illustration of fundamental
testing principles with story, 11 steps software testing process, Real time software failures: Infamous
Software Error Case Studies, The Cost of Bugs.
Software Defects
Importance Origins of Defects, Defect Classes, the Defect Repository, and Test Design, Defect Examples:
The Coin Problem, Developer/Tester Support for Developing a Defect Repository.
Levels of Testing
The Need for Levels of Testing, Unit Testing, Integration Testing, System Testing, and its types,
Regression Testing, Alpha Beta and Acceptance Tests, Role of Use Cases in testing, Internationalization
Testing, Compatibility Testing, Testing the Documentation.
Testing Tools
The JUnit Test Framework, Data-Driven Tests, Adding Parameters to Unit Tests, Other Testing Tools.
References
1. Paul AmmannandJeff Offutt, Introduction to Software Testing, 2nd Edition, Cambridge University Press
United States, December 2016.
2. Sommerville I, Software Engineering, 10th Edition, Pearson Education Limited Boston, 2016.
3. Ilene Burnstein, Practical Software Testing: A Process-Oriented Approach, 1st Edition, Springer New York,
December 2010.
4. Srinivasan Desikan and Gopalaswamy Ramesh, Software Testing Principles and Practices, 6th Impression,
Pearson Education, 2008.
5. Ron Patton, Software Testing, 2nd Edition, Sams Publishing, Pearson Education, 2006.
6. Renu Rajani and Pradeep Oak, Software Testing-Effective Methods, Tools and Techniques, 2nd Edition,
Tata McGraw Hill Education, 2017.
E. Course Outcomes
At the end of this course, students will be able to
1. Design the test plan and policies for the testing of software system.
2. Develop the defect repository with correct classification of defects.
3. Apply static and dynamic analysis approaches to the different deliverables of software systems.
4. Design effective test cases for the execution-based testing and perform the different levels of testing in
different stages of software development process.
5. Use testing tools to automate the different activities in testing process.
[PO.8]. Ethics: Apply ethical principles and commit to professional ethics and responsibilities
and norms of the engineering practices.
[PO.11]. Project management and finance: Demonstrate knowledge and understanding of the
engineering and management principles and apply these to one’s own work, as a member and
leader in a team, to manage projects and in multidisciplinary environments.
[PO.12]. Life-long learning: Recognize the need for and have the preparation and ability to
engage in independent and life-long learning in the broadest context of technological change.
PSO1: Apply Mathematical models and programming concepts to solve real-world problems for
Evolving Technology
PSO2: Demonstrate the skills towards the domain-specific initiatives of Information Technology
PSO3: Demonstrate the ability of teamwork, communication, and documentation skills in designing and
implementing of software products
PSO4: Understanding of ethical, legal, and social issues related to areas of information technology.
G. Lecture Plan:
Major
Topics Mode of Corresponding
Lecture Topics
Delivery CO
s
1 Fundamental Project Testing as a Process, Basic Definitions Lecture CO.1
2 s of testing Software Testing Principles, Illustration of Lecture CO.1
fundamental testing principles with story
11 steps software testing process CO.1
3 Lecture
4 Real time software failures: Infamous Software Lecture CO.1
Error Case Studies, The Cost of Bugs
5 Software Importance Origins of Defects, Defect Classes Lecture CO.1
Defects the Defect Repository, and Test Design CO.1
6 Lecture
Defect Examples: The Coin Problem, Lecture CO.2
7 Developer/Tester Support for Developing a
Defect Repository
Reviews as a Types of Reviews, Developing a Review CO.2
8 testing activity Lecture
Program, Components of Review Plans
9 Reporting Review Results, Review Metrics Lecture CO.2
Introduction, Black Box Approach to Test CO.2
10 Activity
Case Design: Random Testing
11 Test Case Equivalence Class Partitioning Lecture CO.2
Design
12 Boundary Value Analysis Lecture CO.2
Strategies
13 Cause-and-Effect Graphing, Error Guessing Lecture CO.2
White Box Approach to Test case Design: Test CO.2
14 Adequacy Criteria Activity
15 Coverage and Control Flow Graphs, Covering Lecture CO.2
Code Logic
16 Paths Testing, Data Flow Testing, Loop Testing Lecture CO.2
17 Mutation Testing, Evaluating Test Adequacy Lecture CO.2
Criteria.
The Need for Levels of Testing, Unit Testing Lecture CO.2
18 Levels of
Testing Integration Testing Lecture CO.2
19
20 System Testing, and its types Activity CO.2
Regression Testing, Alpha Beta and Acceptance
21 Tests Lecture CO.3
Role of Use Cases in testing, Internationalization
22 Testing Lecture CO.3
Compatibility Testing, Testing the
23 Documentation. Lecture CO.3
Testing and debugging Goals & Policies, Test
24 Planning Lecture CO.3
Test policies Test Plan Components, Test Plan Attachments,
25 and plans Lecture CO.3
Locating Test Items, Reporting Test Results
Test organization: Skills Needed by a Test
26 Specialist, The Structure of the Testing Group Activity CO.3
Career Paths for Testers: An Industry Example
27 Lecture CO.4
Integrating Testing Activities in the Software Life
28 Cycle Lecture CO.4
Measurements and Milestones for Controlling and
29 Controlling and Monitoring, Status Meetings Lecture CO.4
monitoring the Reports and Control Issues, Criteria for Test
30 testing process Completion Lecture CO.4
Test Automation: Framework for automation,
31 Skills needed for automation, Scope of Lecture CO.3
automation, Components of test automation
Generic requirements for test tools, Selecting a
32 test tool, Challenges in automation. Lecture CO.3
33 The JUnit Test Framework Lecture CO.3
Testing Tools
34 Data-Driven Tests Lecture CO.3
35 Adding Parameters to Unit Tests Lecture CO.2