Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 51

A PROJECT REPORT

ON
QUALITY ENGINEERING ASSURANCE WITH SELENIUM &
JAVA INDUSTRIAL TRAINING AT

In partial fulfilment of the requirements for the award of the Degree of


BACHELOR OF TECHNOLOGY IN
ELECTRICAL ENGINEERING
2018-2022
SUBMITTED BY
ASHUTOSH MISHRA
18001007013

Department of Electrical Engineering

J.C. BOSE UNIVERSITY OF SCIENCE AND TECHNOLOGY, YMCA

Sec. 6 Faridabad, Haryana

1
TRAINING COMPLETION CERTIFICATE

2
CANDIDATE’S DECLARATION
I hereby certify that the work which is being presented in this project report on “QUALITY
ENGINEERING ASSURANCE SELENIUM & JAVA” submitted to “J.C. BOSE UNIVERSITY OF
SCIENCE & TECHNOLOGY, YMCA (FARIDABAD)”, for acceptance as the training report for 8 th
semester of degree in Bachelor of Technology in Electrical Engineering is prepared by me and the same
has not been submitted to any other Institution for any degree.

ASHUTOSH MISHRA
(18001007013)
J.C. Bose University of Science and Technology,
YMCA, Faridabad

3
EXAMINER CERTIFICATE

The Following examiners have accessed the project report and conducted the viva-voce Examination:

Internal Examiners External Examiners

Name: …………………………… Name: ……………………………

Affiliation: ………………………. Affiliation: ……………………….

Contact no: ……………….……. Contact no: ……………….…….

E-mail lD: ………………………. E-mail lD: ……………………….

Signature: ………………….……. Signature: ………………….…….

4
ACKNOWLEDGMENT
The internship opportunity I had with Cognizant was a great experience for learning and professional
development. Therefore, I am grateful to TPO of our college for provided me with an opportunity to be apart of
this company. I enjoyed my time at the company and g to have met so many wonderful people and professionals
who led me through the internship period. Special thanks to my Mentor-Ajit Singh, Coach-Mridula
Kapoor ,Trainer- Lakshmi Narasimhan for helping me and guiding me throughout my internship period in
Cognizant .Giving necessary advice and arranging all facilities during this time to make things easier .Solving my
doubts whenever needed, motivating me to do my best. I perceive this opportunity as a big milestone in my career
development. I will strive to use gained skills and knowledge in the best possible way and I will continue to work
on their improvement in order to attain desired career objectives. I am also grateful to Dr Sanjeev kumar
(Training & Placement officer) for conducting the Internship Drive in University successfully. Expressing my
heartiest gratitude to Dr. Anju Gupta (ChairpersonofElectrical Department) and Ms. Shipra Aggarwal
(coordinator) &Dr. Anubha Gautam(Mentor) for theirconstant encouragement and assistance during the
project period

ASHUTOSH MISHRA

18001007013

5
TABLE OF CONTENT

S. No. Content Page No.


1. Title 01
2. Training Completion Certificate 02
3. Candidate Declaration 03
4. Examiner Certificate 04
5. Acknowledgement 05
6. Table of Content 06
7. CHAPTER 1: Company Profile 07 – 09
8. CHAPTER 2: Introduction 10 – 23
9. CHAPTER 3: Technologies Learnt 24 - 31
10. CHAPTER 4: Project 32 - 38
11. Conclusion 39
12. References 40
13. Brief Profile of Student 41

6
CHAPTER 1
COMPANY PROFILE

Cognizant Technology Solutions, founded on January 26, 1994 by Kumar Mahadev and Francisco
D’Souza, is an American multinational IT services provider. It is headquartered in Teaneck, New
Jersey, United States. Cognizant is part of the NASDAQ-100 and trades under CTSH. It also provides
information technology, consulting, and business process outsourcing services.

Cognizant provides information technology, information security, consulting, ITO and BPO
services.The company also develops, licenses, implements, and supports proprietary and third-party
software products and platforms.
Cognizant drives and executes large business and IT transformation programs, and management
consulting engagements. The company also helps clients position better compared to their competitors
by conceptualizing and building innovative solutions. With a leadership team comprised of veterans of
top tier consulting firms and the industry, Cognizant claims to be building "a global talent base to
provide 'Tier 1' consulting services with a deep domain expertise."

SERVICES PROVIDED BY COGNIZANT :-

 DIGITAL BUSINESS
Reshaping business models, modernizing products and services, and enhancing customer experiences to
drive growth
• Digital Strategy
• Connected Products
• Artificial Intelligence
• Interactive

7
• Softvision Digital Engineering

 DIGITAL OPERATIONS
Reinventing and managing an organization’s most essential business processes with new ways of working.
• Industry & Platform Solutions
• Intelligent Process Automation
• Enterprise Services

 DIGITAL OPERATIONS
Reinventing and managing an organization’s most essential business processes with new ways of
working.
• Industry & Platform Solutions
• Intelligent Process Automation
• Enterprise Services

 DIGITAL SYSTEMS AND OPERATIONS


Simplifying, modernizing and securing the IT infrastructure and applications that are the Backbone of
every business
• Legacy Transformation
• Core Modernization
• Cloud Enablement
• Digital Engineering
• Security

 CONSULTING
