Suggest me some ideas. I am a beginner in automated testing.Tell me the common open source tool (Android,Ios,web app) which is used for testing and for that which language i need to learn and other than what i need to learn?
I'd say start with Selenium if you plan on making use of the web based application testing.
It works with most of the languages. Namely Python, Java, C#, Javascript (node), etc.
Getting started is very easy. Though you'd need to make use of browser drivers like Firefox marionette gecko driver and chrome driver to start with. Follow Selenium 3 with Java and Firefox if you are into Java programming or Android. For python, you may have to install the PIP package for selenium and also have to configure the Firefox browser to run Selenium 3 with Python .
Now this is specifically in context of web based testing.
In case of Android, you may want to make use of the tools that test the UI, Network and other functionality differently. Single testing tool won't be able to do justice in such case.
Also do take a look at new tool named - Katalon Studio. I have just started with it and so far good experience. Again for web specific automation.
As you are a beginner, you must have to go through the following books to get deep into automation testing.
1. Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin <br>
2. The Just Enough Software Test Automation by Daniel J. Mosley and Bruce A. Posey <br>
4. Software Test Automation: Effective Use of Test Execution Tools by Mark Fewster and Dorothy Graham <br> Original Source: Top 10 Books for Getting Started with Automation Testing
Saif Sadiq
Product Marketer
Mark
I'm not expert on this topic, but it's an important topic that shouldn't go unanswered.
In my experience, writing tests and testable code needs quite some experience - it's not something you only learn from reading.
Some things to learn:
Writing testable code is really hard. Especially if there is a lot of database access or api calling going on.
The upside is that many qualities that make code testable also make it maintainable in general, especially loose coupling and small functions with a single responsibility.