Darma
Darma
AND TECHNOLOGY
(AUTONOMOUS)
R.V.S Nagar, Chittoor – 517 127. (A.P)
(Approved by AICTE, New Delhi, Affiliated to JNTUA, Anantapur)
(Accredited by NBA, New Delhi & NAAC A+, Bangalore)
(An ISO 9001:2000 Certified Institution)
2023-2024
INTERNSHIP REPORT
A report submitted in partial fulfilment of the requirements for the Award of
Degree of
BACHELOR OF TECHNOLOGY
IN
COMPUTER SCIENCE & ENGINEERING
(DATA SCIENCE)
BY
KOMMINENI DHARMA TEJA
Regd.No.21781A3256
Under supervision of
Q SPIDERS
(Duration: 01/02/2025 to 30/04/2025)
SRI VENKATAESHWARA COLLEGE OF ENGINEERING
AND TECHNOLOGY
(AUTONOMOUS)
R.V.S Nagar, Chittoor – 517 127. (A.P)
(Approved by AICTE, New Delhi, Affiliated to JNTUA, Anantapur)
(Accredited by NBA, New Delhi & NAAC A+, Bangalore)
(An ISO 9001:2000 Certified Institution)
2023-2024
CERTIFICATE
This is to certify that the “Internship training report” submitted by
KOMMINENI DHARMA TEJA (Regd.No.:21781A3256) is work done by
him and submitted during 2024-2025.Academic year, in partial fulfilment
of the requirements for the award of the Degree of BACHELOR OF
TECHNOLOGY in COMPUTER SCIENCE & ENGINEERING
(DATA SCIENCE), at Q SPIDERS
MR.M.NAVALAN MR.A.LIBONCE
Internship coordinator Head of Department
CSE(DATASCIENCE) CSE(DATA SCIENCE)
ACKNOWLEDGEMENT
1. ABSTRACT
2. INTRODUCATION
2.1. AUTOMATED TESTING
2.2. AUTOMATION TESTING FRAMEWORKS
2.3. PROGRAMMABLE AUTOMATION
4.PROJECT DICUSSION
4.1. TECHNOLOGIES USED
4.2. SOFTWARE REQUIREMENTS
5. SCREENSHOTS
6. FRAMEWORKS
7. CONCLUSION AND FUTURE WORK
8. REFERENCES
1. ABSTRACT
Manual software testing has been traditionally used in the software industry. It
depends completely on human testers without the help of any tool to detect the
unexpected behavior of an application. However, the main problem in the manual
testing approach is that it is a time-consuming task in addition to the fact that tests
cannot be reused. Automation software testing has been introduced to reduce
testing efforts and detect as many faults as possible. Test cases are executed not
only to test the functional requirements for the first time, but also to check the
functions which have been already tested. This study aims to present the main
features of different automation testing frameworks. In addition, an overview of
different scripting techniques is presented during the study.
Keywords
Software Testing, Automated Software Testing, Test Data, Test Case, Test Script,
Manual Testing, Software Under Test.
2. INTRODUCTION
There are many ways through the Software Development Life Cycle (SDLC) to
control the product quality, such as careful design process management, analysis
and implementation. However, software testing is the major method to control
and monitor quality . Software testing helps software programmers to fix bugs as
early as possible in the SDLC to decrease the bug fixing cost . This opens research
on how to achieve the best possible quality in less time. The National Institute of
Standards and Technology mentioned in a report that software failures cost nearly
$60 billion every year . Testing comes exactly before the final delivery of the final
version of the software. Software testing activities often consume from 30% to
40% of the total development costs . illustrate that during the past ten years, the
software testing field has grown rapidly because applications are getting more
and more complex.
Software testers face a problem in manual testing when they need to run test cases
repeatedly especially if the application versions change frequently. The same
problem occurs if the tester wants to run test cases over multiple browsers or
multiple platforms. Therefore, manual testing is a tedious job because testers
repeat testing with every change in the SUT. Moreover, manual tests cannot be
reused . It is most suitable for non-repeatable tasks. It is usually used for revealing
new and unexpected defects.
4. Test scripts deployment: getting the automation project ready for use.
6. Test verification: actual results extracted from the second step are
compared against the expected results to mark every test case as either
passed or failed.
7. Automation maintenance: test scripts need to be updated frequently to
match any update in the source code.
Record/Playback Automation
Keyword-driven frameworks are based on the concept of separating not only test
data but also keywords. Keywords are translated into actions using an automation
driver. It is an extension of the data- driven framework where user actions are
separated as keywords in addition to test data. Every keyword is related to a
specific functionality, and the sequence of keywords is automatically run using a
driver program. The suite of automated test cases will later run without any
human intervention. It works on a higher level of abstraction as it implements
reusable functionalities in the form of keywords that represent test case steps. The
test script engine is responsible for calling the corresponding method for the
appropriate keyword. Fig. 3 illustrates the high-level architecture diagram for a
keyword-driven framework.
o Test data: includes test case inputs and outputs. Input values can
either be stored with the keywords repository or separated in an external
data file.
Fig. 3. General Keyword Driven Framework
o Test function libraries: These functions should open and read the external
data source line by line and then map each keyword to its corresponding
function. It is also responsible for mapping each test step to the automation
source code (e.g. Selenium, Watin, QTP, etc.) that integrates with the
framework.
The main benefit of keyword-driven frameworks is that it reduces the overall cost
of test scripts maintenance because of the high level of abstraction. Moreover,
tests are easier to understand by inexperienced testers/users. Using keyword-
driven automation frameworks, the tester can create new tests without having
programming knowledge.
o Cost for the development of test scripts using the programming scripting
technique is more expensive than using the record/playback scripting
technique as it has additional time required ranging from 32% to 112%.
However, test scripts maintenance in the programming approach cost less
than in record/playback approach as it saves from 16% to 51% of the
required time. They noticed that after about one to three releases of the same
application, the cost of developing test scripts in the programmable approach
is less than the cumulative cost of maintaining record/playback scripts. The
saving cost value increases gradually after each release. This means that for
any web application which is expected to have three releases over its
progress, programmable test scripts will have more return on investment
than record/playback test scripts.
o The more the reuse of page objects across test cases, the lower the
maintenance cost needed to update test scripts because shared page objects
will be maintained only once. This depends on the modularity of the web
application under test.
Lau propose the Co-Tester system suggesting a new language called ClearScript.
The tester should provide the cotester system with segmented test steps so that
the system can handle them. Little and Miller proposed another solution to
transform the tester’s keywords to the user interface of a specific system.
Fei Wang proposes an automated framework for testing web applications based
on Selenium and JMeter. It is used for performance testing by simulating a heavy
load on a server. This framework has four main components. The first component
is the model which is responsible for converting each test case for object models
such as elements, actions and assertions. The second component is the translator
which is responsible for converting each test case into a set of actions. Then, these
actions are converted into its corresponding test script. The third component is
ActionWorker which is responsible for calling the testing tool to execute the
actions. The last component is the comparator which is responsible for comparing
the actual test results against the expected results.
o Web objects: a test case consists of test steps, each test step works on a
different HTML web object such as button, dropdownlist, radio button,
checkbox and tabs to perform the required test case step.
Fig. 5. Keyword Driven Framework Architecture
o Configuration File: this file is responsible for specifying the test script
that will run on which web browser This file is editable so that the tester
can update it to run the test script on a different browser.
o Client: It sends the commands of the test script to the selenium engine to
run them on the web browser.
and propose two frameworks which are based on integrating the keyword-driven
scripting technique with Selenium automation tool. Both authors propose almost
the same main features and components. Keyword-driven testing simulates user
actions on the SUT. It is used by testers to execute test cases and then extract the
final test results. Using this framework, testers do not any programming skills.
The main idea is the use of keywords which are related to functions. These
functions are parameterized, so tester can update keyword parameters and create
new test cases using keywords lookup. This framework integrates with Selenium.
Singla lists the main common components of keyword-driven automation testing
framework as follows:
o Test data sheet: this sheet has the test data which is needed to execute the
test case. The main columns for
o this sheet Are: test case id, object type, object identifier, keyword, and
data.
o Selenium web driver: To start test case execution, the code must have a
web driver to initialize an instance of the web browser.
o Result reports: this report has the final testing result for the executed test
cases.
o Driver script: this script is responsible for reading the keywords and
mapping them to their corresponding methods to be executed on the SUT.
Project objective:
1. Tools to Be Used
1. Software Requirements
Initially we need to have a development machine that is running any of the
following operating systems:
o Windows XP, Vista, Windows 7, 8 •
Development environment (Notepad++).
o XAMPP server.
1) Home Page
2) Registration Page
3) Log In page for an
4) Dashboard for creating the test with Test_name and Description about the test
5) Creating Multiple Choice Questions
cases steps and their appropriate selenium web driver keywords. Thus,
each action will be mapped to selenium keyword in a dictionary.
o Preprocessing module: This module has the responsibility of reading the
input test cases and uses existing tool kit for text preprocessing operations.
o POS tagger module: This module is responsible for reading the processed
test cases and assigning parts of the selected tags to these tokenized test
cases using the test cases repository.
o Keyword mapper module: This module is responsible for selecting the
test script in Python. A test case is mapped to Python test method that works
upon Selenium web driver.
7. CONCLUSION AND FUTURE WORK