Chapter 4 Testing Tools
Chapter 4 Testing Tools
API Automation
Tools 2. Demonstration using POSTMAN 3.
UI Automation Tools 4. Demonstration using
Selenium
Automated Tests
• Automated Testing is a technique where the
Tester writes scripts on their own and uses
suitable Software or Automation Tool to test
the software.
Why Transform From Manual to Automated Testing?
Manual testing is not accurate at all times Since it is performed by third-party tools
Reliability due to human error, thus it is less reliable. and/or scripts, therefore it is more reliable.
Following are some of the criteria for selecting the automation tool:
• Ease of use: Some tools have a steep learning curve, they
may require users to learn a completely new scripting
language to create test cases and some may require users to
maintain a costly and large test infrastructure to run the test
cases.
• Support for multiple browsers: Cross-browser testing is vital
for acceptance testing. Users must check how easy it is to run
the tests on different browsers that the application supports.
• Flexibility: No single tool framework can support all types of
testing, so it is advisable to carefully observe what all tool
offers and then decide.
• Ease of analysis: Not all tools provide the same sort of analysis.
Some tools have a nice dashboard feature that shows all the
statistics of the test like which test failed and which test passed.
On the other hand, there can be some tools that will first request
users to generate and download the test analysis report thus, not
very user-friendly. It depends entirely on the tester, project
requirement, and budget to decide which tool to use.
• Cost of tool: Some tools are free and some are commercial tools
but many other factors need to be considered before deciding
whether to use free or paid tools. If a tool takes a lot of time to
develop test cases and it is a business-critical process that is at
stake then it is better to use a paid tool that can generate test
cases easily and at a faster rate.
• Availability of support: Free tools mostly
provide community support on the other hand
commercial tools provide customer support,
and training material like tutorials, videos, etc.
Thus, it is very important to keep in mind the
complexity of the tests before selecting the
appropriate tool.
Popular Automation Tools
• Data accuracy.
• Response time.
• Duplicate or missing functionality.
• Authorization checks.
• Multithreaded issues.
• Security and performance issues.
• Error codes if API returns.
• Reliability issues.
• Benefits of API Testing :
• Like we get a lot of advantages by using APIs in application,
similarly by performing API testing we achieve a lot of things
towards the success of the developed application. Below are some
benefits i.e.
• Earlier validation of correctness in response and data.
• Earlier test maintenance.
• Better speed and coverage of testing.
• GUI independent testing.
• Reduced testing cost.
• Language independent test.
• Helpful in testing core functionality.
• Disadvantages of API Testing:
• API testing can have some disadvantages, including:
• Complexity: API testing can be complex, especially when testing multiple
APIs or when testing APIs that are integrated with other systems.
• Limited Visibility: Since API testing is performed at the integration level, it
can be difficult to see how the API is interacting with other components of
the system. This can make it difficult to identify and troubleshoot issues.
• Security: APIs can introduce security vulnerabilities if they are not
properly tested and secured. This can be a significant concern for
organizations that handle sensitive data.
• Difficulty in testing non-functional requirements: Non-functional
requirements such as performance, scalability and security are difficult to
test with functional testing
UI Automation Tools
• What is UI in automation testing?
• UI tests launch an app (or part of it), then
simulate user interactions, and finally check
that the app reacted appropriately.
• They are integration tests that can range from
verifying the behavior of a small component
to a large navigation test that traverses a
whole user flow
• UI testing or user interface testing is a type of
software testing that focuses on checking the
appearance, functionality, and usability of
different kinds of user interfaces, such as:
Graphical user interface (GUI) Command line
interface (CLI) Voice user interface (VUI)
• What is UI testing with example?
• In the simplest terms, UI testing is about
checking two things: how your application
handles user actions performed via mouse,
keyboard, and other input devices. whether
the visual elements (buttons, links, text fields,
images, and so on) are displayed correctly and
work as intended.
• Which tool is used for UI automation?
• Selenium is a popular open-source UI
automation testing tool. It boasts powerful
features like recording and playback and has
an extensive community of developers and
users.
• Automating UI tests reduces the time and
effort required to manually test an
application's user interface. Instead of having
a tester validate each and every aspect of the
user interface, test algorithms are developed
for each user scenario.2
Automated testing offers numerous benefits in
Agile software development
• . Enables teams to increase test coverage rates significantly
• Increased test coverage fosters faster debugging
• Test scripts once created can be reused; this makes testing
easily scalable
• Test execution is much faster as compared to
manual testing
• Efficient test scripts deliver accurate test results
• Unlike manual tests, automated tests are not prone to
human error
• Automated testing is time and cost-effective
• Here’s a list of tools that can be used for Automated UI
Testing:
• Selenium (Website UI Testing)
• Cypress (Website UI Testing)
• Playwright (Website UI Testing)
• Puppeteer (Website UI Testing)
• NightwatchJS (Website UI Testing)
• Appium (Mobile App UI Testing)
• Espresso (Android Mobile App UI Testing)
• XCUITest (iOS Mobile App UI Testing)
Challenges in UI automation testing