Do you know what type of test cases should not be automated?
You know this is one of the popular Selenium Interview Questions
There are some types of test cases we must automate and also some test cases we must not automate. Earlier we have discussed on 8 Types of Test Cases To Be Automated.
Every day we see thousands of new products and apps in the market. A lot of testing procedures have to perform before releasing it to the public. Automated testing can speed up testing procedures and can be seen as a replacement for manual testing. But still, manual testing has a critical role in the Quality Assurance process. By using only automated testing, testers will lose many opportunities to improve system quality. Performing manual testing with automated testing will lead to much higher product quality and stability. The major reasons behind this are;
Cannot achieve 100% goals with automated testing:
100% goals cannot be achieved by using automated testing because some tests cannot be automated straightforwardly like the background checking of a window or dialog box. Automation script will have limited scope based on what is being tested or written in it which is no match with the human eye. The human eye can identify potential issues in seconds. Things like exploratory testing, look and feel, user-related tests for example if the user wants to see if he/she can perform a task easily or not, etc. should be performed manually.
Let’s consider a case where the automated test takes 3 hours/ 180 minutes to write while the manual test takes 10 minutes. The run time of the automated test is 1 minute. Each time test runs for execution, 9 minutes of manual efforts are saved. So, to achieve Return on Investment (RIO), we need to run each test 20 times (180/ 9 =20).
If the writing time of any test is 240 minutes, manually testing time is 5 minutes and an automated test run time is 3 minutes then the saving time is only 2 minutes. The Return on Investment is 120 (240/2=120). So, the test needs to be executed 120 times before any return can be achieved on that test.
This is calculated time to write a test. Maintenance time needs to add back in equation and then require recalculation of ROI.
Automated testing cannot solve all problems:
In some cases, automated testing cannot resolve all problems, but creates new ones. The package time of automated testing becomes outdated when other changes done with the application and maintenance of tests are neglected. The main focus of organizations is the maintenance of existing test cases and the creation of new ones. Debt testing is often not their highest priority.
Some test areas need to be investigated. Some test is “false negatives” that mean timed out of a test due to some technical reasons in the environment. This process will cost a higher time than saving it. The most challenging aspect of any automated system is to understand the limitation of an automated system and setting realistic expectations to avoid any disappointment.
Types of tests need to be performed manually:
Subject validation protects the validity of words, statements, or initials. This also covers inspection and perceive testing. This is the stage where humans can quickly detect and provide feedback rather than the automated system that requires plenty of steps to write. So this type of testing is appreciated manually.
Performing automated testing for applications that are under-development is not a good technique. It will cost a lot of time and resources to keep the automation tests updated and maintained. Automation testing will frequently fail and need to update regularly due to the changes in applications according to new requirements.
Certain applications require specific attention and subject matter expertise. Manual testing is suitable for these types of testing rather than automated testing.
For example, if there are business functions that needed special attention, the tester should focus on those areas with more focus and attention. Detailed test cases should follow covering every aspect. This usually covers the most critical part of the application.
Primarily, the success or negligence of an application depends on its usefulness. When there is a matter of user experience then nothing can compete with the human eye. It can detect any problem in seconds by looking at a picture like a language, resolution, endurance, and formatting, etc. While automated testing will require a huge amount of time. So, it is suggested to leave the user experience property of any system to the human eye rather than an automated system.
Some modules have complex functionality that an automated system cannot perform effectively. So, it’s better to automate those manually like the case of Mobile device testing. Mobile device testing requires testing by leaving and reconnecting Wi-Fi, Run apps simultaneously, device authorization, receiving and making phone calls.
If the overall quality of the finalized application needs to be tested, then it is preferred manually rather than automatically. Automation testing can only test specific output that is generated in the test case while the human can navigate the whole system and several types of workflow, happy and sad paths, success, and failure of certain criteria quickly.
Automated systems are unable to generate original thought. They will perform only some specific tasks that are programmed. They also cannot generate effective feedback that a human user can provide. So, it’s suggested to perform Quality Control manually.
7.Low return on investment:
The main purpose of system tests is to save time and money. If test cases cannot provide these two then it’s useless. Some applications are simple and contain fewer modules. Testing these apps manually can be done by spending fewer resources on testing procedures.
For example, you are testing a simple form with little bit content and business don’t care if it’s there or not. Another example could piece of application that is there but nobody uses it.
8.Installation and setup testing:
In installation and setup testing the system needs to test with different hardware and software such as loading CD-ROM, memory disks, and Tapes. Such types of systems also required manual testing.
Today, testing is the most important part of software development. No software can remain the same at all. Certified testing sites and Quality assurance groups are a gateway to your product stability. There are many benefits to performing manual testing or automated testing. So, it’s important to consider both approaches while design your QA strategy. Does not matter how much-automated testing is evolved. There will always be a place of manual testing in software applications.