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?
Software Quality Assurance & Testing Stack Exchange is a question and answer site for software quality control experts, automation engineers, and software testers. It only takes a minute to sign up.
Sign up to join this communityI 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?
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.
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
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.