OOPS interview Questions and Answers Part – 2

What is function overloading?

Function overloading is defined as a normal function, but it has the ability to perform different tasks. It allows creation of several methods with the same name which differ from each other by type of input and output of the function.


void add(int &a, int &b);

void add(double &a, double &b);

What is Inline function?

Inline function is a technique used by the compilers and instructs to insert complete body of the function wherever that function is used in the program source code.

What is a virtual function?

Virtual function is a member function of class and its functionality can be overridden in its derived class. This function can be implemented by using a keyword called virtual, and it can be given during function declaration.

Virtual function can be achieved in C++, and it can be achieved in C Language by using function pointers or pointers to function.

What is friend function?

Friend function is a friend of a class that is allowed to access to Public, private or protected data in that same class. If the function is defined outside the class cannot access such information.

Friend can be declared anywhere in the class declaration, and it cannot be affected by access control keywords like private, public or protected.

What is operator overloading?

Operator overloading is a function where different operators are applied and depends on the arguments. Operator,-,* can be used to pass through the function , and it has their own precedence to execute.


class complex {

double real,

imag; public: complex(double r, double i) : real(r),

imag(i) {} complex operator+(complex a, complex b);

complex operator*(complex a, complex b);

complex& operator=(complex a, complex b);


What is an abstract class?

An abstract class is a class which cannot be instantiated. Creation of an object is not possible with abstract class, but it can be inherited. An abstract class can contain only Abstract method. Java allows only abstract method in abstract class while for other language it allows non-abstract method as well.

What is a ternary operator?

Ternary operator is said to be an operator which takes three arguments. Arguments and results are of different data types, and it is depends on the function. Ternary operator is also called as conditional operator.

What is the use of finalize method?

Finalize method helps to perform cleanup operations on the resources which are not currently used. Finalize method is protected, and it is accessible only through this class or by a derived class.

What are different types of arguments?

A parameter is a variable used during the declaration of the function or subroutine and arguments are passed to the function, and it should match with the parameter defined. There are two types of Arguments.

  • Call by Value – Value passed will get modified only inside the function, and it returns the same value whatever it is passed it into the function.
  • Call by Reference – Value passed will get modified in both inside and outside the functions and it returns the same or different value.

What is super keyword?

Super keyword is used to invoke overridden method which overrides one of its superclass methods. This keyword allows to access overridden methods and also to access hidden members of the superclass.

It also forwards a call from a constructor to a constructor in the superclass.

What is method overriding?

Method overriding is a feature that allows sub class to provide implementation of a method that is already defined in the main class. This will overrides the implementation in the superclass by providing the same method name, same parameter and same return type.

What is an interface?

An interface is a collection of abstract method. If the class implements an inheritance, and then thereby inherits all the abstract methods of an interface.

What is exception handling?

Exception is an event that occurs during the execution of a program. Exceptions can be of any type – Run time exception, Error exceptions. Those exceptions are handled properly through exception handling mechanism like try, catch and throw keywords.

Difference between overloading and overriding?

Overloading is static binding whereas Overriding is dynamic binding. Overloading is nothing but the same method with different arguments, and it may or may not return the same value in the same class itself.

Overriding is the same method names with same arguments and return types associates with the class and its child class.

Difference between class and an object?

An object is an instance of a class. Objects hold any information, but classes don’t have any information. Definition of properties and functions can be done at class and can be used by the object.

Class can have sub-classes, and an object doesn’t have sub-objects.

What is an abstraction?

Abstraction is a good feature of OOPS, and it shows only the necessary details to the client of an object. Means, it shows only necessary details for an object, not the inner details of an object. Example – When you want to switch on television, it not necessary to show all the functions of TV. Whatever is required to switch on TV will be showed by using abstract class.

What are access modifiers?

Access modifiers determine the scope of the method or variables that can be accessed from other various objects or classes. There are 5 types of access modifiers, and they are as follows:.

  •  Private.
  • Protected.
  • Public.
  • Friend.
  • Protected Friend.

What is sealed modifiers?

Sealed modifiers are the access modifiers where it cannot be inherited by the methods. Sealed modifiers can also be applied to properties, events and methods. This modifier cannot be applied to static members.

 How can we call the base method without creating an instance?

Yes, it is possible to call the base method without creating an instance. And that method should be,.

Static method.

Doing inheritance from that class.-Use Base Keyword from derived class.

What is the difference between new and override?

The new modifier instructs the compiler to use the new implementation instead of the base class function. Whereas, Override modifier helps to override the base class function.

What are the various types of constructors?

There are three various types of constructors, and they are as follows:.

– Default Constructor – With no parameters.

– Parametric Constructor – With Parameters. Create a new instance of a class and also passing arguments simultaneously.

– Copy Constructor – Which creates a new object as a copy of an existing object.

What is early and late binding?

Early binding refers to assignment of values to variables during design time whereas late binding refers to assignment of values to variables during run time.

What is ‘this’ pointer?

THIS pointer refers to the current object of a class. THIS keyword is used as a pointer which differentiates between the current object with the global object. Basically, it refers to the current object.

What is the difference between structure and a class?

Structure default access type is public, but class access type is private. A structure is used for grouping data whereas class can be used for grouping data and methods. Structures are exclusively used for data and it doesn’t require strict validation, but classes are used to encapsulates and inherit data which requires strict validation.

What is the default access modifier in a class?

The default access modifier of a class is Private by default.

What are all the operators that cannot be overloaded?

Following are the operators that cannot be overloaded -.

  1. Scope Resolution (:: )
  2. Member Selection (.)
  3. Member selection through a pointer to function (.*)

