I have been a Non-IT student, but now I want to start my career as a software tester.

Are there certification I should get?
Which programming languages and frameworks should I learn?
Is it necessary to learn Java?

  • 4
    Your question and the description of it are contradicting. Can you clarify what exactly is it that you are seeking to get an answer for? Jan 30, 2016 at 3:23
  • Of course, if you ask about Java, most people will recommend it. Java is not best for beginners, but is good enough and widespread. Many people who learned only Java, will recommend it (because it is the only language they know). Python is more like secret superweapon. :-) And it is much easier to learn for non-programmer that Java is. Feb 1, 2016 at 15:05

6 Answers 6


I don't know whether a certification is necessary for automation testing, but you definitely require good coding skills and logic development skills for it.

Its advantageous to learn Java as its open source and hence there are countless forums and communities to seek kelp. Plus many of the automation testing tools (specially open source testing tools) use Java.

There are several other languages that are very good for testing for example, PERL or Python.

You should learn to write good logical code. A good experience as a developer is an added advantage.

  • OP: In Perl community, there is a secret test: If someone spells it "PERL", s/he has no clue about Perl :-) Also, Perl was OK advice in 2000, but not anymore. Try both Python and Java for 1 day and you will see which one you like more, which one allows you to advance more. Feb 1, 2016 at 14:59

The question and the description that you have written for it are misleading. I'm assuming you want to know which certifications will help you get a start for your career in Software Testing.

Well for that I don't think you need to go for any certifications. Read good blogs and article on testing. There are thousands of them available on the internet. Practice testing. Solve puzzles. Challenge your self with tricky technical situations and try to find your way out of it.

For learning coding skills, well that you require if you go for automation testing specially for SDET role. I'd say an open source language like Java would be a good option for that!


Certifications don't teach testing. Still if you want to go for one, well, there are several available out there.

But, they don't teach you how to test, they mostly teach only a certain terminologies.

Yes, learning a programming language is an added advantage for a tester, especially for someone who is looking to make a career in automation testing or interested in white-box testing. Java is the widely used programming language for software testing.


Python is widely considered as best language for beginner programmers. Java puts more focus on generating fast code (which adds requirements on programmer). Python is substantially more forgiving, and for website testing, speed is not the first requirement (flexibility is, where Python shines).

Also, if you want to be programmer, you need to improve your google-fu skills. "best programming language", or comparing X to Java, happens pretty regularly of this forum. I leave finding them as exercise for OP.

The most gentle intro to programming: 1 day of IDLE toying, more on Python for non-programmers

Or if you do not believe me, check this presentation from SmartBear, providers of TestComplete: Why Python is THE Language to Learn in 2015 for Developers and Testers?. I am NOT associated with SmartBear. And until recently, their most prominent language was Java and Ruby, so Python is new to them too - for a reason.


There are several ways to get involved with software testing:

  • On way is to get formal qualification like a ISTQB certificate

  • Another way is to just start testing on sites like https://test.io/
    to gain experience in testing products and writing bug reports

When You apply for a job in a software company it is always a good thing to know the very basics about software development.

If You don't have any experience in programming start with a scripting language like Python or Ruby. Nowadays You can learn them online via e.g. Codecademy

  • Do you know other sites like test.io? I was testing on test.io for some time in my spare time out of curiosity and I would like to know of there are other big sites like that. I also know testbirds.com.
    – Michael S.
    Jun 19, 2016 at 14:46
  • I haven't used other platforms but there are a lot. Just googl for "crowd testing platform" Jul 22, 2016 at 14:12
  • 1
    Crowd source testing, also known as crowd testing allows more individuals to participate, often at a reduced cost and with better testing quality. Bug bounties, another form of crowd source testing, reward researchers and software hobbyists for finding software bugs.There are several crowd testing providers. I have come across qualitrix.com which allows its users to select their crowd among the community of testers and tests the app in a real world environment. There are several other, smaller providers too.
    – Sjay
    Jul 26, 2016 at 6:24

Actually Java or other languages could be good option to drive Selenium tests, but it is not a must.

You can command WebDriver from many different languages. Ruby, Java, C#, VBA, VBS, Javascript. Thanks to WebDriver you will have possibility to run your tests in multiple browsers (Chrome, Firefox, IE, Safari...).

But all the languages are just a plus. If you do not want to learn complicated languages, there is a Selenese resp. Selenium-IDE, what is a simple spaghetti-code scripting language with record/replay possibilities. This could be a good start for you.

It would be good if you learn XPath expressions and HTML/CSS to construct more complicated web object identifiers. This you will need later on as well, if you will go to higher level with Java or something else.

Selenium-IDE is usually under-evaluated as a toy and not a professional tool, but for smaller projects it is enough. Of course, it has its limitations. You are limited to Firefox and inside browser scripting.

But you can extend Selenium-IDE with plugins which will allow you to make conditions, cycles or procedures (Selblocks) and can give you little more control of your script and solve more complicated tasks including easy made datadriven testing via XML datasources.

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