<!-- image -->

## GUJARAT TECHNOLOGICAL UNIVERSITY

Program Name: Diploma Engineering Level: Diploma Branch: Computer Engineering / Computer Science &amp; Engineering Subject Code: DI05000111 Subject Name: Software Testing

w. e. f. Academic Year:

2026-27

Semester:

5th

Category of the Course:

PEC-03

| Prerequisite:   | Students should have basic knowledge of:  ● Programming language (Java, C, Python), Web Applications terminologies.  ● Database Simple SQL queries.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|-----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Rationale:      | Software testing is an indispensable process in the software development life cycle,  serving as a critical quality assurance measure. Its primary objective is to identify  and  rectify  defects,  ensuring  that  the  software  meets  specified  requirements  and  functions  as  intended.  Through  a  systematic  and  rigorous  examination  of  the  software, testing helps detect errors, inconsistencies, and potential vulnerabilities,  thereby enhancing the reliability and robustness of the final product. By validating  each  component  and  feature,  software  testing  contributes  to  the  overall  improvement  of  software  quality,  fosters  user  satisfaction,  and  reduces  the  likelihood of post-deployment issues. Additionally, it provides stakeholders with  confidence  in  the  software's  performance,  functionality,  and  security,  ultimately supporting the delivery of a high-quality and dependable product. |

## Course Outcome:

After Completion of the Course, Student will able to:

|   No | Course Outcomes                                                                                                   | RBT Level   |
|------|-------------------------------------------------------------------------------------------------------------------|-------------|
|   01 | Describe the importance of Software Testing to enhance the quality of software  products.                         | Understand  |
|   02 | Apply black-box and white-box testing techniques effectively.                                                     | Apply       |
|   03 | Develop  effective  test  cases  based  on  specifications,  utilizing  appropriate  templates and methodologies. | Apply       |
|   04 | Apply bug identification skills to create a comprehensive defect report for the  software application.            | Apply       |
|   05 | Utilize popular testing tools (e.g., Selenium, JUnit, TestNG) for creating and  executing automated test scripts. | Apply       |

*Revised Bloom's Taxonomy (RBT)

<!-- image -->

## GUJARAT TECHNOLOGICAL UNIVERSITY

Program Name: Diploma Engineering Level: Diploma Branch: Computer Engineering / Computer Science &amp; Engineering Subject Code: DI05000111 Subject Name: Software Testing

## Teaching and Examination Scheme:

| Teaching Scheme  (in Hours)   | Teaching Scheme  (in Hours)   | Teaching Scheme  (in Hours)   | Total Credits  L+T+ (PR/2)   | Total Credits  L+T+ (PR/2)   | Assessment Pattern and Marks   | Assessment Pattern and Marks   | Assessment Pattern and Marks   |       |
|-------------------------------|-------------------------------|-------------------------------|------------------------------|------------------------------|--------------------------------|--------------------------------|--------------------------------|-------|
| L                             | T                             | PR                            | C                            | Theory                       | Theory                         | Tutorial / Practical           | Tutorial / Practical           | Total |
| L                             | T                             | PR                            | C                            | ESE (E)                      | PA(M)                          | PA (I)                         | ESE(V)                         | Marks |
| 3                             | 0                             | 2                             | 4                            | 70                           | 30                             | 20                             | 30                             | 150   |

## Course Content:

|   Unit  No. | Content                                                                                                                                                                                                                                                                                                                                                                                                                                   |   No. of Hours |   % of  Weightage |
|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------|-------------------|
|           1 | Introduction to Software Testing  1.1 Software testing and its importance  1.2 Software Testing Terminologies.  1.3 Verification  and  Validation  (V  Model),  Quality  Assurance, Quality Control.  1.4 Software development life cycle (SDLC) and testing  phases  1.5 STLC - Software Testing Life Cycle in detail, SDLC  vs STLC  1.6 Types of testing (manual vs. automated)  1.7 Testing principles, processes, and methodologies. |             06 |                15 |
|           2 | Software Testing Techniques and Levels  2.1 Introduction  of  Black-box  testing  and  white-box  testing  2.2 Black  Box  Testing:  Equivalence  partitioning,  boundary value analysis, and decision table testing  2.3 White  box  testing:  Statement  Coverage,  Branch  Coverage, Test of Conditions, Path Coverage  2.4 Unit  testing,  integration  testing,  system  testing,  acceptance testing                                |             12 |                25 |

<!-- image -->

## GUJARAT TECHNOLOGICAL UNIVERSITY

Program Name: Diploma Engineering Level: Diploma Branch: Computer Engineering / Computer Science &amp; Engineering Subject Code: DI05000111 Subject Name: Software Testing

