Software Testing
Professional Certification Course to enter in IT Industry with Knowledge and Experience

Complete Course Curriculum
Course Duration: 6- Months
Course Fees: 30000/-
Manual Testing
Introduction to testing
- Introduction to testing
Verification vs validation
- Verification vs validation
Types of Applications
- Probabilities of getting an error in an application
SDLC – Software Development Life Cycle
- Waterfall
- Prototype
- Spiral
- Incremental (Agile methodology and Scrum Framework)
- V-Model
Advantages and Disadvantages of each software development life cycle
- Advantages and Disadvantages of each software development life cycle
Principles of Testing
- Principles of Testing
STLC –Software Testing Life Cycle
- STLC –Software Testing Life Cycle
Difference between Test case, Use case and Scenario.
- Difference between Test case, Use case and Scenario.
How to prepare test plan and strategy
- How to prepare test plan and strategy
How to prepare a test case template?
- How to prepare a test case template?
Difference between Error, bug, defect, and failure
- Difference between Error, bug, defect, and failure
Bug Life cycle
- Bug Life cycle
How to Prepare the Bug template?
- How to Prepare the Bug template?
Bug Tracking tool
- Bug Tracking tool
Types of Testing
- Types of Testing
Difference between Static and Dynamic testing
- Difference between Static and Dynamic testing
Difference between Functional and Non-functional testing
- Difference between Functional and Non-functional testing
Black box testing and its types
- Black box testing and its types
White box testing and its types
- White box testing and its types
System Integration Testing vs User Acceptance Testing
- System Integration Testing vs User Acceptance Testing
Entry Criteria and Exit Criteria
- Entry Criteria and Exit Criteria
Test Environment and Test data preparation
- Test Environment and Test data preparation
Flow graph notations
- Statement coverage
- Branch Coverage
- path coverage
- Cyclometric Complexity
Integration testing
- Big Bang Integration
- Incremental Approach – Top-Down, Bottom-up, and Hybrid
Requirement traceability matrix
- Requirement traceability matrix
Automation Testing
Pre-Selenium
Core Java
- BasicsSetup Java environment – Download JDK and Setup eclipse
- Keywords and Syntax
- variables, operators, and control flows
- OOPs overview from Java context
- Conditions, Loops, Access and non-access modifiers
- Exception Handling, File and DB handling
- Collections overview, and ArrayList example
Introduction to Java Programming Environment
- How to Install & set Path.
- A Simple Java Program
- Compiling & executing Java Program
- Phases of Java Program
- Analysis of a Java Program
- Understanding Syntax and Semantic Error
- Runtime Exception
- Name of a Java Source File
- Platform Independency
- Java Technology (JDK, JRE, JVM, JIT)
- Features of Java
- Text Editors
- Consoles
Fundamentals of Java Programming
- Naming convention of Java language
- Comments
- Statements
- Blocks (Static, Non-static/instance)
- Identifiers
- Keywords
- Literals
- Primitive Data Types, Range
- Reference (User defined) Data type
- Variables (Primitive, Reference)
- Type Casting, Default Value
- Operators
- Program/Interview questions
- Control Structures
Input Fundamentals and Datatypes in Java
- Java program inputs from Keyboard
- Methods of Keyboard inputs
- Scanner, Buffered Reader
- Problem Solving
- Java Array
- What is Array
- Array Declaration in java vs C and C++.
- Instantiation of an Array
- String vs character array.Accessing Array
- Elements, Default Value, for-each loop, varargs
- Length of an Array (What is –Array Index Out Of Bounds Exception)
- Increasing, Decreasing the Size and Copy of an Array
- Multi-Dimensional Arrays
- Application Compilation and Run
Object Oriented Programming
- Procedural Vs Object Oriented Program
- Different type of Program Procedural Vs Object Oriented.
- Top Down Vs Bottom Up Approach
- Introduction to Object Oriented
- Abstraction, Encapsulation, Inheritance,
- Polymorphism.
- Introduction to Classes and Objects
- Custom Class Definition
- Instance and Static Variables
- Different ways to create Object Instance
- Instance Variable and it’s role in a Class
- Constructors, types of Constructor,
- Constructor Rule, Constructor Overloading
- Static Variable and it’s use.
- Methods and their behavior.
- Constructor vs Methods
- “this” Keyword
- Java Access Modifiers (and Specifiers)
- Call by value, Call by reference
Command-Line Arguments
- What is a Command-Line Argument?
- Java Application with Command-Line Arguments
- Conversion of Command-Line Arguments
- Passing Command-Line Arguments
- Using methods (Static , Non Static)
Integrated Development Environment
- Using various Editors
Program Compilation, Execution in Editor
Using Eclipse IDE
Project Set Up
Source File Generation
Application Compilation and Run
Inner Class
- First View of Inner Class
- Outer Class Access
- Types of Inner Class
Inheritance
- Complete concepts of Inheritance
- Sub-Classes
- Object Classes
- Constructor Calling Chain
- The use of “super” Keyword
- The use of “private” keyword inheritance.
- Reference Casting
Abstract Classes and Inheritance
- Introduction to Abstract Methods
- Abstract Classes and Interface
- Interface as a Type
- Interface v/s Abstract Class
- Interface Definition
- Interface Implementation
- Multiple Interfaces’ Implementation
- Interfaces’ Inheritance
- How to create object of Interface
Polymorphism
- Introduction to Polymorphism
- Types of Polymorphism
- Overloading Methods
- Overriding Methods
- Hiding Methods
- Final Class and Method
- “Is-A” vs “Has-A”
- Association Vs Aggregation
Package
- Package and Class path and its use
- First look into Packages
- First look into Class path
- Class path Setting
- Class Import
- Package Import
- Role of public, protected, default and private w.r.t package
- Namespace Management
- Package vs. Header File
- Creating and Using the Sub Package
- Sources and Class Files Management
Using Predefined Package & Other Classes
- Java.lang Hierarchy
- Object class and using toString(), equals(),hashCode(), clone(), finalize() etc
- Using Runtime Class, Process Class to play music, video from Java Program
- Primitives and Wrapper Class
- Math Class
- String, StringBuffer, StringBuilder Class
- String Constant Pool
- Wrapper Classes
- System Class using gc(), exit(), etc.
New Concepts in Package
- Auto boxing and Auto unboxing
- Static import.
- Instance of operator.
- Enum and its use in Java
- Working with jar
Garbage Collection
- Garbage Collection Introduction
- Advantages of Garbage Collection
- Garbage Collection Procedure
- Java API
Exception Handling
- Introduction to Exceptions
- Effects of Exceptions
- Exception Handling Mechanism
- Try, catch, finally blocks
- Unchecked Exception
- Throw & throws keyword
- Custom Exception Class
- Chained Exception.
- Resource handling & multiple exception class
Multithreading
- Creating a Thread by inheriting from Thread class
- Run() and start() method.
- Constructor of Thread Class
- Various Method of Thread Class
- Runnable Interface Implementation
- Thread Group
- Thread States and Priorities
- Synchronization method, block
- Class & Object Level Lock
- Deadlock & its Prevention
- Inter thread Synchronization
- Life Cycle of Thread
- Deprecated methods : stop(), suspend(), resume(), etc
Input and Output Streams
- Types of Streams
- Stream Class Hierarchy
- Using File Class
- Copy and Paste the content of a file
- Byte Streams vs Character Streams
- Text File vs Binary File
- Character Reading from Keyboard by Input Stream Reader
- Reading a Line/String from Keyboard by Buffered Reader
- Standard I/O Streams Using Data Streams to read/write
Serialization
- Using Object Streams to read/write object
- Transient Keyword
- Serialization Process
- Deserialization Process
Collection Framework
- Generics(Templates)
- What is generic
- Creating User defined Generic classes
- The java.util package
- Collection
- What is Collection Framework
- List, Set & Map interfaces
- Using Vector, Array List, Stack, Linked List, etc.
- Using Collections class for sorting
- Using Hashtable, Hash Map, Tree Map,
- SortedMap, LinkedHashMap etc.
- Iterator, Enumerator.
- Using Queue, Deque, SortedQue, etc.
- Using HashSet, TreeSet, LinkedHashSet etc
- Using Random class
- Using Properties in a Java Program
- Using user defined class for DataStructure
- Using Date and Formatting Date class.
- Interview related Question and Answer
SQL for Testers
- Introduction to SQL
- SQL Syntax
- SQL Select, Distinct, Where
- SQL And, Or, Not
- SQL Order By
- SQL Insert, Update, Delete
- SQL Min and Max
- SQL Count, Avg, Sum
- SQL Like
- SQL Wildcards
- SQL In
- SQL Between
- SQL Aliases
- SQL Joins
- SQL Union
- SQL Group By
- SQL Having
- SQL Any, All
- SQL Case
- SQL Stored Procedures
- SQL Operators
- SQL Create, Drop, Alter Table
- SQL Constraints
- SQL Not Null
- SQL Unique
- SQL Primary Key, Foreign Key
- SQL Views
- SQL Injection
- SQL Data Types
Selenium
Introduction to Automation Testing
- What is Automation Testing?
- Advantages of Automation Testing?
- Fundamentals of test automation
- ROI in Automation
- Automation framework
- Various tools and comparison with Selenium
Introduction to Selenium
- What is Selenium?
- Components of Selenium Suite
- Advantages of Selenium
- Limitations of Selenium
- What is Selenium WebDriver?
- Advantages of Selenium
- What is the difference between Selenium and QTP?
Introduction to Selenium WebDriver
- Why WebDriver?
- Downloading webdriver Jars configuring in eclipse
- What Selenium is and how it is used in the industry
- Features of Selenium
- Selenium IDE – Overview with a couple of examples
- WebDriver Architecture
- Installation of Selenium and supporting tools/Frameworks
- Drivers for Firefox, IE, Chrome, Iphone, Android etc
- What is the difference between Selenium RC and WD?
Selenium IDE and RC Introduction
- Installing Selenium IDE
- Introduction to Selenium RC
- “Selenese” – Selenium Commands
- Actions, Asserts, Assessors.
- Developing Test Cases & Test Suites with Selenium-IDE
Installations
- eclipse-Oxygen
- JDK 1.8
- Firefox 47.0.1, firebug and file path
- Set up TestNG, Maven and Selenium (2.53.1 &3.0 +) for eclipse
Locating Techniques
- Simple WebDriver Program Demonstration
- Basics of HTML page, tags, attributes, and visible texts
- Importance of attributes in locating elements
- Installation of Firebug and Firepath in Firefox browser
- Locators and Eight Locating Techniques
- Creating robust locators using CSS and XPath
WebDriver Basics – I
- Execute Tests in Firefox, Chrome, and Internet Explorer
WebDriver Commands: Driving Browsers and Handling Cookies
WebElement Commands
Handling Various WebElements
WebDriver Timeout Methods
WebDriver Basics – II
- Handling Multiple elements using find Elements() method
- Handling Alerts, Pop-ups, and Frames
- Limitation of Implicit Wait and how Explicit Wait helps
- Advanced User Interactions
- Taking Screenshots
- Working with Firefox profiles
- Handling File Uploads Using AutoIT
- Introduction to Flash Application Testing using Selenium WebDriver
TestNG
- Arranging Tests in 3-As format
- F.I.R.S.T Principles and SRP
- Various Annotations in TestNG
- TestNG configuration file
- Configuration Annotations
- Attributes of @Test
- Parallel Test Execution Capability
- Assertion APIs
- Passing Parameters to Tests
- Configuring Test Suites
- Reports using TestNG
- Reports using ReportNG
WebDriver – Framework
- Introduction to various frameworks
- Page Object Design Pattern
- Data Driven Tests using TestNG and POI
- Introduction to Maven and ANT
- Use of Log4j
- Use of Listeners
- Typical components of a framework
- Overview of BDD, TDD
- Code Coverage in Java
- Overview of Sikuli tool for UI testing
- Introduction to Jenkins
- Configuring Jenkins to invoke Selenium Tests
Selenium Grid
- What is Selenium Grid?
- When to Use Selenium Grid
- Setting up Grid – Hub and Nodes?
- Configuring TestNG.xml to run tests on Grid
Database testing using webdriver
- Installing MySQL Database
- sql package
- Overview on Connection Interface, Statement Interface, Prepared Statement and
Resultset Interfaces. - Example program to Access Database.
- Some examples on SELECT,UPDATE and DELETE queries
- Some Webdriver examples using Data fetched from Database
- Automation Test Framework
Develop Test automation framework
- What is a framework
- Types of framework
- Data driven framework
- Modular driven framework
- Keyword driven framework
- User Defined Keyword driven framework with implementation
- Execute test scripts from the framework
BDD Framework with Cucumber
- Agile Testing
- Behaviour Driven Development (BDD)
- Advantages and Limitations of BDD
- Cucumber Fundamentals
- Gherkin Syntax in Cucumber
- Step Definition for Cucumber Feature File
- Advantages of Cucumber
- Implementing BDD Framework using Cucumber
Project Execution
- Learn Automate an eCommerce Application
- Test Automation Requirements Description
- What Next? How to Start?
- High Level Framework
- Configurability—No To Hard-Coding
- Modularity—Re-Use And DRY
- Test Data Management
- Logging And Reporting
Mobile App Test Automation Using Appium
- Introduction Mobile App Test Automation
- Introduction to Appium
- UIAutomator with Appium
- Locating Elements – UIAutomator framework
- Desired Capabilities for Android
Post-Selenium
Maven Project Management Tool
- OvidersIntroduction about maven
- High-Level Overview
- Ant vs Maven
- Installation of Maven
- Demo using Sample Maven Project
Version Control Tool GITHUB
- Downloading and configuring Github
- Difference between CVC Versus DVC
- Basic Git Commands
- Working with Repositories
- Setting up Repositories
- Local and Remote Repositories
- Create repository and cloning projects
- Committing and Syncing the code
- Reverting and Rolling Back the Code
- Branch and Merging Concepts and Implementation
- Stashing Changes
- Resolving the Conflicts
Continuous Integration Testing using Jenkins
- About Jenkins
- History of Jenkins
- Splitting of Projects
- What is Continuous Integration
- Installing Jenkins
- Creating a simple job
- Integrating Jenkins to the Project
ANT
- What is Ant
- XSLT Report generation using TestNG and ANT
- Building utility functions
- Building BAT for project execution
- Building BAT to run tests using ANT
JUnit
- JUnit’s Annotations
- JUnit’s Methods
- JUnit Test Suites
- Ant Build and JUnit Reporting
Log4j
- Logging Introduction
- Log4J framework Introduction
- Layout Introduction
- Types of Layout
- Appender Introduction
- Types of Appender
Course Name | Fees | Duration |
---|---|---|
Complete C Programming Course | 3000/- | 45 Days |
Complete C ++ Programming Course | 3000/- | 45 Days |
Core Java Development Course | 6000/- | 2 Months |
Basic Python Development | 6000/- | 2 Months |
Basic Android Development | 6000/- | 2 Months |
Web Designing | 6000/- | 2 Months |
JavaScript | 6000/- | 2 Months |
Graphic Designing | 6000/- | 2 Months |
Digital Marketing | 6000/- | 2 Months |
PHP & MySQL | 6000/- | 2 Months |
Internet of Things (IOT) | 6000/- | 2 Months |
Angular JS | 6000/- | 2 Months |
Node JS | 6000/- | 2 Months |
React JS | 6000/- | 2 Months |
C # | 6000/- | 2 Months |

