Software Quality Assurance & Testing Stack Exchange is a question and answer site for software quality control experts, automation engineers, and software testers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am new to testing. I need to learn because I have an opportunity to work in this field in the the future. I would like to know what I need to get started. Preferably, I would like to study automated testing. How much time will it take for someone who only knows a little programming and no testing?

Tools, tutorials, courses (free or YouTube), all information is welcome. In the beginning, I only need to learn the basics, not be an expert.

share|improve this question
Welcome to SQA, user5931. The best way to learn automation is to practice it. Can you tell more about the current application you're testing? What parts of the testing tasks do you think you could automate? – dzieciou Sep 8 '13 at 19:41

There are a ton of websites and blogs devoted to testing. You could start there.

A quick search using Google for something like "software testing" would also be a good way to get started.

You might choose to start with The Association for Software Testing: They have excellent reading and training resources.

Other useful sites are and and of course here at SQA Stack Exchange.

If you go to my blog at and click the "What People Are Writing" tab, you'll see a list of recent entries from blogs related to QA and Testing.

Good luck.

share|improve this answer

Welcome to SQA.

Since you are new to testing I'd recommend you look at What does a Sofware QA Person Need to Know to Perform Their Job (Essentially)? for an overview of the things you should learn in order to be a good software tester. The field is HUGE and there's no way you'd be able to become an EXPERT anytime soon. Maybe 10-20 years down the road. lol.

The more you learn and understand about the basics of software testing the better you'll be able to understand how and when to automate. As Joe mentioned AST provides a number of cheap courses called BBST Foundations, Bug Advocacy and Test Design. The courses are intense but well worth it. The material is available for free here: but there's so much to go through to understand things its best to take the classes.

Besides learning technical skills (languages, debugging, tools, etc.) you might want to learn When to Automate a Test. This is one of my favorite subjects of recent and Brian Marick has a good paper on the subject:

If you want to pick up technical skills I've found Codeacademy to be quite useful and so is Udacity in fact Udacity even has a course on Software Testing (although I haven't taken it so I can't say if its good / bad).

Good luck.

share|improve this answer

AutoIt is an automation and scripting language. It's simple to use for manipulating the Windows GUI like clicking on buttons or passing keystrokes. For someone starting with zero programming knowledge, AutoIt's syntax is very user friendly and human readable, and can help get you rolling with the basics of writing scripts. You can find tutorials for writing your first scripts in the Documentation section.

share|improve this answer
Autoit has great help documentation for its functions, which makes it much easier to understand. – Lucas Schwarz Sep 5 '13 at 0:10

Since you want to focus in automated testing, I think you should start learning a programming language that is very suitable for unit and automated testing.

I would start with Python using the Django framework, which is easy to learn and supports easy and useful testing libraries.

Once you know the basics of testing in practice, you can widen your knowledge with proper literature and further languages and libraries.

share|improve this answer

Welcome in the field of Software testing.

You can start with any of the automation tool available in the market. The current market scope is for :

  • QTP
  • Selenium IDE and Selenium WebDriver
  • Cucumber (BDD Framework)
  • TestNG ( to cover all categories of tests: unit, functional, end-to-end, integration etc.)

Out of the above, you can start with Selenium IDE and WebDriver which is mainly used for browser automation. You will fine dozens of sites if you google about Selenium.

share|improve this answer
And who told that TestNG is for unit testing (only)? – dzieciou Sep 8 '13 at 18:35
@dzieciou : Sorry for the confusion. I have edited the answer. – talktokets Sep 8 '13 at 18:40

You need to learn many things before being able to work in test automation.

The skills are ordered from 1 to 13 so that it is easy to understand how they develop:

13 Test Automation (basic skills)

12 Learn Page Object Model

11 Learn Object Oriented Programming in Java

10 Learn the WebDriver framework

9 Learn JUNIT

8 Learn the Java basics

7 Learn Eclipse

6 Learn how to create XPATH locators

5 Use browser plugins (Firebug, Firepath, FireCookie)

4 Learn HTML and CSS

3 Read how the HTTP protocol works, get and post requests

2 Understand how browsers work

1 Manual Testing

See more details on this article: "How to Learn Test Automation With Selenium" on

share|improve this answer

Disclaimer: I am working with TestingWhiz.

Today, Automated testing is considered as one of the most trending methodology in the field of software testing. Automation testing results in better test coverage, faster test results, etc. which indirectly makes the overall testing process more efficient as well as effective.

To start with the software testing, you can refer some of the widely used software testing blogs and forums like Gallop, UTest, etc.

In my 5 years of experience, I have used two different test automation tools: Selenium and Testing-Whiz. These two tools have helped me a lot in switching from manual testing to automated testing. Further among these two, I have found TestingWhiz as the most user friendly automated software testing tool, as this tool is well known for its multi-functionalities related to Web UI, database, web services, cloud, mobile etc. like automated web UI and web services testing, database testing, cross-browser testing, mobile testing, regression testing and few more.

Known for its code-less scripting feature, i.e. through this tool, test scripts are formed using in-built commands. Hence, this is a command-driven tool, which can be easily used by a person, who has the basic knowledge of software testing.

Another best feature of this tool is Record & Playback, which helps the tester or QA to record the whole test process and execute again later, whenever needed. This feature helps to overcome the time consumption of repetitive execution of test scripts, resulting in the execution of the scripts with just single click.

For better clarity, you can download its Enterprise version and experience the real automated testing and learn multiple test functionalities.


share|improve this answer
This is written like an advertisement. Is that what it is? – user246 Mar 1 at 12:33
It is not an advt. I am just sharing my experience about how Testingwhiz helped me in learning automated testing at initial stage. – Pratik Patel Mar 1 at 13:00
Your LInkedIn profile says you work for Testingwhiz. You should disclose that in your answer. – user246 Mar 1 at 13:17
Pratik, thank you for clarifying both your intent and your affiliation. Our policy on self-promotion (i.e. promoting something with which you are affiliated) is basically: 1) it has to be a great answer regardless of affiliation, so no "shoehorning" a promotion into a post 2) Disclose affiliation in every post in which you promote and 3) Some of your content needs to be non-promotion related, i.e. you're here for more than just promoting a product. Thanks! – corsiKa Mar 1 at 14:17
Thank you for your suggestions. Surely I will follow it. – Pratik Patel Mar 1 at 14:19

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.