What is test automation?
Test automation can automate repetitive and necessary tests that have already taken place in testing processes. It can be thought of as increasing the efficiency of software testing, saving time, and producing quality work. In addition, it is beneficial in terms of reducing the dependence of the person without being dependent on the person.
Where is test automation used?
- In high-risk projects,
- In repeated tests (regression, happy path),
- In all test cases that may take time,
- Test automation can be used in tests that are difficult to perform manually.
What is manual testing?
It is to test the software manually. When we use human resources to do the manual test, we can think of the testing manually. Testers’ knowledge and experience play an important role in manual testing.
The comparison of manual and automation testing?
Manual Testing | Automation Testing |
It is not suitable for repetitive tests | It is suitable for tests that require repetition |
Reliability is less in manual testing | Reliability is more in automation testing |
Slower | Faster |
Even small details will be tested, so it can be more comprehensive | It can be of a smaller scope as it will only test the coded parts |
Provides user experience, which helps testing | Does not provide a user experience |
Even the reporting is done manually by the tester | Easier to report |
Human errors are visible | Human error will not be seen |
Testing the app in different browsers can get tricky | In automation, it becomes easier for us to test in different browsers |
Test scenarios are run manually | Runs with the help of tools |
It is less costly than automation | It is more expensive |
Some types of automation test frameworks and tools for web applications are as follows.
- Selenium: Primarily it is for automating web applications for testing purposes, but it is certainly not limited to just that.
- Cypress: Fast, easy and reliable testing for anything that runs in a browser.
- PlayWright: Playwright enables reliable end-to-end testing for modern web apps.
- WebdriverIO: Next-gen browser and mobile automation test framework for Node.js
- Puppeteer: Puppeteer is a Node library which provides a high-level API to control Chrome or Chromium over the DevTools Protocol
- Taiko: Taiko is an open-source node.js library for testing modern web applications
- Robot Framework: Robot Framework is a generic open-source automation framework. It can be used for test automation and robotic process automation (RPA).
Automation testing frameworks for mobile are as follows.
- Appium: Appium is an open-source test automation framework for use with native, hybrid and mobile web apps. It drives iOS, Android, and Windows apps using the WebDriver protocol.
- Espresso: Use Espresso to write concise, beautiful, and reliable Android UI tests.
- XCUITest: Create and run unit tests, performance tests, and UI tests for your Xcode project.
- EarlGrey: Run EarlGrey automation for native and hybrid mobile apps on real iOS devices. EarlGrey 2.0 is a native iOS UI automation test framework that combines EarlGrey with XCUITest, Apple’s official UI Testing Framework.