Working across these digital practice areas, and across industries, to help clients define their path to
becoming digital.

8
 STRATEGIC CAPABILITIES
When we do digital for clients, we systematically rethink how they create value in their organizations
with six key capabilities:

 Core Modernization
 Artificial Intelligence
 Intelligence Process Automation
 Industry & Platform Solutions
 Digital Engineering

In the course of dot com boom, it flourished by receiving the application maintenance work and
gradually moved into application development complex systems integration and consulting work. It
grew rapidly during the 2000s and became a Fortune 500 company in 2011. It is a member of the
NASDAQ-100, the S & P 500, the Forbes Global 2000.

9
CHAPTER 2
INTRODUCTION
Role: Programmer Analyst
Trainee

Domain: QUALITY ENGENEERING ASSURANCE

Cognizant provides 4 to 6 months internship for its campus selected students for PAT (Programme
Analyst Trainee) role. This program engages young talents with a comprehensive learning pathway,
giving these millennial an opportunity to interact with Subject Matter Experts (SME) and understand the
corporate environment and groom themselves even before they join us.Cognizant emphasizes on Learner
Autonomy where students take charge of their own learning, with the available tools and resources.
More focus is on “learning” than “teaching”.

Gen C learning program engages young talents with a comprehensive learning pathway, giving the
millennials an opportunity to interact with Subject Matter Experts (SME), understand the corporate
environment, and groom themselves.
Cognizant emphasizes on Learner Autonomy where students take charge of their own learning, with the
available tools and resources. More focus is on “learning” than “teaching”. Get ready to embark your
own learning adventure!

Program at a glance

Learning consisting of 2 Stages:


 Stage 1 – QEA Basics (6 weeks)
 Stage 2 – Selenium with Digital Technologies (7 weeks – Inclusive of the Project) Business
Aligned Project

Program Highlights

• The complete learning journey is formalized using adult learning principles, where problem
solving and applying the skills gained are given more importance than conceptual learning.

• Learner Autonomy is encouraged via Flipped Classroom, where the learning platform offers
world class learning resources, and students would not be constrained by tutelage of an
instructor.

• Get mentored by SME, whose motivation and guidance will help you accelerate in the learning
journey.
10
• This program is applicable to Interns as well as GEN Cs.

11
2.3 PROGRAM SEQUENCE

12
KEY LEARNING COMPONENTS OF THE PROGRAM

Cognizant has collaborated with Udemy to provide world class learning videos for the evolving future
of work. These Udemy programs are woven into a learning path, empowering you to plan and learn at
your style.

The program also connects with Subject Matter Experts (SMEs) to get the professional guidance on
queries in the learning journey.

The program continuously evaluates if one isable to apply those self-learnt skills to solve a business
problem. Depicted below are the three key learning components, which are distributedacross the learning
journey for the purpose of continuous evaluation.

One has to score a minimum of 70% in each of the key components.

Throughout the learning path, all the Mandatory Learning Components will attribute to the Performance
Health Score. Additional Learning Components helps to enhance expertise level.

BH SESSION

Business communication is the process of sharing information between people within and outside a
company. Effective business communication is how employees and management interact to reach
organizational goals. Its purpose is to improve organizational practices and reduce errors.
We have 2 hours sessions for 3 weeks in the afternoons apart from the regular schedule. This is a platform

13
where we get to know each other and also about ourselves. We are rated based on our communication
and interpersonal skills.

AGILE AND DEVOPS WORKSHOP

Agile training is a way to improve project performance by teaching the basic concepts of Agile to an
organization or team and how to implement it. While a lot of people talk about using Agile, there are
many misunderstandings about the distinctions between different methods.
DevOps is a set of practices that combines software development (Dev) and IT operations (Ops). It aims
to shorten the systems development life cycle and provide continuous delivery with high software
quality. We had workshops on each topic for an entire day handled by one of the company's most
experienced personnel. Since we need to use this on our project and it's essential for all the projects in
which we are going to be deployed.

MEDITATION AND UNWIND RADIO SESSIONS :-

Along with special training mediation sessions were also arranged for all of us with unwind radio
sessions too to make the associate work pressure free, in which different songs from different cultures
were played so that diversity can be maintained between the employees.

INTRODUCTION

Teknoturf'sTekStac – unique powerful learning and assessment platform.


The TekStac platform keeps a record of performance of each intern has well track the learning path. It
also consists of FAQ section and discussion forum for doubts. The following are its features:
 Dashboard
 Performance Tracker
 Discussion Community
 Help Desk-Intern can reach out there if they face any issues with platform.
 Feedback section-Intern give feedback of their learning experience

14
3.2 DASHBOARD

PERFORMANCE TRACKER
The performance tracker keeps a track of every week’s hands-on done, assessment scores and the overall
performance of each intern. Below are some glimpses of the same.

15
DISCUSSION FORUM

One Cognizant Portal

16
QUALITY ASSURANCE IN SOFTWARE TESTING:

Quality Assurance in Software Testing is defined as a procedure to ensure the quality of software
products or services provided to the customers by an organization. Quality assurance focuses on
improving the software development process and making it efficient and effective as per the quality
standards defined for software products. Quality Assurance is popularly known as QA Testing.

