Hi all. I’ve been a tester for a few years now and want to dip my toes into automation. There are a few opportunities to build some scripts where I am currently (using Protractor) but I have very little experience in programming skills. I therefore feel I want to start with the basic concepts and learn to walk before I run.
This question raised on every manual testing engineer mind that how and from where they can start automation testing because many testers don’t know how to move from manual testing to test automation.
If we talk about ‘software testing services’, there is a huge demand of automation these days and they want engineers who have good hand in manual and automation testing as well. But, most of the engineers who are working in manual testing they are confused about the skill set they needed for test automation or how these skills should be learned and in what order. Basically, the process of learning test automation is similar with climbing a staircase, one stair at a time and each next skill should be just a bit more complex that the previous one.
To start from scratch, these were the basics which needs to be covered by every manual engineer:
Learning a programming language: This is one of the vital need for manual engineer if they want to switch it from manual to automation because learning a programming language is must. As learning and understanding, the code will probably be one of the most difficult parts of learning test automation.
Learn the right tools and knowledge of the framework: The beginners can make their process very easier if they use combination of frameworks, open-source tools and third-party tools for automation as it is widely used by ‘top software testing companies’ these days. Because, if you are new to the automation industry, you must have knowledge one of the programming language like (C, C++, Java, .net and etc).
Starting from small things: Starting from small things would be best approach for the beginners. Because. if we start working on small applications, then it makes the job very easier and we can gain more knowledge on automation as smaller the test cases are, its easier for us to debug, maintain, and reuse it. We cannot get crazy in beginning with automation by automating the heavy test cases contains complicated code. So, prioritize the test case with the difficult level would be the essential part.
Note: The Instructor is an Indian , but he assumes zero background before teaching you this tool end to end. The essentials to convert into automation tester is included here including the basics of Java Script.
After you complete this course , you can easily improve and adapt the approach.
Hi @doorstep75 you mention objects and elements. They’re different things; as in an object is a programming paradigm but an element is one of the many parts of a web page. So maybe just read about how a basic web page is constructed (such as HTML), how web requests are made and how stuff is rendered on a web page. Use something like https://jsfiddle.net to play with HTML, CSS and JS to see what it does. From there you’ll find out about JSON and what objects are, and this will then lead to a better understanding of web technologies and therefore how to automate them. Then you can pursue some other learning perhaps on udemy or codecademy.com or freecodecamp.org
I would concentrate on learning some general procedural, functional and OOP programming first (i.e. via tutorials, general textbooks and online tutorials etc) before concentrating on test automation frameworks. Online learning and practice sites like https://www.codecademy.com/ and the easier examples on https://www.hackerrank.com/ are useful.
I guess it depends on what technologies you want to start using. I would suggest if you are currently working for a company which implements automation testing, start with those technologies. If they are flexible someone might show you around their framework or even let you check in a few simple tests to begin with while you are learning, if you have a friend there they could review your code.
I’m currently reading Java for Testers by Alan Richardson, which is a good place to get started. From the book:
“This book is aimed at people who are approaching Java for the first time, specifically with a view to adding automation to their test approach. I do not cover automation tools…
Testers use Java differently.
Most Java books start with a ‘main’ class and show how to compile code and write simple applications from the command line, then build up into more Java constructs and GUI applications. When I write Java, I rarely compile it to a standalone application, I spend a lot of time in the IDE, writing and running small checks and refactoring to abstraction layers.”
I guess you should read and practice some books for language to get how to program. It will help you improve your scripting skills. After improving your skills, you will need read and practice more about “Clean code” and Automation Framework Architect and something more advance.