Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
3 views

IT_ 3223 Software Verification and Validation Course Plan

The document outlines the course details for Software Verification and Validation (IT_3223) offered by the Department of Information Technology for the Jan to May 2025 semester. It includes course objectives, assessment criteria, a detailed syllabus covering various testing methodologies, and expected course outcomes. Additionally, it maps course outcomes to program outcomes and specific outcomes relevant to the Information Technology branch.

Uploaded by

Nilay Yadav
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

IT_ 3223 Software Verification and Validation Course Plan

The document outlines the course details for Software Verification and Validation (IT_3223) offered by the Department of Information Technology for the Jan to May 2025 semester. It includes course objectives, assessment criteria, a detailed syllabus covering various testing methodologies, and expected course outcomes. Additionally, it maps course outcomes to program outcomes and specific outcomes relevant to the Information Technology branch.

Uploaded by

Nilay Yadav
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Department of Information Technology

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

A. Introduction: Introduction, Fundamentals of testing, Real time software failures, Software


Defects, Reviews as a testing activity, Test Case Design Strategies, Black Box Approach to
Test Case Design, White Box Approach to Test case Design, Levels of Testing, Test policies
and plans, Test organization, Controlling and monitoring the testing process, Test Automation,
Testing Tools.

B. The main objective of the course are as follows:


• Learn the process and principles of testing and the impact of software failures in the real systems.
• Familiarize in identifying and classifying the software defects to form the defect repository.
• Understand the static and dynamic analysis to improve the quality of software systems.
• Learn the different approaches available to design effective test cases for different levels of testing
• Familiarize the automation testing tools with the knowledge of test management and controlling activities in
testing

C. Assessment Rubrics:

Criteria Description Duration Maximum Marks


Sessional Exam I 120 mins 30
Internal Assessment In class Quiz Will be informed 10
(Summative) by Instructor
Assignment 10
End Term End Semester Exam/ 180 minutes 50
Exam Make-up Examination
(Summative)
Total 100
Attendance A minimum of 75% Attendance is required to be maintained by a
(Formative) student to be qualified for taking up the End Semester examination.
The allowance of 25% includes all types of leaves including medical
leaves.
D. Syllabus

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.

Reviews as a testing activity


Types of Reviews, Developing a Review Program, Components of Review Plans, Reporting Review
Results, Review Metrics.

Test Case Design Strategies


Introduction, Black Box Approach to Test Case Design: Random Testing, Equivalence Class Partitioning,
Boundary Value Analysis, Cause-and-Effect Graphing, Error Guessing, White Box Approach to Test case
Design: Test Adequacy Criteria, Coverage and Control Flow Graphs, Covering Code Logic, Paths Testing,
Data Flow Testing, Loop Testing, Mutation Testing, Evaluating Test Adequacy Criteria.

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.

Test policies and plans


Testing and debugging Goals & Policies, Test Planning, Test Plan Components, Test Plan Attachments,
Locating Test Items, Reporting Test Results, Test organization: Skills Needed by a Test Specialist, The
Structure of the Testing Group, Career Paths for Testers: An Industry Example, Integrating Testing
Activities in the Software Life Cycle.

Controlling and monitoring the testing process


Measurements and Milestones for Controlling and Monitoring, Status Meetings, Reports and Control
Issues, Criteria for Test Completion, Test Automation: Framework for automation, Skills needed for
automation, Scope of automation, Components of test automation, Generic requirements for test tools,
Selecting a test tool, Challenges in automation.

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.

F. Program Outcomes and Program Specific Outcomes

[PO.1]. Engineering knowledge: Apply the knowledge of mathematics, science, engineering


fundamentals, and an engineering specialization to the solution of complex engineering
problems.
[PO.2]. Problem analysis: Identify, formulate, research literature, and analyze complex
engineering problems reaching substantiated conclusions using first principles of mathematics,
natural sciences, and engineering sciences.
[PO.3]. Design/development of solutions: Design solutions for complex engineering problems
and design system components or processes that meet the specified needs with appropriate
consideration for the public health and safety, and the cultural, societal, and environmental
considerations.
[PO.4]. Conduct investigations of complex problems: Use research-based knowledge and
research methods including design of experiments, analysis and interpretation of data, and
synthesis of the information to provide valid conclusions.
[PO.5]. Modern tool usage: Create, select, and apply appropriate techniques, resources, and
modern engineering and IT tools including prediction and modeling to complex engineering
activities with an understanding of the limitations.
[PO.6]. The engineer and society: Apply reasoning informed by the contextual knowledge to
assess societal, health, safety, legal, and cultural issues, and the consequent responsibilities
relevant to the professional engineering practice.
[PO.7]. Environment and sustainability: Understand the impact of the professional
engineering solutions in societal and environmental contexts, and demonstrate the knowledge
of, and need for sustainable development.

[PO.8]. Ethics: Apply ethical principles and commit to professional ethics and responsibilities
and norms of the engineering practices.

[PO.9]. Individual and teamwork: Function effectively as an individual, and as a member or


leader in diverse teams, and in multidisciplinary settings.

[PO.10]. Communication: Communicate effectively on complex engineering activities with the


engineering community and with society at large, such as, being able to comprehend and write
effective reports and design documentation, make effective presentations, and give and receive
clear instructions.

[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.

PROGRAM SPECIFIC OUTCOMES (PSOs)

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

Other Testing Tools CO.2


36 Activity
IT_3223

H. Course Articulation Matrix: (Mapping of COs with POs)

CORRELATION WITH PROGRAM OUTCOMES


CO STATEMENT
PO. PO. PO. PO. PO. PO. PO. PO. PO. PO. PO. PO. PSO PSO PSO PSO
1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4
CO.1 Design the test plan and policies for the 2 2 2 2 2 2
testing of software system.
CO.2 Develop the defect repository with correct 1 2 2 2
classification of defects.
CO.3 Apply static and dynamic analysis 1 2 2 2 2 2
approaches to the different deliverables of
software systems.

CO.4 Design effective test cases for the execution- 2 2 2 2 2


based testing and perform the different
levels of testing in different stages of
software development process
CO.5 Use testing tools to automate the 3 2
different activities in testing process
Note: CO to PO & PSO mapping level (1 – low, 2- moderate and 3 – substantial).

You might also like