Quality Assurance methodology has a defined cycle called PDCA cycle or Deming cycle. The
phases of this cycle are:

 Plan
 Do
 Check
 Act

These above steps are repeated to ensure that processes followed in the organization are evaluated and
improved on a periodic basis. Let's look into the above QA Process steps in detail
• Plan - Organization should plan and establish the process related objectives anddetermine the
processes that are required to deliver a high-Quality end product.
• Do - Development and testing of Processes and also "do" changes in the processes
• Check - Monitoring of processes, modify the processes, and check whether it meets the
predetermined objectives.
• Act - A Quality Assurance tester should implement actions that are necessary to achieve
improvements in the processes.
An organization must use Quality Assurance to ensure that the product is designed and implemented
with correct procedures. This helps reduce problems and errors, in the final product.

17
Quality Control:

Quality control popularly abbreviated as QC. It is a Software Engineering process used to ensure quality
in a product or a service. It does not deal with the processes used to create a product; rather it examines
the quality of the "end products" and the final outcome.

Fig:3.2 Quality Control


The main aim of Quality control is to check whether the products meet the specifications and
requirements of the customer. If an issue or problem is identified, it needs to be fixed before delivery
to the customer.
QC also evaluates people on their quality level skill sets and imparts training and certifications. This
evaluation is required for the servicebased organization and helps provide "perfect" service to the
customers.

Difference between Quality Control and Quality Assurance:

Sometimes, QC is confused with the QA. Quality control is to examine the product or serviceand

check for the result. Quality Assurance in Software Engineering is to examine the processes and
make changes to the processes which led to the end-product.

18
SELENIUM:

Selenium is an open source umbrella project for a range of tools and libraries aimed at
supporting browser automation.[3] It provides a playback tool for authoring functional tests across most
modern web browsers, without the need to learn a test scripting language (Selenium IDE).[4] It also
provides a test domain-specific language (Selenese) to write tests in a number of popular programming
languages, including JavaScrip
Selenium IDE is a complete integrated development environment (IDE) for Selenium tests. It is
implemented as a Firefox Add-On and as a Chrome Extension. It allows for recording, editing and
debugging of functional tests. It was previously known as Selenium Recorder. Selenium-IDE was
originally created by Shinya Kasatani and donated to the Selenium project in 2006. Selenium IDE was
previously little-maintained.[9] Selenium IDE began being actively maintained in 2018.[10][11][12][13]
Scripts may be automatically recorded and edited manually providing autocompletion support and the
ability to move commands around quickly. Scripts are recorded in Selenese, a special test scripting
language for Selenium. Selenese provides commands for performing actions in a browser (click a link,
select an option) and for retrieving data from the resulting pages.
Selenium Grid is a server that allows tests to use web browser instances running on remote machines.
With Selenium Grid, one server acts as the central hub. Tests contact the hub to obtain access to browser
instances. The hub has a list of servers that provide access to browser instances (WebDriver nodes), and
lets tests use these instances. Selenium Grid allows running tests in parallel on multiple machines and to
manage different browser versions and browser configurations centrally (instead of in each individual
test).
The ability to run tests on remote browser instances is useful to spread the load of testing across
several machines and to run tests in browsers running on different platforms or operating systems. The
latter is particularly useful in cases where not all browsers to be used for testing can run on the same platform.

19
SQL

SQL is a standard language for storing, manipulating and retrieving data in databases.

Our SQL tutorial will teach you how to use SQL in: MySQL, SQL Server, MS Access, Oracle, Sybase,
Informix, Postgres, and other database systems.

SQLN is a domain-specific language used in programming and designed for managing data held in
a relational database management system (RDBMS), or for stream processing in a relational data stream
management system (RDSMS). It is particularly useful in handling structured data, i.e. data
incorporating relations among entities and variables. SQL offers two main advantages over older read–
write APIs such as ISAM or VSAM. Firstly, it introduced the concept of accessing many records with
one single command. Secondly, it eliminates the need to specify how to reach a record, e.g. with or
without an index.

20
API
APIs are mechanisms that enable two software components to communicate with each other using a set of
definitions and protocols. For example, the weather bureau’s software system contains daily weather data.
The weather app on your phone “talks” to this system via APIs and shows you daily weather updates on your
phone.

API stands for Application Programming Interface. In the context of APIs, the word Application refers to
any software with a distinct function. Interface can be thought of as a contract of service between two
applications. This contract defines how the two communicate with each other using requests and responses.
Their API documentation contains information on how developers are to structure those requests and
responses.

2
SDLC
The Software Development Life Cycle (SDLC) refers to a methodology with clearly defined processes for
creating high-quality software. in detail, the SDLC methodology focuses on the following phases of software
development:

 Requirement analysis
 Planning
 Software design such as architectural design
 Software development
 Testing
 Deployment
 SDLC or the Software Development Life Cycle is a process that produces software with the highest
quality and lowest cost in the shortest time possible. SDLC provides a well-structured flow of
phases that help an organization to quickly produce high-quality software which is well-tested and
ready for production use.

 The SDLC involves six phases as explained in the introduction. Popular SDLC models
