Training options - QA Engineer

Soldato
Joined
22 Oct 2005
Posts
2,855
Location
Moving...
I've been a QA engineer for ~10 years now. My manual skills are pretty reasonable, but I'm lacking on the automation side.

I've dabbled a fair bit in automation over the years. If there's a framework already in place, I'd be able to work out how to run and debug the tests and I'd be comfortable writing new tests using the existing framework. But coding doesn't come naturally to me. I can read code and usually follow what it's doing, but if I had to write a framework from scratch, I'd be pretty lost.

All my experience so far has been in C# and Selenium. I've recently joined a company whose automation suite uses Typescript and Playwright, neither of which I have any experience with whatsoever. I've been given the opportunity to essentially pick my training path, but I'm not sure what direction to go in.

I think there's four options:
1) Playwright
2) Javascript
3) Typescript
4) Generic programming course, OOP essentials, that sort of thing

My thoughts:
  • I've ruled out Typescript, as I need to understand Javascript better first
  • I feel like I probably need to understand Javascript first before I can write Playwright on top of it
  • C# and Selenium still seem to be more common in the industry than Javascript and Playwright (at least in the job adverts I've seen). Playwright especially might be a bit niche, but obviously it will still be useful to me now, if not in future
  • I think my main flaw is that I've not fully wrapped my head around OOP and the correct way to structure code; I can usually write code that gets the job done, but someone who knows what they're doing would completely rip it apart and rewrite it. So for that reason, I feel like I'm leaning towards option 4.
  • I'm worried option #4 might be too broader subject where I learn lots of high level concepts but struggle to apply them practically
I'd quite like to do a 2-3 day classroom based course, possibly a 5 day if the budget allows. I'd prefer to fully immerse myself in it for a short block of time, rather than just dip in and out of Pluralsight videos or something along those lines for several months.

I appreciate that my coding will improve over time just by getting stuck in and spending time on it. The problem is I don't have much time to do it in my day-to-day work, and I don't really have much spare time outside of work to dabble.

Just wondering if anyone has any advice on either the direction to take, or any courses/course providers that they would recommend (or avoid!)?
 
That's interesting, I'm familiar with QA Analysts and QA Developers and I'd have assumed a QA Engineer would be the latter but you seem to be the former.

What's the aim here; are you looking for a career change to become a Developer (in QA or perhaps in general) or is this just more for general career development to become a better QA Analyst/Engineer? The hope that you'll maybe earn more or get promoted?

Also, does this indicate you're talking about a training budget your employer allocates for you? Or are you just talking about your own funds?

I'd quite like to do a 2-3 day classroom based course, possibly a 5 day if the budget allows. I'd prefer to fully immerse myself in it for a short block of time, rather than just dip in and out of Pluralsight videos or something along those lines for several months.

I think if you're paying for it yourself then this could be expensive and potentially a waste of money as there are plenty of online resources out there for free or at low cost, on the other hand, if this is part of some work provided continuing professional development thing then it could be cool, bonus points for the annual review plus if they've paid for you to do the course then it's an excuse to push for time to perhaps work with any QA developers in your team or in the wider company. (Of course, you could ask for that if learning to code in your own time + of course make your line manager aware via an addition to the skills matrix for your team, if they have one).

Though you've also been in the role for 10 years and you mention this doesn't come naturally to you, perhaps there are alternatives you could look at, especially if this is in relation to some annual training budget/allocation. You don't necessarily need to be able to code to progress, you can read code and you know your job well enough you could perhaps push for some leadership training instead, perhaps aim to become a team lead or a manager, no reason why you need be able to code to lead or manage a team of QA Analysts/Engineers and Developers.
 
Don't rule out typescript just because you feel you don't know javascript, your C# experience should compensate. Whatever you choose: get in and get your hands dirty and there's always load of free tutorials out there or very cheap such as udacity. Coding comes with practice, lots and lots of it. I know you're time-poor, but taking 3-5 days out for a paid course isn't really going to help if you can't reinforce the learning immediately. Learning OOP / code structure is something that you should do after writing lots of code - as you'll have enough experience to understand WHY what you did could be done better (in terms of re-use, common patterns etc).