|    | 2.5 Static  Testing,  Dynamic  Testing,  Smoke  Testing,  Sanity  Testing,  Regression  testing,  Static  vs.  dynamic testing, Smoke Vs Sanity Testing  2.6 Various Types of Non-Function Testing                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |    |    |
|----|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----|----|
|  3 | Software Testing Management  3.1 Test Planning: Preparing a Test Plan, Deciding Test  Approach,  Setting  Up  Criteria  for  Testing,  Identifying  Responsibilities,  Staffing,  Resource  Requirements, Test Deliverables, Testing Tasks.  3.2 Test cases: Designing Test Cases, Developing Test  Cases,  Writing  Test  Cases,  Test  Case  Templates,  Types of Test Cases, Test Case Specification.  3.3 Test  Reporting:  Executing  Test  Cases,  Preparing  Test Summary Report, Test Data  3.4 Test Scenarios, Difference between Test Scenarios  and Test Cases.  3.5 Requirements  Traceability  Matrix  (RTM),  Metrics  and measurements in software testing. | 09 | 20 |
|  4 | Defect Management  4.1 Defect  Classification,  Defect  Prioritization  and  Severity  4.2 Defect Management Process  4.3 Defect  Life  Cycle  Workflow  and  Stages,  Defect  Template  4.4 Roles and responsibilities of participants of Defect  Triage  Process,  Step  in  Defect  Triage  Process,  Activities performed during Defect Triage Process,  Defect Resolution Process  4.5 Defect  Prevention  Process,  Estimate  Expected  Impact of Defect, Techniques for Finding Defects,  Reporting a Defect.                                                                                                                                                       | 09 | 20 |
|  5 | Testing Automation Tools  5.1 Introduction to test automation. Need of automation  in Software Testing.Automation Testing Life Cycle  5.2 Manual Testing vs Automation Testing. Benefits and  challenges of test automation                                                                                                                                                                                                                                                                                                                                                                                                                                                | 09 | 20 |

w.e.f. 2026-27

Page 3 of 8

<!-- image -->

## GUJARAT TECHNOLOGICAL UNIVERSITY

Program Name: Diploma Engineering Level: Diploma Branch: Computer Engineering / Computer Science &amp; Engineering Subject Code: DI05000111 Subject Name: Software Testing

| 5.3 Selenium:  Introduction  to  Selenium  framework,  Selenium  WebDriver,  browser  automation,  and  advantages of Selenium for web application testing.  5.4 JUnit: Basic concept of a Junit testing framework for  Java  applications,  annotations,  assertions,  and  execution of test cases.  5.5 TestNG:  Basic  concept  of  the  TestNG  for  Java  applications,  advantages  of  TestNG,  annotations,  assertions,  execution  of  test  cases,  Data-Driven  Testing, Integration with Selenium.  5.6 Creating and executing automated test scripts.   |    |     |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----|-----|
| Total                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 45 | 100 |

## Suggested Specification Table with Marks (Theory):

## Distribution of Theory Marks (in %)

|   R Level |   U Level |   A Level |   N Level |   E Level |   C Level |
|-----------|-----------|-----------|-----------|-----------|-----------|
|        14 |        26 |        30 |         0 |         0 |         0 |

Where R: Remember; U: Understanding; A: Application, N: Analyze and E: Evaluate C: Create (as per Revised Bloom's Taxonomy)

## References/Suggested Learning Resources:

## (a) Books:

1. Software  Testing:  Principles,  Techniques  and  Tools,  S  Limaye,  M.  G.  McGraw-Hill Education; 1st edition, ISBN-109197717709979  :
2. Software Testing Principles and Practice, Srinivasan Desikan, Pearson Education, ISBN-10: 9788177581218
3. Software  Testing  Concepts  and  Tools,  Nageshwara  Rao  Pusuluri,  DreamTech,  ISBN  10: 8177227122.
4. Software Testing Principles and Practice, Srinivasan Desikan, Pearson Education, ISBN-10 9199711797879

<!-- image -->

## GUJARAT TECHNOLOGICAL UNIVERSITY

Program Name: Diploma Engineering Level: Diploma Branch: Computer Engineering / Computer Science &amp; Engineering Subject Code: DI05000111 Subject Name: Software Testing

## (b) Open-source software and website:

1. https://onlinecourses.nptel.ac.in/noc18\_cs42/
2. https://www.guru99.com/software-testing.html
3. http://www.softwaretestinghelp.com
4. Tools QA
5. Software Testing in Continuous Delivery | Atlassian
6. The Complete 2023 Software Testing Bootcamp | Udemy
7. Software Testing - Testing Tutorials, Testing Tools, Testing Software, Testing Jobs, Testing Techniques (onestoptesting.com)

## Suggested Course Practical List:

- 1) Create a glossary of at least five software testing terminologies with explanations.
- 2) Describe why both SDLC and STLC are essential in the software development process.
- 3) Enlist and present at least three popular testing methodologies (e.g., Agile, Waterfall) with its advantages and disadvantages.
- 4) Write  a  program  and  design  test  cases  for  the  following  Control  and  decision-making statement. 1) For... Loop 2) Switch...case 3) Do... While 4) If...else.
- 5) Design test cases for different tasks (OTP Verification, Image upload, Age verification in Registration)  in  any  software  modules  using  Equivalence  partitioning,  boundary  value analysis, and decision table testing techniques of Black Box Testing.
- 6) Identify system specification &amp; design test cases for Sales Invoice Management.
- 7) Design Test Cases for the Flight Ticket Booking system.
- 8) Develop test scenarios and test cases for the login functionality of a social media application.
- 9) Develop  an  RTM  and  measure  testing  metrics  for  any  two  dynamic  web  pages  of  an  ecommerce website.

