I have been manual testing for one of the big insurance companies for many years I have been given the opportunity to learn selenium/java/cucumber which is really good and i have been excited for this for years but now its here… I am trying to learn java and it just doesnt want to sink into my brain?!
I have tried looking around the frame work, coding using java, going to youtube and it just does not want to stick!
Are there any tips anyone can share or any personal mentoring I can arrange with someone?
Some general tips for learning how to code:
Be patient with yourself - this isn’t something you’re going to learn overnight, there’s always going to be more to learn and ways to improve
Focus on the little things to start - starting out, focus on learning the fundamentals like types, object oriented, control structures, etc. Don’t worry about using it for Selenium yet, focus on getting a solid grasp on the basics.
Make sure to do exercises - following along with what you see in a lesson or a video is great, but until you start doing your own exercises/having to do things from scratch/solve the problems on your own, you’re not really going to learn how to apply things. Project Euler 6 is pretty good to find simple toy problems. They’re a bit math heavy, but it’s good for working with strings/numbers, maybe some arrays, as well as loops and conditionals (which will get you pretty far). The struggle of getting something to work can be super frustrating, but the reward of actually doing it is usually a pretty good hit of dopamine, as well as improving your understanding and learning.
Trace things through to the end - if you do end up tweaking some code or an existing test or following a tutorial, make sure you spend the time to understand what each step is doing. It’s super easy to get in the habit of just copy/pasting something and seeing it work, but if you don’t take the time to actually understand what it means, everything will stay a black box. At this early state of learning, you should be focusing on how all these things fit together, what each bit and bobble does, and understanding where the boundaries are
The key thing is building up a body of well documented code. With Java, I can never remember exactly how to do little things like hash maps, switch statements, but I do have plenty of examples of my own code to look at.
Also, prepare to do a certain amount of rewriting and redesigning. I had some very clear objectives for my first framework but they got thrown by the wayside because most of the time I was just trying to get stuff to bloody well work.
In the longer term, try to get to a place where extending and improving your framework, and making progress automating web screen testing, are no longer mutually exclusive.