7.1. Why Is Manual Testing Important?

Although we have already discussed at length the advantages of automated testing, there is still a time and place where manual testing is important, in some cases more important than automated testing. Many people have successfully released software and products without having any automated testing in place, instead relying on the manual testing techniques discussed throughout this chapter. Even though this has been successful for many companies, we feel that the best approach to take is a mixture of automated testing, as we have already discussed, and manual testing. Combining the two provides you with a safety net to catch regression bugs, allowing you to push forward with the development and still catch the issues which only manual testing can uncover.

The aim is to decide how you are going to use each technique to solve different problems. As we discussed in the previous chapters, automated testing is extremely powerful and cost effective at allowing you to ensure that the system meets customer requirements now and in the future, and ensuring that as the system develops and grows, all the requirements and features are still working as you expect. When you add in TDD, the code quality is also increased which will have long-term benefits when it comes to the maintainability of the code base. This is where automated testing is best. However, at the moment automated testing is not very good when it comes to knowing if the application is usable by a human. They can't decide if the text and information provided will be understandable by the end-user. In other ways, it is extremely costly to automate certain parts of the system — for example a jQuery effect which can only really be verified by using the control and ensuring that the effect is as desired. We feel that although this could be automated, it is more effective to manually test the effect, as this will provide you with more confidence that it is working as you expect, and also it is cheaper in terms of time taken.

Although manual testing can appear to be cheaper because it takes less time, there is still a cost associated. It might seem very easy to launch the application, click a few menu items, enter some text, and verify the result — if you imagine doing that once, twice, ten times a day, it will end up costing far more than if the tester or developer had taken a step back and automated the system at that point in time. The key is to pick your battles about what to automate and what to manually test effectively, taking into account initial cost, but also the cost of the lifetime of the project and how many times the test realistically should be run. You also need to take into account the cost of the delay in actually finding the issue. Automated testing will find issues much more quickly than manual testing. If this is important then you need to take this into account when making your decision.

Manual testing also has an effect on the team's motivation which is often overlooked. Manual testing has the major problem of being very repetitive. Having to follow a series of steps without thinking can harm employees' motivation and as a result they may not pay attention to the steps being performed. This could result in problems being missed, or more of a delay in the task being done. This is not the fault of the employee, just a reality of repetitive tasks over a period of time. This is made even worse if you have technical testers and they generally feel the effects more quickly. Automating these repetitive tests will increase employees' motivation and result in the team being more productive. The sooner you identify these potential issues or tasks, the better.

One possible way to overcome this is to partly automate tasks.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.135.190.182