<!-- image -->

## GUJARAT TECHNOLOGICAL UNIVERSITY

Program Name: Diploma Engineering Level: Diploma Branch: Computer Engineering / Computer Science &amp; Engineering Subject Code: DI05000111 Subject Name: Software Testing

- 10) Execute test cases for a travel booking app and prepare a test summary report.
- 11) Prepare a defect report after executing test cases for the registration page.
- 12) Prepare a defect report after executing test cases for withdrawal of amount from the ATM Machine.
- 13) Install  and  set  up  the  Selenium  WebDriver  and  necessary  drivers  (e.g.,  ChromeDriver, GeckoDriver) on your system. Install JUnit, TestNG using an IDE (Integrated Development Environment) like Eclipse or IntelliJ.
- 14) Design and run a test script for a registration page using the Selenium tool and JUnit.
- 15) Design and run a test script for a Login page and home page using the Selenium tool and TestNG.

## List of Laboratory/Learning Resources Required:

- a) Computer system with operating system: Windows 7 or higher version, macOS, and Linux, with 4GB or higher RAM
- b) Microsoft Office or any Open-source spreadsheet package
- c) CODE Editor (Notepad++, VS Code, Sublime), JAVA IDE (Eclipse, NetBeans, IntelliJ)
- d) Testing frameworks (e.g. Selenium, JUnit, TestNG)

## Suggested Project List:

## 1. User Authentication Testing for a Web Application

Test login, registration, and logout functionalities using valid and invalid inputs to ensure secure access  control.  Verify  password  policies,  session  management,  and  appropriate  error  messages  for different user scenarios.

## 2. Data Validation Testing for a DBMS

w.e.f. 2026-27

<!-- image -->

## GUJARAT TECHNOLOGICAL UNIVERSITY

Program Name: Diploma Engineering Level: Diploma Branch: Computer Engineering / Computer Science &amp; Engineering Subject Code: DI05000111 Subject Name: Software Testing

Validate database inputs for correctness, format, and constraints such as primary key, null values, and data types. Ensure invalid data is rejected while valid data is stored accurately in the database.

## 3. Integration Testing for a Payment Gateway

Test the interaction between the application and payment gateway for successful and failed transactions.

Verify transaction status updates, error handling, and secure data transmission.

## 4. Functional Testing of a Travel Booking Website

Validate  key  functionalities  like  search,  booking,  cancellation,  and  payment  processing. Ensure all features work according to the specified requirements.

## 5. Automated Testing for a Task Management Tool

Develop  automated  test  scripts  to  verify  task  creation,  update,  and  deletion  operations. Execute tests repeatedly to ensure reliability and reduce manual testing effort.

## 6. Accessibility Testing for a Healthcare Application

Evaluate application usability for users with disabilities using screen readers and keyboard navigation. Check color contrast, font readability, and compliance with accessibility standards.

## 7. GUI Testing for an Inventory Management System

Test graphical user interface elements such as buttons, forms, and menus for correct behavior. Ensure consistency, alignment, and responsiveness across different devices and screens.

## 8. Usability Testing for a News Aggregation Website

Assess  ease  of  navigation,  readability,  and  accessibility  of  news  content  for  users. Gather user feedback to improve overall user experience and interface design.

## 9. Performance Testing for a Document Management System

Evaluate system performance under load by simulating multiple users accessing documents.

<!-- image -->

## GUJARAT TECHNOLOGICAL UNIVERSITY

Program Name: Diploma Engineering Level: Diploma Branch: Computer Engineering / Computer Science &amp; Engineering Subject Code: DI05000111 Subject Name: Software Testing

Measure response time, throughput, and system stability under various conditions.

## 10. Integration Testing for a Chat Application

Verify integration between frontend, backend, and database for message exchange.

Ensure real-time communication and synchronization across multiple users.

## 11. Automated Testing for a Voting System

Create automated tests to validate vote casting, counting, and result generation processes.

Ensure prevention of duplicate voting and maintain accuracy and integrity of data.

## Suggested Activities for Students:

In addition to classroom and laboratory sessions, students are encouraged to participate in  the  following co-curricular  and  experiential  learning  activities .  These  activities  strengthen conceptual understanding, teamwork, and practical development.

## Recommended Activities

- a) Develop a test plan for a given software project.
- b) Identify test objectives, scope, resources, and schedule
- c) Learn to log and manage defects using a bug tracking system.
- d) Perform exploratory testing on a given application without predefined test cases.
- e) Practice boundary value analysis and equivalence partitioning.
- f) Develop automated test scripts for a specific functionality using a chosen test automation tool.