(Not) Lying about Writing Code

I recently saw this quote in an article by Nikita Hasis on Medium.

“If Your Test Leaders Aren’t Telling You To Write Code, They Are Lying!
Even if it’s by omission.

There’s this argument, almost daily, about whether software testers should learn programming. I’ll jump right in. It is unimaginable that someone would tell you NOT to learn something. That’s the first, and probably shittiest lie that inexperienced testers get fed. It’s further unimaginable, and downright irresponsible to tell people not to learn something that is very clearly where a large, well-paying, and above all interesting part of the industry is heading. Wanna work on innovative, data-driven projects with smart and driven people? You probably need to pull up terminal and at least get your toes wet, y’all.

The worst part of the lie is that it imposes that coding is a difficult grind and will only cause more problems than it solves. I even saw Alister Scott’s blog post referenced as an argument against coding, ironic as it is.”

~ Nikita Hasis (Medium)

Since Medium is a walled garden that doesn’t allow you to leave a comment without creating an account I’ll leave my response here instead (where anyone is free to comment however they like).

Continue reading “(Not) Lying about Writing Code”

AMA: the future of QA roles

Lroy asks…

How, according to you, is the future of QA roles going to look like. I currently work as a QA in a matured agile team where the devs are responsible enough to practice TDD and write automated tests while I pair with them. I pair with them on test strategy, performance testing, a bit of security testing. It is definitely an interesting shift to see how QA was perceived to how it is now. I understand that it is not like this in every company. But how do you see this role pan to to be? Thanks PS: Thank you for taking time to do AMA, it is really interesting to read your responses. I have enjoyed reading your blog for couple of years now.

Continue reading “AMA: the future of QA roles”

AMA: describing our work

Chris Stanbridge asks…

Hi Alister, Long time fan of this site and your work – you’ve become the quality go-to source of truth for our scrum team. I think I have a similar role as your day job, but I have a quandary: I’m unable to describe what I do at work. Friends and family lose attention part way through my explanation, and I’ve found it has made me appear to be a crashing bore. I’ve developed a recurring nightmare where I fail to summarise the nature of my work to my demons (game-show hosts or stand-up comedians who pick me out of a crowd) who just don’t get it. I thought I was being clever by saying I use a “robot” to check if computer code works, but the picture painted using that word is considerably off the mark. If only I was a plumber… I’m sure you can provide me with a concise blurb I can memorise and plagiarise for the next neighborhood barbeque that’ll make me appear as interesting as I think I am :-) Cheers, Chris PS: Please keep up the excellent and entertaining blog – you’re an inspiration and an education.

My response…

Well, my job title at Automattic is actually Excellence Wrangler which is both awesome (in that no-one has heard of it before), and terrible (in that I have to explain what it is to everyone who asks).

I will often say something quick like “I work with various software teams to create a consistently pleasant user experience on WordPress.com”.

If that’s not sufficient detail I can explain that we continually do lots of testing of various WordPress.com user flows across different devices and browsers trying to find issues and bugs before our users do. We also develop automated scripts that run all the time to help us find these issues quickly since we make changes so frequently.

I’m not sure if that will help you, but since you’re in Brisbane too, let’s catch up and discuss further over lunch and/or tea 😀

 

AMA: QA tools and resources when starting out

Nanthida asks...

Hey Alister!
I’m new to software testing, having come from a Support background, and I’d love to know what tools and/ resources worked best for you when you were starting out? :)

My response…

I very recently answered an almost identical question, so I will point you to my response.

If you have any follow-up questions, feel free to leave a comment below.

AMA: how to cope as a solo tester

Bodda asks…

hey, i like your blog, i’m reading your blog on a daily basis, and i just want to ask you what i can i do to enhance my skills, knowledge and to be a be good in functional testing (manual and automation) IF i’m the ONLY tester in my current company (performing all testing activities), but i feel that i have a mess in my head and lots to learn to be up to date with the last trends.
my question now “What to learn, When(everyday?) and How in case your are the only tester in your company”.

i hope to answer my question soon to make my head calm down

My response…

I have fond memories of a project where I worked as the solo tester on a software delivery team; we had something like 8 developers (including one lead who took on iteration management tasks) and me as a tester. That was it. I loved it because we established really good unhindered rapport with our business stakeholders, and I was always busy!