include the waterfall model, spiral model, and Agile model.

 SDLC works by lowering the cost of software development while simultaneously improving quality
and shortening production time. SDLC achieves these apparently divergent goals by following a
plan that removes the typical pitfalls of software development projects. That plan starts by
evaluating existing systems for deficiencies.
 Next, it defines the requirements of the new system. It then creates the software through the stages
of analysis, planning, design, development, testing, and deployment. By anticipating costly mistakes
like failing to ask the end-user or client for feedback, SLDC can eliminate redundant rework and
after-the-fact fixes.
 It’s also important to know that there is a strong focus on the testing phase. As the SDLC is a
repetitive methodology, you have to ensure code quality at every cycle. Many organizations tend
to spend few efforts on testing while a stronger focus on testing can save them a lot of rework,
time, and money. Be smart and write the right types of tests.

2
TESTING METHODS

Static Testing
It is also known as Verification in Software Testing. Verification is a static method of checking
documents and files. Verification is the process, to ensure that whether we are building the product right
i.e., to verify the requirements which we have and to verify whether we are developing the product
accordingly or not.

Dynamic Testing

It is also known as Validation in Software Testing. Validation is a dynamic process of testing the real
product. Validation is the process, whether we are building the right product i.e., to validate the product
which we have developed is right or not.

TESTING TYPES

Back-Box Testing
Black box testing, also known as behavioral testing, is a software testing method in which the internal
structure/design/implementation of the item being tested is not known to the tester. These tests can be
functional or non-functional, though usually functional. This method is named so because the software
program, in the eyes of the tester, is like a black box; inside which one cannot see. This method attempts
to find errors in the following categories:

 Incorrect or missing functions.


 Interface errors.
 Errors in data structures or external database access.
 Behavior or performance errors.
 Initialization and termination errors.

2
White-Box Testing
White box testing (also known as Clear Box Testing, Open Box Testing, Glass Box Testing, Transparent
Box Testing, Code-Based Testing or Structural Testing) is a software testing method in which the
internal structure/design/implementation of the item being tested is known to the tester. The tester
chooses inputs to exercise paths through the code and determines the appropriate outputs. Programming
know-how and the implementation knowledge is essential. White box testing is testing beyond the user
interface and into the nitty-gritty of a system. This method is named so because the software program, in
the eyes of the tester, is like a white/transparent box; inside which one clearly sees.

MANUAL TESTING

Manual testing is the process of testing the software manually to find the defects. Tester should have the
perspective of end users and to ensure all the features are working as mentioned in the requirement
document. In this process, testers execute the test cases and generate the reports manually without using
any automation tools.
Here in Broadway test cases were written using MS-excel for manual testing. The practice of writing test
cases in Excel gave me chance to make a logical table for calculations as well as for testing various
outcomes were calculated according to input and were displaying correct output or not. In general I
covered with this following topics to write manual test cases.
 Test case ID
 Test title
 Test summary
 Pre conditions
 Test Priority
 Test steps
 Test data
 Expected Result
 Actual result
 Status

2
SDLC - Waterfall Model

The Waterfall Model was the first Process Model to be introduced. It is also referred to as a linear-
sequential life cycle model. It is very simple to understand and use. In a waterfall model, each phase must
be completed before the next phase can begin and there is no overlapping in the phases.
The Waterfall model is the earliest SDLC approach that was used for software development.
The waterfall Model illustrates the software development process in a linear sequential flow. This means that
any phase in the development process begins only if the previous phase is complete. In this waterfall model,
the phases do not overlap.
Waterfall Model - Design
Waterfall approach was first SDLC Model to be used widely in Software Engineering to ensure success of
the project. In "The Waterfall" approach, the whole process of software development is divided into separate
phases. In this Waterfall model, typically, the outcome of one phase acts as the input for the next phase
sequentially.
The following illustration is a representation of the different phases of the Waterfall Model.

The sequential phases in Waterfall model are −


 Requirement Gathering and analysis − All possible requirements of the system to be
developed are captured in this phase and documented in a requirement specification
document.

2
 System Design − The requirement specifications from first phase are studied in this phase and
the system design is prepared. This system design helps in specifying hardware and system
requirements and helps in defining the overall system architecture.
 Implementation − With inputs from the system design, the system is first developed in small
programs called units, which are integrated in the next phase. Each unit is developed and
tested for its functionality, which is referred to as Unit Testing.
 Integration and Testing − All the units developed in the implementation phase are integrated
into a system after testing of each unit. Post integration the entire system is tested for any
faults and failures.
 Deployment of system − Once the functional and non-functional testing is done; the product
is deployed in the customer environment or released into the market.
 Maintenance − There are some issues which come up in the client environment. To fix those
issues, patches are released. Also to enhance the product some better versions are released.
Maintenance is done to deliver these changes in the customer environment.
All these phases are cascaded to each other in which progress is seen as flowing steadily downwards (like a
waterfall) through the phases. The next phase is started only after the defined set of goals are achieved for
previous phase and it is signed off, so the name "Waterfall Model". In this model, phases do not overlap.

Waterfall Model - Application


