I do have a query related to automated software testing.We all know that these days many new test automation tools are being launched. Does this tool still require any coding or scripting knowledge to operate these tools? Or even a novice user can give same accuracy as the experienced one with such automation tools? The question is can we completely rely on any tool?
- Anybody can ask a question
- Anybody can answer
- The best answers are voted up and rise to the top
It isn't necessary to have strong - or any - coding skill to perform software testing or to be a highly skilled tester. No tool will ever replace the ability of a skilled manual tester to observe something that is not quite right in some way and trace the problem.
When it comes to automation, things get interesting. There are numerous tools that claim to eliminate the need for coding, but these do not (in my opinion) scale terribly well and they don't handle complex systems at all well (again, my opinion only). All of them have limits in what they can do and their ability to pass information from one test to another, as well as limits to their ability to recognize parts of the application under test.
The tools that do not claim to eliminate coding require strong coding skills to build robust automation.
In short, coding skills are not needed to test, but they are needed to build good, robust automated regression and to build other automated test utilities.
There are tools that can be used without any scripting or coding knowledge, but not so efficient as with even little and not fully relevant scripting or coding knowlege. Many tools work with script languages (like Python, Ruby, etc) and you don't need much time to learn basics of any of these languages. Some time ago I started test automation with a very little Python knowledge (about two weeks of learning). Not that it was easy, but after several tests done, it became easier and easier.
No, it is not necessary to have strong programming skills to perform software testing. There is still a need for manual testing. There are also industry-specific testing tools that do not rely on programming. For example, there is a commercial package for testing whether your set-top box handles network protocols correctly.
Nonetheless, the overlap between testing and development continues to grow. Developers are expected to assume more of the "obvious" kinds of testing, and the good test jobs -- the ones that pay well and have the most potential for growth -- involve non-trivial amounts of programming. For those jobs, there are no tools that take care of the programming for you.