How do we use tools which claim that they can help in the process of automating your testing procedures? This is one of the questions which has come up to me on many occasions. Involved the the process of testing software created by developers for the last 5 1/2 years [of which 2 1/2 years I was the one developing and testing it also], I have realised one thing that is common to all software development practices, software developed by someone can never be completely tested.
Do we make our own tools and use them to test the software or do we take the commercially and/or open source tools which are available to us. I think it mostly depends on what we are trying to test. If we have a propriety application which is mostly console based, then i don’t think there is a appropriate application which we can use which is available in the proper form. We either have to tweak them [and this can be a major pain in the ass] to work for the product to be tested or we have the option of creating our own. I would prefer to go with the second option.
Automating the process makes the software even more susceptible to bugs on the whole. We tend to let the automated framework which is the creation of a usually a single person [till he leaves the organization] to run on without much intervention and think that the process of testing is going on. But the code which this test framework is working on is changing and there might be changes which require some changes in the framework as such. This scenario is particularly seen in startups, where the software is in a continuous flux of change and so is the design of the same changing. The framework creator has to curb his desire of not wanting to change the software which is HIS baby and think on the broader terms of the software which is being tested. As testers we need to be detached from the test code and the tools that we create. We have heard of a developers nature regarding his creation [and I have gone through the same], but as testers we need to try and work in a manner that we break the code written by the developer and stick to our point when the developer tries to defend the same.