Every software developed is different and requires a suitable SDLC approach to be followed based on the
internal and external factors. Some situations where the use of Waterfall model is most appropriate are −
 Requirements are very well documented, clear and fixed.
 Product definition is stable.
 Technology is understood and is not dynamic.
 There are no ambiguous requirements.
 Ample resources with required expertise are available to support the product.
 The project is short.
Waterfall Model - Advantages
The advantages of waterfall development are that it allows for departmentalization and control. A schedule
can be set with deadlines for each stage of development and a product can proceed through the development
process model phases one by one.
Development moves from concept, through design, implementation, testing, installation, troubleshooting, and
ends up at operation and maintenance. Each phase of development proceeds in strict order.
Some of the major advantages of the Waterfall Model are as follows −
 Simple and easy to understand and use
 Easy to manage due to the rigidity of the model. Each phase has specific deliverables and a
review process.
 Phases are processed and completed one at a time.
 Works well for smaller projects where requirements are very well understood.
 Clearly defined stages.
 Well understood milestones.
 Easy to arrange tasks.

2
SCRUM
Scrum is an Agile framework that helps teams collaborate and get high-impact work done. The Scrum
framework provides a blueprint of values, roles, and guidelines to help your team focus on iteration
and continuous improvement.

Traditionally, Scrum is run in a sprint, which are usually two-week long working sessions with specific
deliverables due at the end. There are two additional Scrum events. Daily standups, as the name suggests,
happen once a day. These are an opportunity for the Scrum team to connect for 15 minutes and coordinate
daily activities. The second event—the sprint retrospective—happens once the sprint is over. During the
sprint retrospective, which will be run by the Scrum master, the team has a chance to reflect on their sprint
and make adjustments for future sprints.

How Scrum works

The most important thing to know if you’re going to run a Scrum process is that the Scrum framework relies
on a system of continuous improvement. In Scrum, you recognize you might not know anything at the start
of a sprint—and you can adjust your processes and needs as needed based on the information you gain
during the sprint process.

Typical Scrum events

So: what exactly is Scrum? What will your team be doing if you use Scrum? Here’s how the Scrum process
shakes out:

1. Organize your backlog. To begin a Scrum sprint, your team lead (also known as the Scrum master) will
identify what work to pull from your product backlog—i.e. work that needs to be done. In order to have
the best Scrum sprint possible, make sure you have your product backlog clearly documented in one place.
Consider using a project management tool to collect all of this information.
2. Hold a sprint planning session. Before you can start your Scrum sprint, you need to know what you’ll be
focusing on. During your sprint planning session, you’ll evaluate what work from the backlog your team
will focus on during this specific Scrum sprint.

2
3. Start your Scrum sprint. Typically, a sprint is two weeks long, though you can have shorter or longer
sprints depending on what works best for your team. During your sprint, your team will work on the
items from your backlog that you’ve outlined during your sprint planning session.

4. Host daily Scrum standups. Plan to meet with your Scrum team for 15 minutes every day. Daily standup
meetings are your chance to debrief about what you’re working on and triage any unexpected blockers you
may have run into. To run the most effective daily standup, try our free daily standups template.
5. Present your work during the sprint review. Once you’ve finished your Scrum sprint, your team should
come together for a sprint review. During this time, your Scrum team will present the work that’s “Done”
for stakeholder approval or inspection.

6. Connect and reflect during the sprint retrospective. After your sprint is over, take some time to
discuss how it went, and what could be improved in the future. Remember that Scrum believes in a
process of continuous improvement—so don’t be afraid to try new processes or re-work strategies that
feel less effective during your next sprint.

2
AUTOMATED TESTING

Automation testing is the process of testing the software using an automation tool to find the defects. In
this process, testers execute the test scripts and generate the test results automatically by using
automation tools. Some of the famous automation testing tools for functional testing are QTP/UFT and
Selenium. Automated software testing's main benefit is that it simplifies as much manual effort as
possible. If unit testing consumes a large percentage of a QA team's resources, for example, then this
process should be evaluated as a candidate for automation. Automated testing tools execute tests, report
outcomes and compare results with earlier test runs. Automated tests can run repeatedly at any time of
day. This approach fits in with continuous testing, software development practices.

Benefits of automated testing

 Run test Quickly and Effectively


 Cost Effective
 Technically Beneficial
 Reports Clarity

Unified Functional Testing (UFT)

UFT/QTP is an automated functional Testing tool that helps testers to execute automated tests in order to
identify any errors, defects or gaps in contrary to the expected results of the application under test. It was
designed by Mercury Interactive and later on acquired by HP. Full form of QTP is Quick Test
Professional while UFT means Unified Functional Testing. UFT/QTP is the best testing tool because of
following reasons.

 It allows Business Process Testing (BPT)


 QTP Testing is based on scripting language VB script
 Micro Focus's UFT uses VBScript to automate applications
 It supports the largest pool of software development environments like SAP, Oracle etc.
 QTP tool helps the testers to perform an automated functional testing uninterrupted.

2
Some advantages of QTP Automation
 It supports record and playback
 It uses an active screen to record scripts and helps tester in referring the screen
object properties
 It has excellent object identification process or mechanism
 It supports different add-ins like Oracle, Java, .NET, Web Forms etc.
 It allows you to enhance the existing tests even without the AUT through an active screen.
 It supports popular automation frameworks- keyword driven testing approach,
