STG Aat 1
STG Aat 1
S COLLEGE OF ENGINEERING
P.O. Box No.: 1908 Bull Temple Road,
Bangalore - 560019
Submitted by
Sumukh Kashi:1BM20IS163
Ranjini Ravi Iyer: 1BM20IS209
Submitted To
Dr. Chayapathi A R
Assistant Professor
B.M.S COLLEGE OF ENGINEERING
P.O. Box No.: 1908 Bull Temple Road,
Bangalore - 560019
CERTIFICATE
Certified that the Project has been successfully presented at B.M.S College Of Engineering by Sumukh
Kashi and Ranjini Ravi Iyer bearing USN: 1BM20IS163 and 1BM20IS209 in partial fulfillment of
the requirements for the VI Semester degree in Bachelor of Engineering in Information Science &
Engineering of BMS COLLEGE OF ENGINEERING Affiliated By Visvesvaraya Technological
University, Belgaum as a part of the course Software testing 20IS6PCSTG during academic year
2022-2023.
Abstract 3
1 MANUAL TESTING 4
2 AUTOMATION TESTING - 7
2.1 ● INTRODUCTION 7
● INSTALLATION
2.2 8
● TEST SCENARIOS AND TEST CASES
2.3 10
3 CONCLUSION 18
4 REFERENCES 19
2
Abstract
Manual testing and automation testing are two distinct approaches used in software testing, each serving its
own purpose and bringing unique advantages to the testing process.
Manual testing involves the manual execution of test cases, where testers perform actions on the software
application, observe the system behavior, and compare the actual results with the expected results. It relies
on human intuition, creativity, and domain knowledge to identify defects and ensure the software meets the
specified requirements. It is particularly effective in scenarios where human judgment is required, such as
usability testing, ad hoc testing, and exploratory testing. Manual testing also provides an opportunity for
testers to uncover hidden bugs or issues that may not be caught through automated means.
Automation testing, on the other hand, involves the use of automated tools and scripts to execute test cases.
It aims to improve efficiency, accuracy, and repeatability of the testing process. Automation testing is
especially beneficial for repetitive tasks, regression testing, and performance testing. Automation testing
enables the execution of a large number of test cases in a short period, which is particularly useful for
projects with frequent updates or releases. Additionally, automation testing helps to identify regressions
introduced by code changes, ensuring that previously tested functionalities continue to work as expected.
In our testing process, we have utilized TestComplete as the automation tool. TestComplete is a
comprehensive testing tool that offers a wide range of features for functional testing, GUI testing,
data-driven testing, and cross-platform testing. It supports multiple scripting languages, provides extensive
object recognition capabilities, and offers robust reporting and debugging functionalities. With
TestComplete, we have been able to achieve increased test coverage, accelerated test execution, and
improved overall test efficiency. By automating repetitive test cases, we have freed up valuable time for
our testers to focus on more exploratory testing and critical areas of the software.
In summary, both manual testing and automation testing are crucial in the software testing life cycle.
Manual testing brings the human element, allowing for subjective evaluation, creativity, and adaptability.
Automation testing enhances efficiency, scalability, and repeatability. By leveraging TestComplete as our
automation tool, we have maximized the benefits of automation testing in terms of speed, accuracy, and
productivity, while still recognizing the value of manual testing for specific scenarios that require human
judgment and exploration.
3
Chapter-1
Manual testing is a process in software development where testers manually execute test cases and validate
the functionality of a software application. In manual testing, testers follow a predefined set of test cases,
step by step, to identify bugs, defects, and inconsistencies in the system. It involves conducting tests from
an end-user's perspective to ensure that the software meets the desired requirements and functions as
expected. Manual testing allows testers to perform exploratory testing, where they can creatively and
intuitively explore different scenarios and uncover potential issues that automated tests might miss. Manual
testing also offers the flexibility to adapt to changes in the software quickly and efficiently.
Quora, a popular question-and-answer platform, relies on a combination of manual and automated testing
to ensure the quality of its service. Manual testing of Quora involves testers systematically exploring the
website's various features, functionalities, and user interactions to identify any bugs, usability issues, or
inconsistencies. Testers verify that questions can be posted, answered, and edited correctly, that user
profiles and settings function as intended, and that notifications and search functionalities work seamlessly.
Manual testing also includes assessing the website's responsiveness across different devices and browsers,
checking for accessibility compliance, and ensuring the overall user experience meets the platform's
standards. This rigorous manual testing process helps maintain the reliability, usability, and performance of
Quora, providing users with a smooth and satisfactory experience.
4
1.1 Test Scenarios and test cases
Functional requirements:
5
Test Cases:
6
Chapter-2
AUTOMATION TESTING
2.1 Introduction
Automation testing refers to the practice of using software tools and scripts to execute tests and verify the
functionality of an application or system. It aims to increase testing efficiency, reduce human error, and
save time by automating repetitive and tedious test cases. Automation testing can be applied to various
stages of the software development lifecycle, including unit testing, integration testing, functional testing,
regression testing, and more. It allows for the rapid execution of tests, enables parallel testing, and provides
detailed reporting, making it an essential component of modern software development processes.
TestComplete is a popular automation testing tool developed by SmartBear. It offers a comprehensive set
of features and capabilities for testing desktop, web, and mobile applications. TestComplete supports
multiple scripting languages, including JavaScript, VBScript, and Python, allowing testers to choose their
preferred language for test automation. It provides a user-friendly and intuitive interface that simplifies test
creation, management, and execution. With TestComplete, users can create robust automated tests using
record-and-playback functionality, keyword-driven testing, or script-based approaches. The tool supports
cross-browser and cross-platform testing, making it suitable for a wide range of applications. TestComplete
also offers robust object recognition, data-driven testing, integration with various development
environments, and seamless integration with popular test management tools. Overall, TestComplete is a
powerful and versatile automation testing tool that can enhance testing efficiency and help teams deliver
high-quality software.
7
2.2 Installation
To install TestComplete using the free trial, you can follow these steps:
1. Visit the SmartBear website: Go to the SmartBear website at https://smartbear.com/ and navigate to the
TestComplete product page.
2. Free Trial: Look for the "Free Trial" or "Try TestComplete" button on the TestComplete product page
and click on it.
3. Fill out the form: You will be directed to a page where you need to provide some information to access
the free trial. Fill out the required fields, such as your name, email address, and any other information
requested.
4. Download the installer: After submitting the form, you should receive an email containing a download
link for the TestComplete installer. Click on the download link to initiate the download.
8
5. Run the installer: Once the installer file has finished downloading, locate it on your computer and
double-click to run it. You may need to provide administrator permissions to proceed.
6. Follow the installation wizard: The TestComplete installation wizard will guide you through the
installation process. Read and accept the license agreement if prompted, choose the installation location,
and select any desired options or features you want to install.
7. Activate the free trial: During the installation process, you will be prompted to activate the free trial.
9
Follow the instructions provided, which typically involve entering your email address and the license key
or activation code provided in the email you received.
8. Complete the installation: Once you have activated the free trial, the installation will continue and
complete the process. This may take a few minutes.
9. Launch TestComplete: After the installation is finished, you can launch TestComplete by locating it in
your Start menu or desktop shortcuts. Double-click on the TestComplete icon to open the application.
10. Start using TestComplete: TestComplete will now be ready for use. You can start creating and running
automated tests, exploring its features, and evaluating its capabilities during the free trial period.
Remember that the steps above are a general guide, and the process may vary slightly depending on the
version and specific details of the TestComplete free trial at the time of your installation.
10
2.2 Test Scenarios and Test Cases
In TestComplete, test scenarios and test cases can be generated through various approaches, depending on
the testing requirements and the preferred methodology. Here are a few common ways to generate test
scenarios and test cases in TestComplete:
1. Record and Playback: TestComplete provides a record and playback feature, allowing testers to interact
with the application under test while TestComplete captures the actions and generates the corresponding
test script. By performing a sequence of actions, such as clicking buttons, entering data, or navigating
through screens, TestComplete records these steps as test scenarios. Testers can then enhance and modify
the recorded test script to add assertions, parameterization, and other necessary elements to create robust
test cases.
2. Keyword-Driven Testing: TestComplete supports keyword-driven testing, where test scenarios are
generated by defining keywords that represent different actions or operations. Testers can create a library of
keywords and then combine them to create test cases. The keywords can be customized and mapped to
specific functions or operations within the application. This approach provides flexibility and modularity,
allowing for easier maintenance and scalability of test scenarios.
3. Scripting: For testers with programming skills, TestComplete allows the generation of test scenarios and
test cases through scripting. Testers can write custom scripts using supported scripting languages like
JavaScript, VBScript, or Python. They can create functions, use control structures, and implement logical
operations to design complex test scenarios. Scripting provides complete control and flexibility to handle
dynamic scenarios, manipulate data, and perform advanced test operations.
4. Test Design: TestComplete also supports manual test case creation through a graphical test design
feature. Testers can use the Test Visualizer or Test Log panels to design test scenarios visually by dragging
and dropping test steps, checkpoints, and other elements onto a test canvas. This approach allows for a
clear and intuitive representation of test cases and can be useful for collaboration among team members.
We have focused on using the Record and Playback method of generating test cases.We have also tested
two websites: Quora and Smartbear Shop.
11
1.TESTING ON QUORA
We initially recorded the steps of opening chrome browser and searching for www.quora.com and then
logged in using the “Continue with Google” option which would then bring us to the home page of our
account on quora.
The system automatically detects our movement and generates the test case and steps for executing the
same along with the necessary inputs.
Testcomplete then executes the same and generates the log files which trace the errors and smooth flow.
12
Test case Scenario: LOGOUT
13
Test cases:
Log file:
14
2.TESTING ON Smartbear Shop
Test Case:
Log File:
15
Test Scenario: Add another Item to Wishlist
16
Test Case:
Log File:
17
Chapter-3
Conclusion
In conclusion, testing plays a crucial role in ensuring the quality, reliability, and functionality of software
applications. Both manual and automation testing are essential components of a comprehensive testing
strategy. Manual testing allows for a human-centric approach, where testers can apply their domain
knowledge, intuition, and exploratory skills to uncover defects and user experience issues that may be
missed by automated tests. Manual testing is particularly valuable during the early stages of development,
user acceptance testing, and usability testing, where human judgment and creativity are critical. It enables
testers to validate the application from end-user perspectives, evaluate the user interface, and perform
ad-hoc testing scenarios.
On the other hand, automation testing brings efficiency, repeatability, and scalability to the testing process.
It is ideal for executing repetitive test cases, regression testing, and load testing, where the automation tools
can quickly execute a large number of tests and provide rapid feedback. Automation testing significantly
reduces human error, accelerates test execution, and allows for parallel testing across various platforms and
configurations. It enables teams to focus on more complex and critical aspects of testing, such as
performance testing, security testing, and API testing. Automation testing also facilitates continuous
integration and continuous delivery practices, ensuring rapid and reliable software releases.
In summary, manual and automation testing are complementary approaches that contribute to a robust and
effective testing strategy. While manual testing provides the human touch, flexibility, and exploratory
capabilities, automation testing offers speed, scalability, and repeatability. Organizations should leverage
both manual and automation testing techniques based on the specific needs of their projects, ensuring
comprehensive test coverage and delivering high-quality software that meets user expectations.
18
Chapter-4
References
● https://support.smartbear.com/testcomplete/docs/tutorials/getting-started/index.html?mkt_tok=ODA
wLVRJVi03ODIAAAGMS_laLVVH3bVO44CXNLcbnVv-2iLA0OA6RSFqk7Klbagc_S5P3ZVKx
FQ-ZggMPrDedhIsEOTzf9uyzGpKwI8hwFr-ib02L1Cr-c-8FYMrrtTIz1s1
● https://www.youtube.com/playlist?list=PLrA5ciulugn9HPw4o36d656Am03-rwl2S
● https://community.smartbear.com/t5/TestComplete/ct-p/TestComplete_forum?mkt_tok=ODAwLVR
JVi03ODIAAAGMS_laLclelQKpnm2QNvii7fFx49dYd3ezXMMfpFVzgw2ZFNew12CVTCtnC_7
l15uggNuoWOzGwEIwY1e9ogClmK3heFv9luvk6o2n17E8uPBLIa6A
19