Poor Excuse for Not Automating Testing
Poor Excuse for Not Automating Testing
Recently I came across and participated in a social media exchange that proposed that automating product testing (software) was not helpful. Their assertion was backed with comments about personnel new to testing who cannot learn how to test.
Testing and System Complexity
System and software complexity, the number of interactions, permutations (configurations) and feature content, and failure mode consequences can make comprehensive testing via solely manual techniques very improbable. The only time solely manual methods may work is for very simple and small-scale products. The number of test cases for a moderately complex system can be in the thousands.
Testing and Repeatability
Done correctly, automating testing helps ensure the repeatability of testing. This is important when we find a defect and wish to trace the root cause of the problem, the exact set of steps of the test that evoked the defect. Of course, configuration management plays a significant role here also, but testing that is not automated has variations, including the dwell time between steps, that can be part of the reason we see the defect.
Testing and Time to Market
Business product time-to-market pressure requires a balance between engaging and growing talent and getting the right quality product into the customer’s hands. Experience indicates testing time is one of those perceived obstacles to launch, and moving to an entire or predominantly manual testing method will only worsen this situation.
Product Growth, Testing, and Learning
Unless a product is a one-time creation, there are plenty of opportunities for developing the testing skills of the talent in subsequent iterations. Each new product or feature will need to be tested (not just regression). This thinking through the testing, creating the test plan and test cases, and even executing these new test cases manually a time or two to make sure we understand how the automated test case should perform are all mechanisms and opportunities for learning.
Learning Testing and Senior Personnel
Our more seasoned or senior test personnel can also help our team become more knowledgeable about testing and critical thinking regarding the product. Pairing a more seasoned test talent with someone new to product testing is an opportunity for on-the-job training. It is also possible for your new team members to self-development by reading and studying other works and applying where they can.
Testing Organizations
Our new team members can learn also from organizations that promote an understanding of product testing. The list below is some exciting software testing organizations, but there are many more. As the manager of a test department, I had my entire software test personnel go through the ASTQB certifications process. This helped establish the fundamentals of testing the product and improving the throughput. We heavily used automated testing and were always increasing that as we conducted manual testing.
- American Software Testing Qualifications Board
- International Software Testing Qualifications Board
- Agile Testing Alliance
Summary
Automated testing does not get tired, does not want to be with the family for dinner, and has no problem working over the weekend or late at night. It is possible to test nearly around the clock without the damage that happens when we make people work over Thanksgiving or Christmas holidays so we can launch the massive overtime that reduces tester efficacy due to tiredness.
Our company needs to provide a safe, quality product to market quickly. We can ill afford to delay the launch, lose market share or some other opportunity, or launch a problematic product because we want to grow our personnel. The intelligent approach is to find many ways for your team to learn but not sacrifice throughput or the quality of vetting of the product through testing.