modular testing approach, data-driven testing approach, etc.
 It comes with an inbuilt IDE.
 Different types of suites like Smoke, Regression, and Sanity can be easily maintained.
 It supports XML.

TESTING APPLICATIONS THROUGH UFT


UFT/QTP is an automated functional Testing tool that helps testers to execute automated tests in order to
identify any errors, defects or gaps in contrary to the expected results of the application under test. It was
designed by Mercury Interactive and later on acquired by HP. UFT/QTP is the best testing tool because
of following reasons.
 It is an icon-based tool that automates the regression and Functional Testing of an application
 Both technical, as well as a non-technical tester, can use Micro Focus QTP
 It provides both features- Record as well as Playback
 We can test Desktop as well as the Web-based applications

 It supports the largest pool of software development environments like Oracle. QTP tool
helps the testers to perform an automated functional testing uninterrupted.

QTP/UFT allows tester to test both web pages and websites as well as desktop application (both online
and offline). Here we can run and test any application either by writing codes manually or by using
record button, going to desire application and giving the test input, stopping record button and making
the code by adding attributes and giving a set of conditions to check.

3
TESTING WEBPAGE AND WEBSITE THROUGH SELENIUM

Selenium is a free (open source) automated testing suite for web applications across different
browsers and platforms. It is quite similar to QTP/UFT but difference is only that Selenium
focuses on automating web-based applications. Testing done using Selenium tool is usually
referred as Selenium Testing.
As Selenium is an open source software and platform independent, it is more popular than
QTP/UFT. Also compared to QP/UFT, it is easier to use. Selenium was previously
Firefox extension which later grew up and became today’s web base application testing tool.
Selenium has 4 components by far. They are
 Selenium Integrated Development Environment
 Selenium Remote Control
 WebDriver
 Selenium Grid

Selenium also allows record and play button like QTP/UFT but it didn’t support complex
locators like XPath and link name. Thus, selenium Remote control and WebDriver fusedand
created Selenium 2 which later got improved and became Selenium 3.
Selenium allows tester to create a test code for each component such as dropdown, button or text
field and provide detailed testing to find the bug. It uses different functions such as find. Element
and select. Element to find the exact component to test and select the exact component to test

3
CHAPTER 3
TECHNOLOGIES LEARNT

STAGE 1 - QEA BASICS

 Functional Testing
 Basics of Automation Concepts
 ICT -Functional Testing (Integrated Capability Test)
 Programming with Java
 WebUI
 JavaScript
 Data Source (SQL, XML, JSON)

STAGE 2 – SELENIUM WITH DIGITAL TECHNOLOGY

 WebDriver Basics
 Project
Deliverables Week 8
 Automation Techniques and Dynamic XPath
 Project
Deliverables Week 9
 WebDriver with POM and Apache POI
 Project
Deliverables Week 10
and 11
 Selenium with TestNG
 Selenium with XML & JSON
 Project Deliverables
 ICT Selenium (Integrated Capability Test)
 Webservices, SOAPUI & PostMan
 BDD, Cucumber and DevOps
 Project Deliverables

3
Functional Testing
Functional testing is the process through which QAs determine if a piece of software is acting in
accordance with pre-determined requirements. It uses black-box testing techniques, in which the
tester has no knowledge of the internal system logic. Functional testing is only concerned with
validating if a system works as intended

Automation Testing
Automation testing is a Software testing technique to test and compare the actual outcome with
the expected outcome. This can be achieved by writing test scripts or using any automation
testing tool. Test automation is used to automate repetitive task repetitive task and other testing
task which is difficult to perform manually.

3
Programming with Java

Java is a popular programming language, created in 1995.

It is owned by Oracle, and more than 3 billion devices run Java.

It is used for:

 Mobile applications (specially Android apps)


 Desktop applications
 Web applications
 Web servers and application servers
 Games
 Database connection

Concepts from core Java:


OOPS concepts (Data Abstraction, Encapsulation, Inheritance, Polymorphism)

Basic Java constructs like loops and data types

String handling

Collection framework

Multithreading

Exception handling

Generics

Synchronisation

Serialisation & De-serialisation

Concurrent collection

Advanced Java:
 JDBC (Java Database Connectivity)

3
WebUI

“WebUI” is a term used to loosely describe parts of Chrome's UI implemented with web
technologies (i.e. HTML, CSS, JavaScript).
The Web user interface is the easiest type of management to use. Because of its simple point-and-
select nature, it gives the end user a jumpstart into the management of the Juniper firewall.

