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.

  • 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, 2013 at 19:41

10 Answers 10


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: http://www.associationforsoftwaretesting.org/ They have excellent reading and training resources.

Other useful sites are http://www.sqaforums.com and http://www.softwaretestingclub.com/ and of course here at SQA Stack Exchange.

If you go to my blog at http://www.allthingsquality.com/ 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.


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 test-able.blogspot.ca


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: http://testingeducation.org/BBST/ 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: http://www.uml.org.cn/test/pdf/automate.pdf

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.


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.



  • 1
    Autoit has great help documentation for its functions, which makes it much easier to understand. Sep 5, 2013 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.


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.

  • And who told that TestNG is for unit testing (only)?
    – dzieciou
    Sep 8, 2013 at 18:35
  • @dzieciou : Sorry for the confusion. I have edited the answer. Sep 8, 2013 at 18:40

First learn about all the types of testing and what are they. first start your testing manually and then learn about automation testing.for automation testing coding knowledge is must.At least have a basic coding knowledge in all the languages


I think the first thing you should do is some research about general testing principles. Here is a reliable source for your reference:

Software Testing News: http://www.softwaretestingnews.co.uk/

There are hundreds of websites, forums, blogs, etc. Choose the ones that are reliable and have big communities. You should also learn to use a test automation tool. With teams having lots of experience and technical skills, open source tools are the best. But for those who have no idea about testing, I don't think it's a good idea. You can try some free tools for first lessons, you can ask for more details about your future job since automation testing is such broad world.

I used Katalon Studio when I started my testing career. It's built on top of Selenium and Appium so it's quite easy to use and a good way to start learning about open source. Even though I an no longer using it (because my current projects cannot be supported by Katalon Studio), I recommend it for the freshman.


If you're a beginner, I feel Katalon would make it easier for you to get started because it's pretty easy to use and no programming skills are needed. But if you know a little programming, you can start with the fundamental concepts of OOPs, Selenium IDE, Selenium Web Driver.

You should start studying the above things and try to build basic test cases. After that, try Selenium TestNG. Then learn about the framework. If you understand the concepts of OOPs well, it's easy to build a framework.


There are some excellent answers listed below or above with different lists of tools and technologies you can learn.

However, if you are an absolute beginner, that can be overwhelming and you find yourself doing multiple tutorials at the same time and not really making any progress.

So I would recommend starting with a concrete task: automate some scenarios for a test page. You start with a goal in mind and you expand your knowledge when you notice a need for it. That way you are learning only that that you will use and you will see an immediate result. Seeing the result is very important for the feedback loop for your learning.

Here is an example task:

You might start with Selenium, for example. So you will start solving a problem at a time: install Selenium, search the internet, set up Selenium, some more googling, browse this page. Then you notice you need to understand more Java (if that is the language of choice), so you will take a tutorial for begginners and so on.

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