How can Manual QA's without a programming background learn Automated Testing?
I currently work at an ad agency as a Manual QA. I originally came in to act on the business side but kind of 'fell in to' the job. I do not have a programming background but I am very interested in automated QA. My questions are: 1.) Having no knowledge of programming languages, which is the strongest language for automated QA? 2.) I have some understanding of Selenium but I'm not sure which suite to use. Should I be looking to use Web Driver? 3.) I understand the concept of creating scripts to perform tasks, but I've read re-creating my manual tests as scripts isn't the direction I should be headed. What types of tasks should I be looking at to automate? 4.) Are there additional tools outside of scripting that are used in the automated QA process? If anyone has any other resources or information I can use to educate myself I would gladly appreciate it.
I have to disagree with Twaldigas on point three: 3.) I understand the concept of creating scripts to perform tasks, but I've read re-creating my manual tests as scripts isn't the direction I should be headed. What types of tasks should I be looking at to automate? You should automate manual tests. First of all automate the regression tests. You execute them over and over again. Automate them will useful in the long term It depends on your manual tests - often manual tests are not good matches for automation and a manual process will not necessarily translate well to automation. The way I handle automation is to look not at the manual test itself but at the goal of the manual test. The goal is what I may want to automate, not necessarily the steps. For example, if my manual test involves checking a printout to ensure that the correct data is displayed and the layout is good, I'm not going to automate the layout check because that can really only be accomplished through automation by an image comparison and those, even with fuzzing, are far too likely to report problems that don't exist. Instead of printing, I'll print to file in a format I can work with, and run a text compare against a baseline. This isn't something I'd do manually, but it works very well as an automated test. Simply put, computers are very good at doing a lot of data checks very quickly. Automation should focus on that. Humans are very good at pattern-matching and deciding whether a particular process is a pain to work with or not. Manual testing should focus on that. If you've worked solely as a manual tester, there's a good chance your tests are a mix of both types, along with a mixture of priorities and levels of value (humans are versatile. Computers, not so much). For resources, I'm going to give you my standard list: Joe Strazzere's site, All Things Quality. He covers a lot of questions relating to automation as well as general testing matters. The Ministry of Testing. They have a massive resource list as well as a phenomenal listing of testing blogs and multiple other goodies.