Examples of WebUI in Chromium:

 Settings (chrome://settings)

What's different from a web page?


WebUIs are granted super powers so that they can manage Chrome itself. For example, it'd be
very hard to implement the Settings UI without access to many different privacy and security
sensitive services. Access to these services are not granted by default.

3
JAVASCRIPT
JavaScript often abbreviated JS, is a programming language that is one of the core technologies
of the World Wide Web, alongside HTML and CSS.

JavaScript is a high-level, often just-in-time compiled language that conforms to


the ECMAScript standard. It has dynamic typing, prototype-based object-orientation, and first-
class functions. It is multi-paradigm, supporting event-driven, functional,
and imperative programming styles. It has application programming interfaces (APIs) for
working with text, dates, regular expressions, standard data structures, and the Document
Object Model (DOM).

DATA SOURCE

The data sources define where the database tables reside and where the software runs logic
objects for the enterprise. Data sources can point to:

 A database in a specific location (for example, a local database, such as E1Local


located in \E900\data, or an IBM i data library, such as PRODDATA)
 A specific machine in the enterprise that processes logic

Data Source Types

3
Data sources are the building blocks that you use to set up an enterprise configuration. Data
sources define all the databases and logic machines required by the Oracle JD Edwards
EnterpriseOne configuration. Each database and machine in the enterprise must be defined as a
data source for JD Edwards EnterpriseOne to recognize it.

There are two types of data sources:

Database Data Sources

A database is a grouping of tables in a database management system. You must identify


databases to the applications that access them. You can distribute databases across a
network and involve various servers and database management systems.

Logic Machine Data Sources

A logic machine is the machine on which batch applications and master business
functions run. You must identify logic machines using a data source definition. The data
source definition must include the network information about the machine, such as a
server name
- HP9000, for example

Selenium
Selenium is an open-source tool that automates web browsers. It provides a single interface that
lets you write test scripts in programming languages like Ruby, Java, NodeJS, PHP, Perl,
Python, and C#, among others.

Selenium WebDriver
Also known as Selenium 2.0, WebDriver executes test scripts through browser-specific drivers.
It consists of:

API
Application Programming Interface. Ports test scripts you write in Ruby, Java, Python, or C# to
Selenese (Selenium’s own scripting language), through bindings.

3
Library
Houses the API and language-specific bindings. Although plenty of third-party bindings exist to
support different programming languages, the core client-side bindings supported by the main
project are: Selenium Java (as selenium jar files), Selenium Ruby, Selenium dotnet (or Selenium
C#, available as .dll files), Selenium Python, and Selenium JavaScript (Node).

Driver
Executable module that opens up a browser instance and runs the test script. Browser-specific—
for instance, Google develops and maintains Chromedriver for Selenium to support automation
on Chromium/Chrome.

Framework
Support libraries for integration with natural or programming language test frameworks, like
Selenium with Cucumber or Selenium with TestNG.

Selenium IDE
Selenium IDE is a Chrome and Firefox plugin that can log ‘natural’ interactions in the browser
and generate its code in programming languages like C#, Java, Python, and Ruby, as well as
Selenese (Selenium’s own scripting language).

What is WebService?

Web Services is the mechanism or the medium of communication through which two applications
/ machines will exchange the data irrespective of their underline architecture and the technology.

What is Web Service Testing?

Web Services Testing is a type of software testing that validates Web services. The purpose of
Web Services Testing is to check the functionality, reliability, performance, and security of an
API(Application Program Interface). Web Service Testing is similar to unit testing in some
cases. You can test a Webservice manually or create your own automation code or use an off-the
shelf automation tool like Postman.

3
Web Service Protocols

Web Services can be implemented in different ways, but the following two are the popular
implementations approaches.

1. SOAP (Simple Object Access Protocol)


2. REST (Representational State Transfer architecture)

SOAP

SOAP is a standard protocol defined by the W3C Standard for sending and receiving web service
requests and responses.

SOAP uses the XML format to send and receive the request and hence the data is platform
independent data. SOAP messages are exchanged between the provider applications and
receiving application within the SOAP envelops.

REST

REST means REpresentational State Transfer; it is an architecture that generally runs over
HTTP. The REST style emphasizes the interactions between clients and services, which are
enhanced by having a limited number of operations. REST is an alternative to SOAP (Simple
Object Access Protocol) and instead of using XML for request REST uses simple URL in some
cases. Unlike SOAP, RESTFUL applications uses HTTP build in headers to carry meta-
information.

3
XML
What is XML?

 XML stands for eXtensible Markup Language


 XML is a markup language much like HTML
 XML was designed to store and transport data
 XML was designed to be self-descriptive
 XML is a W3C Recommendation

The XML above is quite self-

descriptive:

 It has sender information


 It has receiver information
 It has a heading
 It has a message body
 Extensible Markup Language (XML) is a markup language and file format for
storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for
encoding documents in a format that is both human-readable and machine-readable.
The World Wide Web Consortium's XML 1.0 Specification[2] of 1998[3] and several other
related specifications[4]—all of them free open standards—define XML.[5]
 The design goals of XML emphasize simplicity, generality, and usability
across the Internet.[6] It is a textual data format with strong support via Unicode
for
different human languages. Although the design of XML focuses on documents, the
language is widely used for the representation of arbitrary data structures[7] such as those
used in web services.
 Several schema systems exist to aid in the definition of XML-based languages, while
programmers have developed many application programming interfaces (APIs) to aid
the processing of XML data.

4
JSON
JSON (JavaScript Object Notation, pronounced /ˈdʒeɪsən/; also /ˈdʒeɪˌsɒn/) is an open
standard file format and data interchange format that uses human-readable text to store and
transmit data objects consisting of attribute–value pairs and arrays (or other serializable values).
It is a common data format with diverse uses in electronic data interchange, including that
of web applications with servers.
JSON is a language-independent data format. It was derived from JavaScript, but many
modern programming languages include code to generate and parse JSON-format data. JSON
filenames use the extension .js
Data types[edit]
JSON's basic data types are:

 Number: a signed decimal number that may contain a fractional part and may use
exponential E notation, but cannot include non-numbers such as NaN. The
format makes no distinction between integer and floating-point. JavaScript uses
IEEE-
754 double-precision floating-point format for all its numeric values (until later also
supports BigInt[25]), but other languages implementing JSON may encode numbers
differently.
 String: a sequence of zero or more Unicode characters. Strings are delimited
with double quotation marks and support a backslash escaping syntax.
 Boolean: either of the values true or fal
 Array: an ordered list of zero or more elements, each of which may be of any
type. Arrays use square bracket notation with comma-separated elements.
 Object: a collection of name–value pairs where the names (also called keys) are
strings. The current ECMA standard states: "The JSON syntax does not impose
any restrictions on the strings used as names, does not require that name strings be
unique, and does not assign any significance to the ordering of name/value
pairs."[26] Objects are delimited with curly brackets and use commas to separate each
pair, while within each pair the colon ':' character separates the key or name from its
value.
 null : an empty value, using the word null

4
CHAPTER 4
PROJECTS
During my 12 weeks of Internship I was assigned with 3 projects

 Mini Project
 Hackathon Project
 Main Project

MINI PROJECT:

In this I have made a Java Project using Eclipse


The project work flow will be like this:
 At first it has to redirect to website which we have specified in the code
 Now it has to close the popup and select five different mobiles and check their price.
 It has to capture thescreenshots.
 Now browser has to be closed

Technologies used are:


1. Eclipse

2. Java

3. Selenium Web Driver

Human Resource Management


Case Study: Human Resource Management

Problem Statement:

1) Add a Job in the dashboard

2) Verify URL of the current window