Is it just front end testing you would be doing, or also backend stuff and API's too ? I'd not heard of playwright (but I don't do front end much). On first glance it look more like a unit testing framework, which is something the devs should be using and writing their own test cases for. Palming off test cases to a junior is "ok" to help them learn a code base, but expecting a dedicated tester to do that is lazy.
 
Thanks for the replies guys. To answer a few points....

That's interesting, I'm familiar with QA Analysts and QA Developers and I'd have assumed a QA Engineer would be the latter but you seem to be the former.
Job titles are one of my personal bug bears. I'm an old fashioned software tester. I don't know why it's not called that in the industry anymore. For some reason people want fancy job titles which just leads to confusion as no-one knows what the job entails any more. What the hell is a 'Staff Engineer'?! Anyway I digress...

What's the aim here; are you looking for a career change to become a Developer (in QA or perhaps in general) or is this just more for general career development to become a better QA Analyst/Engineer? The hope that you'll maybe earn more or get promoted?
No, not looking for a career change. I know I'm not wired the right way to become a developer. I like this career, and I'm quite good at it. I'm just looking to improve my skill set. You mentioned the leadership route later in your post, I've gone down that route previously and I wasn't a big fan - I preferred being more hands on and didn't like the idea of being so reliant on someone else who I may or may not trust.

Also, does this indicate you're talking about a training budget your employer allocates for you? Or are you just talking about your own funds?
There is a budget, but I'm not sure what it is the budget is. I'd rather go in high and get talked down :D. I wouldn't put my own money into it now, partly because I've got other things I need to spend money on, and partly because I'd be worried about the course being rubbish. I've done a bunch of the ISTQB courses, and whilst I learnt a few small tricks it's nice to have it on the CV, I would have been cheesed off if I had paid for them out of my own pocket.

Learning OOP / code structure is something that you should do after writing lots of code - as you'll have enough experience to understand WHY what you did could be done better (in terms of re-use, common patterns etc).
That's an interesting point that I've not considered before, and perhaps explains why I struggle with it - I've just not got enough hours of coding banked. It's not uncommon for me to go weeks without touching code too, so I often feel like I'm starting from scratch.

Is it just front end testing you would be doing, or also backend stuff and API's too ? I'd not heard of playwright (but I don't do front end much). On first glance it look more like a unit testing framework, which is something the devs should be using and writing their own test cases for. Palming off test cases to a junior is "ok" to help them learn a code base, but expecting a dedicated tester to do that is lazy.
It's end-to-end really. There's a larger weighting on the frontend just because there's more of it and the API/backend is relatively small in comparison, but Playwright is used to test the lot. The devs have a stack of unit tests and are really good with helping out with the automation tests, so it's not like they're palming off their work on QA and forcing them to use an inadequate tool.
 
Thanks for the replies guys. To answer a few points....


Job titles are one of my personal bug bears. I'm an old fashioned software tester. I don't know why it's not called that in the industry anymore. For some reason people want fancy job titles which just leads to confusion as no-one knows what the job entails any more. What the hell is a 'Staff Engineer'?! Anyway I digress...


No, not looking for a career change. I know I'm not wired the right way to become a developer. I like this career, and I'm quite good at it. I'm just looking to improve my skill set. You mentioned the leadership route later in your post, I've gone down that route previously and I wasn't a big fan - I preferred being more hands on and didn't like the idea of being so reliant on someone else who I may or may not trust.


There is a budget, but I'm not sure what it is the budget is. I'd rather go in high and get talked down :D. I wouldn't put my own money into it now, partly because I've got other things I need to spend money on, and partly because I'd be worried about the course being rubbish. I've done a bunch of the ISTQB courses, and whilst I learnt a few small tricks it's nice to have it on the CV, I would have been cheesed off if I had paid for them out of my own pocket.


That's an interesting point that I've not considered before, and perhaps explains why I struggle with it - I've just not got enough hours of coding banked. It's not uncommon for me to go weeks without touching code too, so I often feel like I'm starting from scratch.


It's end-to-end really. There's a larger weighting on the frontend just because there's more of it and the API/backend is relatively small in comparison, but Playwright is used to test the lot. The devs have a stack of unit tests and are really good with helping out with the automation tests, so it's not like they're palming off their work on QA and forcing them to use an inadequate tool.
A staff engineer is a step up from a senior software engineer. This career path is for engineers who dont become architects or managers they go senior->staff->senior staff->principal. They add their value broadly by big picture thinking, being able to execute projects where others fail, and levelling up people around them.
 
I should have said earlier: As a developer, the biggest thing a dedicated tester brings to the team is a different pair of eyes and a different perspective on what needs to be tested. Developers tend to focus on the happy path and not so much on the failure scenarios. An audit of all the tests and asking the "what if" questions is very powerful. Any decent dev is going to prefer looking like a muppet to a colleague over a customer or end-user.

If coding isn't your thing, is there anything stopping you using selenium (which from memory is very point and click) ? Also maybe a BDD framework like cucumber/gherkin - you would need developer help for the backing code, but then writing test scenarios is more english-like than coding.
 
Back
Top Bottom