I am a manual tester with very limited coding experience . Knowledge of which automation tool would help me to cope up with the testing industry.
-
Anarach, this is a little too broad to be objectively answered. You did get some responses, which is good for you, but this isn't exactly the kind of question we're looking for here. But there's good news: you have a place to start off from. Try those tools, and when you run into problems using those tools, post those questions here, and we'll be here to help. :)– corsiKa ♦May 27, 2015 at 17:20
5 Answers
At least one programming language initial knowledge is a must (syntax, basic entities, cycles, conditions, operators, etc.). Although the majority of tools offer record-and-replay capabilities, in most cases recorder test won't replay properly without modification.
In regards to tools, it depends on the area. I'll list the most popular free and open source tools, hopefully it'll be helpful:
Desktop Applications testing
Web Applications testing
Mobile Applications testing
Performance Testing
For aforementioned performance testing tools Open Source Load Testing Tools: Which One Should You Use? guide should help you to choose.
Its always best decision to move for automation after some good experience in manual testing.
There are lot of benefits of automation and you can do regression , functional and some other testing using automation.
I would suggest you to start from Selenium web driver for automation. But before move to selenium you should have following skills :
1 - Basic programming knowledge
2 - Logic development skill
3 - Database knowledge would be plus
4 - Website structure , web services etc
Selenium supports Java , Python , Ruby , C# and php so if you have basic skill on any one of these languages then it would be more easy to start automation.
More Detail about Selenium is Here
Knowledge of coding is fundamental before jumping into tools. you need to be comfortable to write utilities / small tools as part to automate / eliminate your manual tasks.
This is a continous process to master. For automation you need to choose your area of interest - mobile, web, web services. All of these would need java basics and fundamentals (xml handling, http client, logging, DB connectivity, testNG, OOPS etc...)
There are sites dedicated for this example - toolsqa.com, seleniumtests.com.
Scripting languages will allow you to develop tools to automate your own routine tasks. Python is widely considered as best first language for beginners, and there are many free online courses.
Another good language to know is bash (if you use Linux).
When you are competent Python programmer, you will see that automated QA tests are just regular Python programs which use Selenium webdriver library to interact with a page opened in a browser. No magic. Simple programming.
Later, you can learn other languages, if you need to. Most are very similar in concept to Python (Java, C++, C# are just object-oriented variants of C, as Python is, and after learning python you will see they just use slightly different syntax to work basically same way, with Python helping you more to declare variables and their types). All these belong to Algol family (with Perl, Ruby, etc)
Some languages are significantly different, and knowing Python (or any other language) will not help. Lisp, Forth, Erlang, Prolog, Haskel are completely different languages (very different from Java/C bandwagon, and completely different from each other) and learning them will expand your mind - but it might be painful learning experience, like learning your first language. But is might be fun to peek how they work, so you can see difference between syntax of language and the semantics. Syntax is easy and deceiving. Semantics is hard and powerful.
Javascript is another good language to know, but it is NOT good for beginners - will not help you write good code in a way that Python does, and will allow you to acquire bad habits from bad code posted all over Internet. Syntax is deceptively like C/Java, but semantics is from Scala/Lisp.
Each search should start with Google and wikipedia. You may also want to look up "blub programming language" - construct to compare the power of programming languages, and read language for next 100 years about evolution of programming languages.
-
I looked into python and i feel much comfortable learning it , no offence to Java but i feel python is slightly easier compared to Java which i tried and failed to learn, Not sure if everything is going to be this easy in python :-) Thank you Peter.– AnarachMay 27, 2015 at 8:42
... with very limited coding experience.
Most answers are glossing over this statement. Selenium/Webdriver is a very popular resource as it's free and open source. You can use Selenium IDE to record and click to make test cases and export them to whatever language you are most comfortable using. However, it is going to require some coding on your part as not all commands are supported in all languages. Java probably has the best support.
When considering tools you need to look at the overall cost and not the initial cost (source). In terms of man hours, Selenium can become quite expensive, especially if you are not a proficient programmer. I always suggest Telerik Test Studio in cases like this. The trial is free so I would make a test in Telerik and then make a test in Selenium and see which you like better.