4
3) Check if Login button enabled or not

Suggested site: https://opensource-demo.orangehrmlive.com

Detailed Description:

 Launch the browser Chrome/Firefox


 Enter URL: https://opensource-demo.orangehrmlive.com/
 Enter the given Username and Password
 Click the “Login” button
 Verify the current URL and check if it contains the string “dashboard”.
 Go to Admin Tab
 Go to the Job tab and check ‘Job Titles’ is there or not
 Click on “Job Titles”
 Get the List of All Jobs Available
 Match the job “Automation Tester” within the List of jobs available.
 If not available, add job “Automation Tester” by clicking on “Add” button.
 Fill the appropriate data in the fields “Job Title” and click on “Save”
 Logout and Close the browser

Key Automation Scope:

 Multiple browser handling


 Assign synchronization technique
 Navigation to Home page
 Exception Handling
 Locating Web Elements

4
4
HACKATHON PROJECT:

In this I have done Maven Project using TestNG in Eclipse.


The project work flow will be like this:
1. At first it has to redirect to website which we have specified in the code
2. Now there are five
modules Carloan
Home loan

Emi loan

Loan intrest

Loan amount

Each module needs to select and enter the values.

 It has to get extent reports.


 Now browser has to be closed.

Technologies used are:


 Maven
 Eclipse IDE
 TestNG
 POM model
 Apache POI
 Jenkins
 Extent report
 Seleneium WebDriver

4
The project structure as follows:

HACKATHON PROJECT STRUCTURE

4
MAIN PROJECT:

In this I have made Maven Project using CUCUMBER in


Eclipse. The project work flow will be like this:

 At first it has to redirect to website which we have specified


in the code.

 Now it has to fill the necessary details.

 It has to capture after filling the details


 Close the browser

Technologies used are:

 Maven
 TestNG
 POM model
 Apache POI
 Cucumber -BDD
 Custom HTML report
 Extent Report
 Selenium Web Driver

The Project Structure is as following

4
Main Project Structure

4
CONCLUSION
The Internship period at Cognizant Technology Solutions has been very productive and helpful.
There is a big difference in the academic course and the tasks and activities during the actual
work. In college we learn how quality is important and some basic quality software benefits and
features, where during internship, it is learnt far more than the basics. Alongside of manual test
case writing, various automation tools use and how to tackle and report bug in reality is learnt.
Lastly, the internship was a wonderful experience in the exposure to the professional field. In
conclusion, the internship was a useful experience. I have find out what my strengths and
weaknesses are; I gained new knowledge and skills, Two main things that I’ve learned the
importance of are time-management skills and self-motivation.

4
REFERENCES
Selenium (n.d.). Retrieved July 06,2022, from https://www.guru99.com/introduction-to-
selenium.html
Cognizant Profile retrieved on July 06 , 2022, from https://en.wikipedia.org/wiki/Cognizant

5
BRIEF PROFILE OF STUDENT

Name: Ashutosh Mishra


Roll No.: 18001007013
Branch: Electrical Engineering
Email Id: ashumishraji.2000@gmail.com
Contact No: 9140296073
Designation: Programmer Analyst Trainee

Mentor’s Name: Mridula Kapoor


Mentor’s Email Id: mrdiula.kapoor@cognizant.com
Contact No: 83830 92455
Designation: HR

50

You might also like