Selenium Interview questions | capgemini

Briefly explain the functionality of your project and your role as tester. what part you have tested what things were manual where you used automation and why.

2. explain your framework/how do you maintain tests

Most of the times the page object model is used for the implementation. so you can tell them that ,

we had object repository different . there was a different class for different page in certain package. that class contains WebElements and Methods.

for test there was another package. each class belongs to a particular page where there are all tests present related to that page

we used to run the tests using testNG.xml.

the input data we have kept in an excel sheet and we used poi library t extract it with data providers.

3.what are disadvantages of page object model

Page Objects Model is best suited for applications which have multiple pages or states. Each of which have fields which can be uniquely referenced with respect to the page.

Advantages:

Object Repository: You can create an Object Repository of the fields segmented page-wise. This as a result provides a Page Repository of the application as well. Each page will be defined as a java class. All the fields in the page will be defined in an interface as members. The class will then implement the interface.

Functional Encapsulation: All possible functionality or operations that can be performed on a page can be defined and contained within the same class created for each page. This allows for clear definition and scope of each page’s functionality.

Low maintenance: Any User Interface changes can swiftly be implemented into the interface as well as class.

Low Redundancy: Helps reduce duplication of code. If the architecture is correctly and sufficiently defined, the POM gets more done in less code.

Efficient & Scalable: Faster than other keyword-driven/data-driven approaches where Excel sheets are to be read/written.

Disadvantages

High Setup Time & Effort: Initial effort investment in development of Automation Framework is high. This is the biggest weight of POM in case of web applications with hundreds/thousands of pages. It is highly suggested that if this model is decided to be implemented, then it should be done parallel to development of the application. Refer V-Model for Software Development Life Cycle.

Skilled labor: Testers not technically sound or aware of programming best practices are a nightmare in this case. Perhaps this is the biggest mistake to make, employing unskilled labor in hopes of training them during implementation. Unskilled testers need to undergo a Training Boot Camp to be ready for such an undertaking. Also the Architecture of the framework should be defined clearly and completely before development in order to avoid any loopholes in later stages. Every application is different and it may require the automation framework to be significantly tailored towards it.

Specific: Not a generic model. Automation Framework developed using POM approach is specific to the application. Unlike keyword-driven/data-driven frameworks, it is not a generic framework.

Irrespective of the disadvantages, POM is perhaps the most efficient and highly recommended approach towards any web application. As the framework matures it is perhaps easier to modify it into a hybrid framework from a POM approach than from other keyword/data driven approaches

Method overloading is used to increase the readability of the program.

Method overriding is used to provide the specific implementation of the method that is already provided by its super class.

2)

Method overloading is performed within class.

Method overriding occurs in inherited classes.

3)

M overloading can’t be performed by changing return type of the method only. Return type can be same or different in method overloading. But we must have to change the parameter.

Return type must be same in method overriding.

4)

It is the example of compile time polymorphism.

It is the example of run time polymorphism.

5)

In case of method overloading, signatures must be different.

In case of method overriding, signatures must be same.

6.static key word

When a variable is declared with the keyword “static”, its called a “class variable”. All instances share the same copy of the variable. A class variable can be accessed directly with the class, without the need to create a instance.

A method is declared as static when it doesn’t change the state of an object. and it has all the static variables only.

Test plan is the most important activity to ensure that there is initially a list of tasks and milestones in a baseline plan to track the progress of the project. It also defines the size of the test effort.It is the main document often called as master test plan or a project test plan and usually developed during the early phase of the project.

Below are the items of test plan template.

Test plan identifier

Introduction

Test items

Features to be tested

Features not to be tested

Approach

Item pass/fail criteria

Suspension criteria and resumption requirements

Test deliverables

Testing tasks

Environmental needs

Responsibilities

Staffing and training needs

Schedule

Risks and contingencies

Approvals

9. Test case objective and test strategy

Test case objective

Test case objective is nothing but. a description of the purpose of the test.

for e.g. if we want to test a functionality of a save button we will write objective as ,” To test the functionality of save button.”

Test strategy

A Test Strategy document is a high level document and normally developed by project manager. This document defines “Software Testing Approach” to achieve testing objectives. The Test Strategy is normally derived from the Business Requirement Specification document.

The Test Strategy document is a static document meaning that it is not updated too often. It sets the standards for testing processes and activities and other documents such as the Test Plan draws its contents from those standards set in the Test Strategy Document.

Some companies include the “Test Approach” or “Strategy” inside the Test Plan, which is fine and it is usually the case for small projects. However, for larger projects, there is one Test Strategy document and different number of Test Plans for each phase or level of testing.

10.throw & throws

Throw keyword is used to explicitly throw an exception.

e.g. throw new IOException(“This is not a valid class”);

throws keyword is used to declare an exception.

e.g. void myMethod()throws IOException {

//method code

}

11.Abstraction and encapsulation

Encapsulation is a process of binding or wrapping the data and the codes that operates on the data into a single entity. This keeps the data safe from outside interface and misuse. Encapsulation is implemented using private, package-private and protected access modifier.

Abstraction is the concept of hiding irrelevant details.In other words make complex system simple by hiding the unnecessary detail from the user.Abstraction is implemented in Java using interface and abstract class.