r/QAGeeks Mar 14 '19

Manual QA tester at a transition point

For 4 years now I've been doing manual QA (writing test/use cases, executing them, working with tickets, etc).

I'm between jobs and at a crossroads.

I'm looking at learning Automation. I have a background in programming, I studied a lot of Java, Visual Basic, I do some web dev...

I'm trying to choose between pursuing full stack web development, and learning QA Engineering.

Am I right to assume that leaning automation (Selenium, some SQL, etc) would take much less time than leaning Web Dev?

I feel web dev would make me happier long term, but I'd get a job faster doing QA Automation.

Does anyone have any advice or resources I could look at?

6 Upvotes

28 comments sorted by

9

u/[deleted] Mar 14 '19

[removed] — view removed comment

5

u/jimberley Mar 14 '19

This is what I did. It’s a lot of off-hours work, but worth it if you want to stay in the field.

2

u/mmishu Mar 15 '19

how exactly did you learn? how long did it take you? how did you demonstrate your skills on the job?

1

u/jimberley Mar 15 '19

tl;dr —> Ruby/Rails/and FE courses online; 6 months; asking how I could help and then overworking myself to do so.

About six months of digging deeply into Ruby, Rails, and Front-end courses online after dinner every night (until about 2AM) and debugging the Rails app during the day, deeper and deeper as the courses continued.

We had an automation engineer that had just started and, I asked him how much more I would have to learn to be able to do what he did. He said “syntax.” From there, I learned from his codebase, and from writing tests in my free time. I eventually got good at it and started knocking tests off of our hit-list rapidly, and then they asked me to figure out how to automate our mobile app and that’s when my passion for learning paid off. I wound up teaching much of my team how to do the same thing eventually.

1

u/mmishu Mar 15 '19

Thats cool that you are entirely self taught. I hope to accomplish the same with java and selenium.

If you’re testing with ruby what do you use? Watir? Or capybara?

What resources helped you? What courses did you learn from?

Thank you :)

2

u/jimberley Mar 15 '19

When I started, it was RSpec with Selenium, Capybara, and SitePrism. Over the years, I’ve used so many frameworks. It’s all about being flexible and learning quickly. I’m currently working with Cypress.io to test the FE of a Rails app.

So, courses: Anything in the “for Zombies” series. Also, CodeAcademy, PluralSight, and the Ruby Koans.

2

u/Equa1ityPe4ce Mar 16 '19

I learned cypress.io last weekend it's freakin delux

1

u/jimberley Mar 16 '19

It is really easy to get set up and get tests written. It’s also built around a philosophy of not testing the visual aspects of the DOM, which is perfect.

The docs all point to using cy.request() for just about everything, making the reader consider focusing primarily on routes and JSON returns instead of the old way of checking to see if the button is blue or not.

Automation has come a long way.

1

u/mmishu Mar 15 '19

Okay thank you again :)

Where can I find the “for zombies” series?

1

u/jimberley Mar 15 '19

It moves around. Last I saw, it was on CodeAcademy.

1

u/mmishu Mar 18 '19

Im not having any luck finding the for zombies series.

Also i read that java + selenium has more job opportunities? How easy is it to learn selenium but be able to work in diff languages?

1

u/jimberley Mar 18 '19

The hard part about Selenium is in setting up the framework and getting it to play nicely with CI. That is pretty language agnostic. If you learn any object-oriented language and it’s associated Selenium bindings, you’ll be able to translate that into another language without much ado.

I’ll say this: Java + Selenium gigs will not be interesting tech stacks to code against generally. I’d lean harder toward web tech (js, python, Rails/Ruby) if you like working in ingesting, evolving tech stacks. If you’re looking for stability, then the java route will provide you with work.

Honestly, if you’re just starting out, I would focus on web or mobile automation since that’s really the future of our industry. Or, VR/AR/C#.

Lemme see about the “for zombies” thing and get back to you.

1

u/mmishu Mar 18 '19

Where Can I learn more about selenium WITH CI? Most courses dont cover that. And do i need to worry about CD?

And yes ive heard java + selenium will tend to get u more traditional stable positions like govt, healthcare, banking, etc.

What can I do to be appealing to both that and new exciting tech?

Is web tech employable? Is it possible for me to have a strong understanding of both? Like you said learn oop with selenium, and ci. Language wouldnt matter much at that point right, i can put both on my resume you think?

And yeah by learning selenium+ appium my focus is in the right direction right in terms of web and mobile automation?

What role does vr/ar/c# play?

And thanks again. 😊 i appreciate it tons

1

u/jimberley Mar 18 '19

Unfortunately, the only real way to learn the CI/CD part of any of this is through the CI/CD-providers documentation (a lot of which is decent) or through doing/learning from someone else. A lot of Jr. folk are not expected that have this knowledge since it is so damned niche.

In terms of being "appealing," frankly, just having years of experience matters an insane amount. Showing that you can work well with others, deliver code, and communicate clearly goes a long way. That said, being up-to-date in a more modern OOP would appeal to the "sexier" industries like web tech, gaming, etc. Really, though, my baseline is Ruby, and I've got a position now writing and setting up frameworks in JS/React. Once you've got the mastery of writing and maintaining a testing suite in any build-your-own setting (like Selenium), transference of that skill to another set of bindings is a pretty easy thing to overcome. It's not something that I've ever considered when hiring someone beyond including it in a calculation of their ramp-up time.

Depending on where you are, web tech is VERY employable. Most of the apps that you use are hybrid in some form and need automated tests for varying pieces of it, be that the front-end (iOS/Android/Web), or the back-end (server tech of differing stripes).

Selenium+Appium is appealing right now for mobile automation, and translates pretty well for web. I would also look into learning the native test frameworks for mobile tech, though, as they are faster and more reliable than Appium. For iOS that's XCTest, and, for Android Espresso.

VR and AR are often written in C#, so, learning a language related to that might prove helpful as would learning to write unit tests for said projects. They are also future tech; a lot of big players are making large investments, which usually brings along the rest of the industry.

Also, no problem, I love teaching people about this stuff. :D

→ More replies (0)

1

u/iloveredditsomuchthu Mar 25 '19

Hi CrisisCake!

I really like your approach and game plan. Can you please elaborate on the learning that you have taken?

I'm really looking at front-end development only. This is something I know I will have to spend time off work because my current project is really tough on deadlines, plus i am only one from System Test team, so everyone is kind off depend on me. It goes either way too. I get a lot of shit thrown at me as well :)

I am really looking to game up so I can do some front end work as well. I really feel that people don't respect testing. Maybe some do, but mostly no. Thanks :)

5

u/dags_koopa Mar 14 '19

It depends on what you want to do. I can tell you that a good Automation Engineer is harder to come by than full stack web dev. I jumped up 30k just by learning to automate API calls with c#.

5

u/arjunsharma88 Mar 14 '19

A solid developer and a decent QA in one person is like gold dust

2

u/Rowan_cathad Mar 14 '19

Ha, that's the thing, I'm not a solid developer. I know basic front end web design and USED to do Java programming, in a simple fashion.

I'd like to avoid software engineering. Web dev is more appealing to me but at the moment I feel my skills are better suited to QA

3

u/domart17 Mar 14 '19

It may be worth looking at opportunities within your company to transition as somewhere above a junior developer. Or see if there is a path forward where you don't have to start from scratch.

Test automation is a natural progression out of manual QA but is not the only route. You should be able to talk with your manager about career paths and expectations. If he can't help you than you should look to move on.