In my previous post, I have discussed the codeless automation tool LEAPTEST.
Statistics shows that many companies had failed to automize their tests. Often due to high and unrealistic expectations to automize all tests. Companies need to considerate that implementing automation tools in the organization is expensive on the short term as well as time consuming.
There are manual tests and automation tests. Each project should decide which method is the most suitable for their project. I would say the answer is probably a combination of the two.
In this post, I would like to present the pros and cons for each Method.
In manual testing the QA expert simulates the end user behavior and examine all the features and functions of the product with suitable tools to assure that there are no bugs.
Manual tests are important since they allow the QA expert to use his creativity and imagination to find problems area that automation tools fail to discover.
The main advantages in manual tests are:
- Cheaper in the short run because there is no need to invest in many tools and test development. You can start performing your tests immediately.
- It is more likely to find real end user problems. Automated test -robot, not necessarily simulates end user activities
- More flexible. It is easier to add new tests or develop existing ones, unlike automated tests that require coding/Programming.
The main disadvantages are:
- Some tests can be time consuming when done manually, for example regression tests.
- Repetitive tests. Manual tests can be repetitive and boring. Executing the same tests repeatedly can cause the QA expert to lose concentration and risk of doing errors.
- Manual tests are not reusable. Unlike automated tests that can be run repetitively on a regular basis (since they are predefined), this is not the case with manual testing. For each change in the software, they need to be repeated manually all over again which is time consuming.
In automation tests, tools run repetitive tests, which are predefined. The tool compares the expected result against the actual results. If a deviation is found, it means there is probably a bug in the code.
In this case, the code needs to be examined, fixed and retested, until it matches the expected results.
Automation tests are suitable for system in use where the code is ready such as regression test, and less suitable for code being developed.
The main advantages in automation tests are:
- Tests are performed quickly and efficiently. It is especially suitable for systems where its code changes often.
- Expensive in the short run, but on the long run they are economically, since they have a higher capacity than human being has and are quicker to find bugs.
- Automation tests are more interesting and challenging to develop. Repetitive tasks are boring. The process of writing automation tests enhance developer technical skills.
- Results are documented and visible to all stakeholders
The main disadvantages are:
- Tools are pricy.
- It takes considerable amount of time to develop and run the tests.
- Tools have their limitations. For example, in discovering color differences or changes in font size, which easily can be detect by human eye.
To sum up, there are pros and cons for manual and automated tests. In order to choose which way to examine the software, there is a need to analyze first all known details and data, as well as time scale, resources, economy, project size, the automated tools available and the knowledge of the QA expert in operating those tools.
Taking all these factors into consideration will help you reaching the right decision, and as mentioned earlier, a combination of the two is the optimal way of achieving the best result.
Irit Kristoffersen er testleder, har en Master i Informatikk, spesialisering i ‘Design av Informasjonssystemer’ fra Universitet i Oslo og er ISTQB Advanced Test Manager og ISTQB Agile Testing sertifisert. Irit har lang erfaring innenfor IT prosjekter. Siden 2000 har hun hatt tekniske roller med utvikling, vedlikehold og testing.