But getting back to your question: when I was working in that situation it was vital that we had developers working on as much test automation as possible, alongside functional development, since there was just too much functional testing to do for a single person also doing test automation. I found myself spending about 80% of my time just testing new functionality and spot-testing different browsers/devices etc. The remaining 20% I spent ensuring we had good regression test coverage through the automated tests that developers were writing and I was helping maintain. So first and foremost I would strongly encourage you to get the developers you work with to have as much responsibility as possible for automated tests.

If you have this in place you should be able to take a deep breath and spend more time doing quality testing. I have found the best way to learn is on the job, you’ll be in a good position to do this, and often you’ll learn best by making your own mistakes.

learning - 1
via The New Yorker

If you want to know more about how to become better at what you do, I’ve shared some tips in a previous answer. There’s also my Pride & Paradev book which I wrote whilst working as a solo tester on a team.

All the best.

AMA: junior QA professional development

Mark asks…

What advice would you give to a talented junior QA who wanted to advance their career in software testing? Assume that they have no formal training in testing and have worked their way up from a junior IT role in an unrelated area.

My response…

I strongly believe you create what you will, so if someone’s willing to take control of their own testing career then they will have a mighty fine one at that.

I find there’s two key components to a career in software testing, and they’re quite opposite roles/skills so it’s worthwhile focusing on both:

  1. Developing skills in human exploratory testing: effectively finding the most important bugs fast. Whilst this skill can developed, I have found it’s mostly a mindset.
  2. Developing skills in test automation: having the ability to collaborate on and implement automated regression tests so a tester can spend more time on point 1.

In terms of resources for professional development for human testing for a tester I would recommend the following:

Books: some books cover the basics: agile testing, specification by example, pride and paradev.

Blogs: I’ve mentioned some blogs I read. There’s also the fantastic 5blogs feed as well which covers some great testing articles each day – so they can follow that.

Conferences: there’s a good site which lists every testing conference, and coming up in Australia is Australian Testing Days 2016 and the ANZTB Conference both next month and both in Melbourne, and CukeUp! Australia later in the year. Internationally I recommend GTAC and the Selenium Conference(s).

In terms of test automation skills, I am finding software developers are much more commonly interested in automated testing than I have found say 5 or 10 years ago. This has two benefits:

  1. Software developers can up-skill testers on their technical programming and automation tasks; and
  2. Software developers can take on some of this responsibility so technical testers can spend more time testing

In terms of building up test automation skills on one’s own, it’s never been easier or more accessible.

Two of the most popular testing tools of all time (Selenium/WebDriver and Cucumber/Specflow) are free and open source and available in all mainstream programming languages and platforms so there really isn’t an excuse not to learn them on one’s own.

If someone was just starting out and platform-agnostic I’d recommend starting with cucumber and watir-webdriver in ruby (because it’s so easy) and buy Cheezy’s book ‘Cucumber & Cheese‘ to learn how.

If you combine all of these together with a willing attitude it’s easy to develop great testing skills.

Finally, Nas has some good career advice:

I know I can
Be what I wanna be
If I work hard at it
I’ll be where I wanna be

 

AMA: hiring technical testers

Mark asks…

Right now the software testing space is a very challenging area to hire in. We see many candidates that lack strong technical skills, in particular strong foundational knowledge in programming and automation. Why do you think this is the case? How can we improve this?

My response…

Great question. I believe there’s a few factors at play here.

Firstly, software testing still doesn’t really get taught at universities. I know of a couple of Australian universities that offer a single software testing course, but from what I hear it’s the same as 10+ years ago when I did my software engineering degree where testing was always just an afterthought rather than taught as a way to build quality self-tested code. So I have found there isn’t technical testers with those skills coming straight out of university – they need to pick up these skills in the industry. I’ve been in some organisations where we’ve put IT graduates into these technical roles to develop these skills but they typically those graduates have wanted to move into software developer roles so this wasn’t successful.

Secondly, in the past, I’ve found few organizations that fully recognise and value technical testers/software test engineers as a profession it it’s own right, so a lot of people who have these skills may rather work as a software engineer/developer where they’ll be recognised and valued more. In the past, places like Facebook had zero testers or people will a sole responsibility for QA, although from what I have heard this may have changed. I have noticed recently there is a general trend to value these skills more highly of late and since there wasn’t enough demand in the past I believe it’s a catch up game of increasing supply.

 

Finally, technical testing particularly developing test automation for systems that haven’t been built with testability in mind can be a tiring task: especially when dealing with inconsistent or non-deterministic test results which an organization is often relying upon to release software rapidly. This potentially discourages a lot of people from taking on these roles, although as my GTAC talk promoted it doesn’t have to be this way if we build systems with testability in mind as a collaboration between testers and developers.