Have a look on Exciting Project ideas on Software Testing
You can build a simple calculator with C using switch cases or if-else statements. This calculator takes two operands and an arithmetic operator (+, -, *, /) from the user, however, you can expand the program to accept more than two operands and one operator by adding logic. Then, based on the operator entered by the user, it conducts the computation on the two operands. The input, however, must be in the format “number1 operator1 number2” (i.e. 2+4).
Using C language, you can also create a student management system. To handle students’ records (like Student’s roll number, Name, Subject, etc.) it employs files as a database to conduct file handling activities such as add, search, change, and remove entries. It appears a simple project but can be handy for schools or colleges that have to store records of thousands of students.
If you have ever lost track of which day of the week is today or the number of days in that particular month, you should build a calendar yourself. The Calendar is written in the C programming language, and this Calendar assists you in determining the date and day you require. We can implement it using simple if-else logic and switch-case statements. The display() function is used to display the calendar and it can be modified accordingly. It also has some additional functions.
This Phone book Project generates an external file to permanently store the user’s data (Name and phone number). The phone book is a very simple C project that will help you understand the core concepts of capacity, record keeping, and data structure. This program will show you how to add, list, edit or alter, look at, and delete data from a record.
An online voting system is a software platform that enables organizations to conduct votes and elections securely. A high-quality online voting system strikes a balance between ballot security, convenience, and the overall needs of a voting event. By collecting the input of your group in a systematic and verifiable manner, online voting tools and online election voting systems assist you in making crucial decisions. These decisions are frequently taken on a yearly basis – either during an event (such as your organization’s AGM) or at a specific time of the year. Alternatively, you may conduct regular polls among your colleagues (e.g. anonymous employee feedback surveys).
With this voting system, users can enter their preferences and the total votes and leading candidate can be calculated. It’s a straightforward C project that’s simple to grasp. Small-scale election efforts can benefit from this.
Tic-tac-toe, also known as noughts and crosses or Xs and Os, is a two-person paper and pencil game in which each player alternates marking squares in a three-by-three grid with an X or an O. The winner is the player who successfully places three of their markers in a horizontal, vertical, or diagonal row. You can implement this fun game using 2D arrays in the C programming language. It is important to use arrays while creating a Tic Tac Toe game in the C programming language. The Xs and Os are stored in separate arrays and passed across various functions in the code to maintain track of the game’s progress. You can play the game against the computer by entering the code here and selecting either X or O. The source code for the project is given below.
Mathematical operations are an everyday part of our life. Every day, we will connect with many forms of calculations in our environment. Matrices are mathematical structures in which integers are arranged in columns and rows. In actual life, matrices are used in many applications. The most common application is in the software sector, where pathfinder algorithms, image processing algorithms, and other algorithms are developed. Some fundamental matrix operations are performed in this project, with the user selecting the operation to be performed on the matrix. The matrices and their sizes are then entered. It’s worth noting that the project only considers square matrices.
Library management is a project that manages and preserves electronic book data based on the demands of students. Both students and library administrators can use the system to keep track of all the books available in the library. It allows both the administrator and the student to look for the desired book. The C files used to implement the system are: main.c, searchbook.c, issuebook.c, viewbook.c, and more.
The Electricity Cost Calculator project is an application-based micro project that predicts the following month’s electricity bill based on the appliances or loads used. Visual studio code was used to write the code for this project. This project employs a multi-file and multi-platform strategy (Linux and Windows). People who do not have a technical understanding of calculating power bills can use this program to forecast their electricity bills for the coming months; however, an electricity bill calculator must have the following features:
- All loads’ power rating
- Unit consumed per day
- Units consumed per month, and
- Total load calculation
The project’s goal is to inform a consumer about the MOVIE TICKET BOOKING SYSTEM so that they can order tickets. The project was created with the goal of making the process as simple and quick as possible. The user can book tickets, cancel tickets, and view all booking records using the system. Our project’s major purpose is to supply various forms of client facilities as well as excellent customer service. It should meet nearly all the conditions for reserving a ticket.
Snakes and ladders, also known as Moksha Patam, is an ancient Indian board game for two or more players that is still considered a worldwide classic today. It’s played on a gridded game board with numbered squares. On the board, there are several “ladders” and “snakes,” each linking two distinct board squares. The dice value can either be provided by the user or it can be generated randomly. If after moving, the pointer points to the block where the ladder is, the pointer is directed to the top of the ladder. If unfortunately, the pointer points to the mouth of a snake after moving, the pointer is redirected to the tail of the snake.
This system is built on the concept of booking bus tickets in advance. The user can check the bus schedule, book tickets, cancel reservations, and check the bus status board using this system. When purchasing tickets, the user must first enter the bus number, after which the system will display the entire number of bus seats along with the passengers’ names, and the user must then enter the number of tickets, seat number, and person’s name.
We will be using arrays, if-else logic, loop statements, and various functions like login(), cancel(), etc. to implement the project.
Pacman, like other classic games, is simple to play. In this game, you must consume as many small dots as possible to earn as many points as possible. The entire game was created using the C programming language. Graphics were employed in the creation of this game. To create the game, you have to first define the grid function to manage the grid structure. To control the movement, you can define functions such as move_right(), move_left(), move_up() and move_down(). C files to add ghosts and their functionalities, positions check, etc. can be added to make the game more fun. The customers will find this C Programming game to be simple to comprehend and manage.
Have a look on Exciting Project ideas on Software Testing
Combining Automation & Manual Testing
Testing Application Vulnerabilities Using Faulty Injection
Software Testing to Combat Cybersecurity and Risk Compliance
Software Testing in IoT (Internet of Things)
Testing Angular Software
Machine Learning and Artificial Intelligence to Enhance Automated Software Testing
Automated Network Security Testing Tool
Importance of Agile and DevOps Principles in Software Testing
Frequently Asked Questions

Who can apply for this course?
- All branch graduates students or undergraduate students who want to become professional in Software Testing.
- All stream students eg. Engineering, BCA, BSc, BBA, Bcom, BA.
- Any who wants to learn a new skill or improve skill for there career.
One should have any prior knowledge?
- Computer Science knowledge.
- Good knowledge any programming languages.
Any Completion Certificate is there?
- Yes, a course completion certificate is given after the completion of this course.
Is the course offline or online?
- Both the offline and online modes are available for this course.
Why to join Webdroid
Webdroid is a leading IT Training and Software Development Company. Our Features include Internships, Training, and College Projects on almost every technologies.
- 1 Year of Membership
- Daily doubt Solving Session.
- Interview Preparation.
- Personal Attention
- Live and Practical Projects.