Ste Project DDNHH
Ste Project DDNHH
MICRO PROJECT
REPORTON
Submitting to
Department of Computer Engineering in, partial
fulfillment of The Requirement for award of the
diploma in
COMPUTER ENGINEERING
SUBMITTED BY
MSBTE,MUMBAI
Department of Computer Engineering.
Dr.A.D.Shinde Institute of Technology, Gadhinglaj.
2024-2025
1
DINKARRAO K. SHINDE
SMARAKTRUST’S,
TECHNOLOGY”
UNDER THE
GUIDANCE OF
Ms.Badkar. P.M
2
INDEX
7 Conclusion 17
8 Reference 18
3
Introduction
A software testing tool is a specialized application designed to support various aspects of the
software testing process, helping teams detect and resolve defects, verify functionality, and
ensure overall software quality. These tools are instrumental in automating repetitive test cases,
simulating real-world user scenarios, and analyzing performance under different conditions,
making testing more efficient and reliable. Software testing tools cater to different testing
types and objectives—such as unit testing, integration testing, performance testing, and security
testing. Some popular tools include Selenium for web application testing, JUnit for unit testing
in Java applications, JMeter for load and performance testing, and Appium for mobile app
testing. By enabling automation, reducing manual effort, and enhancing the accuracy and
repeatability of tests, software testing tools play a crucial role in modern development
processes, supporting continuous integration (CI), continuous testing (CT), and faster release
cycles in agile environments.
Software Testing tools are the tools that are used for the testing of software. Software testing
toolsare often used to assure firmness, thoroughness, and performance in testing software
products.
Unit testing and subsequent integration testing can be performed by software testing tools.
Thesetools are used to fulfill all the requirements of planned testing activities. These tools also
work ascommercial software testing tools. The quality of the software is evaluated by
software testers with the help of various testing tools.
4
Types of testing tools
Software testing is of two types, static testing, and dynamic testing. Also, the tools used during
these tests are named accordingly on these testing. Testing tools can be categorized into two
types which are as follows:
1. Static Test Tools: Static test tools are used to work on the static testing processes. In the
testing through these tools, the typical approach is taken. These tools do not test the real
execution of the software. Certain input and output are not required in these tools. Static
test tools consist of the following:
1. Flow analyzers: Flow analyzers provide flexibility in the data flow from input
to output.
2. Path Tests: It finds unused code and code with inconsistency in the software.
3. Coverage Analyzers: All rationale paths in the software are assured by the
coverage analyzers.
4. Interface Analyzers: They check out the consequences of passing variables and
detain the modules.
2. Dynamic Test Tools: The dynamic testing process is performed by the dynamic test
tools. These tools test the software with existing or current data. Dynamic test tools comprise
the following:
1. Test driver: The test driver provides the input data to a module-under-test
(MUT).
2. .Test Beds: It displays source code along with the program under execution at
the same time.
3. .Emulators: Emulators provide the response facilities that are used to imitate parts
of the system not yet developed.
4. Mutation Analyzers: They are used for testing the fault tolerance of the system by
knowingly providing the errors in the code of the software.
There is one more categorization of software testing tools. According to this classification, software
testing tools are of 10 types:
Test Management Tools: Test management tools are used to store information on how testing is
to be done, help to plan test activities, and report the status of quality assurance activities. For
example, JIRA, Red mine, Selenium, etc.
Automated Testing Tools: Automated testing tools help to conduct testing activities without
human intervention with more accuracy and less time and effort. For example, Appium,
Cucumber, Rorex, etc.
5
Performance Testing Tools: Performance testing tools help to perform effectively and efficiently
performance testing which is a type of non-functional testing that checks the application for
parameters like stability, scalability, performance, speed, etc. For example, Web LOAD, Apache
JMeter, Neo Load, etc.
Cross-browser Testing Tools: Cross-browser testing tools help to perform cross- browser
testing that lets the tester check whether the website works as intended when accessed
through different browser-OS combinations. For example, Test sigma, Test time ,Perfecto,
etc.
Integration Testing Tools: Integration testing tools are used to test the interface between the
modules and detect the bugs. The main purpose here is to check whether the specific modules are
working as per the client’s needs or not. For example, Citrus, Fit Nessie, TESSY, etc.
Unit Testing Tools: Unit testing tools are used to check the functionality of individual modules
and to make sure that all independent modules work as expected. For example, Jenkins,PHP
Unit, JUnit, etc.
Mobile Testing Tools: Mobile testing tools are used to test the application for
compatibility on different mobile devices. For example, Appium, Robotics, Test IO, etc.
GUI Testing Tools: GUI testing tools are used to test the graphical user interface of the software.
For example, Egg Plant, Squish, Auto IT, etc.
Bug Tracking Tools: The bug tracking tool helps to keep track of various bugs that come up
during the application lifecycle management. It helps to monitor and log all the bugs that are
detected during software testing. For example, Trello, JIRA, GitHub, etc.
Security Testing Tools: Security testing is used to detect vulnerabilities and safeguard the application
against malicious attacks. For example, Net Sparker, Vega, etc.
6
Types of Software Testing
If we want to ensure that our software is bug-free or stable, we must perform various types of
software testing because testing is the only method that makes our application bug-free.
The purpose of having a testing type is to confirm the AUT (Application Under Test).
7
To start testing, we should have a requirement, application-ready and, and necessary resources
available. To maintain accountability, we should assign a respective module to different test
engineers.
The software testing is mainly divided into two parts, which are as follows:
1. Manual Testing
2. Automation Testing
In other words, we can say that it is a procedure of verification and validation. Manual testing is
used to verify the behavior of an application or software in contradiction of requirements
specification.
We do not require any precise knowledge of any testing tool to execute the manual test cases. We
can easily prepare the test document while performing manual testing on any application.
To get detailed information about manual testing, click on the following link:
https://www.javatpoint.com/manual-testing.
8
Classification of Manual Testing
In software testing, manual testing can be further classified into three different types of testing,
whichare as follows:
9
White Box Testing
In white-box testing, the developer will inspect every line of code before handing it over to the
testing team or the concerned test engineers.
Subsequently, the code is noticeable for developers throughout testing; that's why this
processes known as WBT (White Box Testing).
In other words, we can say that the developer will execute the complete white-box testing for the
particular software and send the specific application to the testing team.
The purpose of implementing white box testing is to emphasize the flow of inputs and outputs
over the software and enhance the security of an application.
White box testing is also known as open box testing, glass box testing, structural testing, clear
box testing, and transparent box testing.
10
Black Box Testing
Another type of manual testing is black-box testing. In this testing, the test engineer will analyze
the software against requirements, identify the defects or bug, and sends it back to the development
team.
Then, the developers will fix those defects, do one round of White box testing, and send it to the
testing team.
Here, fixing the bugs means the defect is resolved, and the particular feature is working according
to the given requirement.
The main objective of implementing black box testing is to specify the business needs or the
customer's requirements.
In other words, we can say that black box testing is a process of checking the functionality of an
application as per the customer's requirement. The source code is not visible in this testing; that's
why it is known as black-box testing.
11
Types of Black Box Testing
Black box testing is further categorized into two parts, which are discussed below:
Functional Testing
Non-function Testing
Functional Testing
1. Unit Testing
2. Integration Testing
3. System Testing.
Non-Function Testing
1. Performance Testing
2. Usability Testing
3. Compatibility Testing
12
Manual Testing and Autonomous Testing.
Manual testing is a process in which test cases are executed manually without the help of any
automated tool. It ensures that all the functions in the application are working, as defined in the
requirement document. Since no tools are involved in Manual Testing, it is slow, repetitive, costly,
and time-consuming. Manual testing is helpful where human interaction is required and better
suited. For example, User Acceptance testing is a type of manual testing performed when human
intervention is necessary to test the ready-to-use product before releasing it in the market. Manual
testing always takes place when human intervention is needed and needs to test the application from
auser perspective. Let’s
look at an example below to understand better how Manual Testing works.
Automation Testing is a technique that uses tools to write scripts and execute test cases. It is the
best way to enhance the execution speed, effectiveness, and test coverage in software testing.
Besides, it iscost-effective and helps find possible bugs quickly.
13
Different Testing Tools
Automation testing tools are applications designed to verify function and/or non- functional
software requirements via automated test scripts. To help accelerate release velocity, improve
project quality, and strengthen outcomes. Automation testing tools allow you to effortlessly create,
run, and maintain tests and support a centralized view of analytics of test results.
As Agile and DevOps practices serve as the standard for software testing, establishing a clear-cut
automation testing tool evaluation strategy is essential. Ultimately, this strategy needs to answer
the following questions:
14
Top 5 automation testing tools (with feature highlights)
To pick the best automation testing tool for your team, don’t just blindly follow other teams’
success. Instead, look at your team’s specific needs, human resources, and future scalability to
choose the best-fit option. For example, if your team’s testers are experienced developers, using
Selenium or Appium for an automation framework is a good option since it allows you to build
and scale from the ground up. However, if your team consists of mostly manual testers and you
need a low-code solution to start, but one that can also grow and scale, ready-made frameworks
like the Katalon Platform can be a perfect solution.
The following is our list of the top 15 automation testing tools available to support your testing
needs.
15
Advantages of Software Testing
1. Improves Software Quality: Identifies defects and issues, ensuring the software meets the desired
quality standards.
2. Enhances Security: Detects vulnerabilities that could lead to security breaches, safeguarding user
data and system integrity.
3. Increases Customer Satisfaction: By ensuring the product meets user expectations and works as
intended, it boosts customer trust and satisfaction.
4. Reduces Development Costs: Early bug detection minimizes costly fixes later in the development
cycle and after release.
1. Time-Consuming: Testing can be a lengthy process, especially for large, complex systems, which
can delay project timelines.
2. High Costs: Comprehensive testing requires skilled testers and specialized tools, which can be
expensive, especially for small teams or companies.
16
Conclusion
17
Reference
https://openai.com/index/chatgpt/
https://www.javatpoint.com/
https://www.geeksforgeeks.org/
18