Blog

Articles to grow your career

Article

Manual and Automation QA Testing

Manual testing presupposes that tests are executed manually without using any automation tools. This type of testing is the most basic and simple type of testing. No need for a lot of additional knowledge.

However, before you can automate the testing of any application, you must first run a series of manual tests. Manual testing requires significant effort, but without it we cannot be sure whether automation is possible at all. One of the fundamental principles of testing is that 100% automation is impossible. Therefore, manual testing is a must.

Manual testing myths:

  • anyone can do manual testing

No, performing any type of testing requires special knowledge and training.

  • manual testing is less powerful than automated testing

Full automation is not possible. Manual testing must also be used.

  • manual testing is easy

Testing can be very challenging. Testing as many execution paths as possible using as few test cases as possible requires serious analytical skills.

Automated testing uses special software to control the test execution and compare the expected actual result of the program. This type of testing helps automate frequently repeated tasks that are necessary to maximize test coverage.

Some testing tasks, such as low-level regression testing, can be labor-intensive and time-consuming if done manually. In addition, manual testing may not be effective enough to find some classes of errors. In such cases, automation can help save the time and effort of the project team.

Once automated tests have been created, they can be run again at any time, and they run and execute quickly and accurately. In this way, if a frequent rerun of tests is  needed, it is hard to overestimate the importance of automation to simplify project maintenance and reduce costs. After all, even minimal patches and code changes can cause new bugs to appear.

There are several main types of automated testing:

  • Code-driven testing involves testing at the level of software modules, classes and libraries;
  • Graphical user interface testing – a special program (test automation framework) allows you to generate user events – keystrokes, mouse clicks, and track whether these actions meet the specification.
  • Automation of testing API (Application Programming Interface. This tests interfaces that are designed to interact with other programs or with the user. Usually for this are used special frameworks.

To write automated tests, a QA specialist must be able to code. Automated tests are complete programs just for testing.

When, what and how to automate and whether to automate are very important questions, the answers to which must be given by the development team. Choosing the right program elements for automation will to a large extent determine the success of test automation in general. You should avoid automated testing of sections of code that may change frequently.

Comparison of Manual and Automated Testing

Both manual and automated testing can be used at different levels of testing, and also be part of other types of testing.

Automation saves time, effort and money. Once an automated test is run, it can be run over and over again with a minimum of effort.

Almost any application can be manually tested, while only stable systems are worth automating. Automated testing is used primarily for regression. Moreover, some types of testing as for example ad-hoc testing or exploratory testing, can only be done manually.

Manual testing can be repetitive and boring. At the same time, automation can help avoid this as the computer will do everything for you.

Real projects often use a combination of manual and automated testing. The level of automation depends both on the project type and on the specifics of production processes within the company.

happy woman with a laptop

Alex Kara
By Alex Kara on Aug 14, 2021
Automation QA