 What is dynamic or run time polymorphism?

Dynamic or Run time polymorphism is also known as method overriding in which call to an overridden function is resolved during run time, not at the compile time. It means having two or more methods with the same name, same signature but with different implementation.

Do we require parameter for constructors?

No, we do not require parameter for constructors.

 What is a copy constructor?

This is a special constructor for creating a new object as a copy of an existing object. There will be always only on copy constructor that can be either defined by the user or the system.

Software Automation Estimation Process – Test Estimation Techniques used in SDLC

Estimation is the process of finding an estimate or approximation, which is a value that is usable for some purpose even if input data may be incomplete, uncertain, or unstable.

The Estimate is prediction or a rough idea to determine how much effort would take to complete a defined task. Here the effort is the time or cost. A rough idea how long a task would take to complete. An estimate is especially an approximate computation of the probable cost of a piece of work. An estimate is a forecast or prediction and approximate of what it would Cost.

The calculation of test estimation is based on:

  • Past Data and Past experience
  • Available documents and Knowledge
  • Assumptions
  • Calculated risks

The common question is that “Why do we estimate?”
The answer to this question is very simple, it is to avoid the exceeding time and overshooting budgets for testing activities we estimate the task.

Software Estimation Techniques

There are some Software Testing Estimation Techniques which can be used for estimating –

  1. Delphi Technique
  2.  Work Breakdown Structure (WBS)
  3. Functional Point Method
  4. Three Point Estimation


OOPS interview Questions and Answers Part -1

What is OOPS?

OOPS is abbreviated as Object Oriented Programming system in which programs are considered as a collection of objects. Each object is nothing but an instance of a class.

Write basic concepts of OOPS?

Following are the concepts of OOPS and are as follows:

  1. Abstraction
  2. Encapsulation
  3. Inheritance
  4. Polymorphism.

What is a class?

A class is simply a representation of a type of object. It is the plan/blueprint/template that describe the details of an object.

What is an object?

Object is termed as an instance of a class, and it has its own state, behavior and identity.

What is Encapsulation?

Encapsulation is an attribute of an object, and it contains all data which is hidden. That hidden data can be restricted to the members of that class.

Levels are Public, Protected, Private, Internal and Protected Internal.

What is Polymorphism?

Polymorphism is nothing but assigning behavior or value in a subclass to something that was already declared in the main class. Simply, polymorphism takes more than one form.

What is Inheritance?

Inheritance is a concept where one class shares the structure and behavior defined in another class. If inheritance applied on one class is called Single Inheritance, and if it depends on multiple classes, then it is called multiple Inheritance.

Define a constructor?

Constructor is a method used to initialize the state of an object, and it gets invoked at the time of object creation. Rules for constructor are –

  • Constructor Name should be same as class name.
  • Constructor must have no return type.

Define Destructor?

Destructor is a method which is automatically called when the object is made of scope or destroyed. Destructor name is also same as class name but with the tilde symbol before the name

Selenium WebDriver – Insert Verification Point

A verification point is a specialized step that compares two values and reports the result. A verification point compares the actuals from the test run, with the expected results in the test case.

You use a checkpoint to:

  • Verify the state of an object
  • Confirm that an application performs as expected

A verification point checks whether an application responds appropriately when a user performs tasks correctly while testing application. A verification point ensures that a user is barred from performing certain tasks and confirms that invalid or incomplete data are flagged with appropriate messages. Read More

Selenium WebDriver – Methods

While working with Selenium we need to use Java as well as Selenium WebDriver functions. WebDriver provides various methods to perform different actions on Web elements.

Common Selenium WebDriver Methods

Common elements methods for UI interaction

The following lists show details of some of the methods that selenium provides to perform actions on different web elements (listbox, editbox, checkbox, radio button) depending upon their type. Read More

Selenium WebDriver – Creating First Script

Recording and Exporting Script from IDE

We will record the test case using Selenium IDE and then export the test case using Java / JUnit 4 / WebDriver option. Follow the steps given below:

Step 1: Open Selenium IDE and verify that recording mode is ON

Step 2: Assuming that application Google search is already open in Firefox browser, Perform the following steps in IDE recording mode:

  • Search for an automationtutorial.com
  • Click on search button
  • Click on automationtutorial.com
  • Click on Selenium link in automationtutorial.com header

Read More

Selenium Webdriver- Environment Setup

To be able to use WebDriver for scripting, there are some pre-requisites that need to be in place like the basic environment setup. Users have to ensure that they have the initial configuration done. Setting up the environment involves the following steps.

  • Download and Install Java
  • Download and Configure Eclipse
  • Configure Selenium WebDriver

Download and Install Java

Read More

Selenium – Basics of Java Part 3

Working with Classes, Objects and Methods

Declaring Classes – You have seen classes defined in the following way:

Class MyClass {

// field, constructor, and

// method declarations


This is a class declaration. The class body contains all the code that provide for the lifecycle of the objects created from the class.

In general, class declarations can include these components, in order: Read More

Selenium – Basics of Java Part 2

Language and Syntax Basics


The Java programming language is statically-typed, which means that all variables must first declared before they can be used.

Example – int gear=1;

Data Type Default Value
Byte 0
Short 0
Int 0
Long 0L
Float 0.0f
Double 0.0d
Char \u0000′
String Null
Boolean FALSE

The Java programming language defines the following kinds of variable: Read More

Selenium – Basics of Java Part 1

We will focusing on Java as a programming language in selenium WebDriver we need to be comfortable with the basics of Java. This topic we will discuss about basic concepts around Java language, Syntax for basic Java statements, exception handling and concept of classes and objects.

Key Objectives:

  • Object oriented programming concepts
  • Language and syntax basics
  • Object, classes and method
  • Exception Handling

Read More