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 really not helpful. Their assertion was backed with comments about personnel new to testing will be unable to 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 repeatability of testing. This is important when we find a defect and we 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 variation, 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 the talent along with getting the right quality product into the customer’s hands. Experience indicates testing time to be one of those perceived obstacles to launch and moving to an entirely or even predominantly manual testing method will only make this situation worse.
Product Growth, Testing, and Learning
Unless a product is a one-time creation, there are plenty of opportunities for developing testing skills of the talent in the subsequent iterations. Each new product or new feature will need to be tested (not just regression tested). This thinking through the testing, creating the test plan and test cases, 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 a person new to product testing is an opportunity for on the job training. It is also possible for your new team members to undergo self-development by reading and studying other works and applying where they are able.
Our new team members can learn also from organizations that promote understanding of product testing. The list below are some interesting 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 along with methods for improving the throughput. We made heavy use of 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
Automated testing does not get tired, it 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, or 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 smart 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.
Tags: business, product development, risk management, testing