

Ask HN: What does a QA analyst do? - scottilee

Can someone expound on what a QA analyst does day-to-day in detail (tools used, skills required, etc.)? Does it differ if you are a QA analyst for a gaming company versus an analytics company?
======
merciBien
I assume you mean QA Analyst, as opposed to QA Engineer. To me the main
difference is that QA Analysts don't write code, where QA Engineers do write
code. If you enjoy writing code, you should try for a QA Engineering position.

I was a Quality Assurance Analyst at a large financial services company for a
few years. I can't say how different a gaming or analytics company would be,
but I think most large software companies will be similar. Personally, I'd
stay away from QA positions at large companies, as I found I was trapped in a
specialized testing area that limited my ability to learn new skills.

QA's need good analytical skills, to know where to look for bugs, and
judgement to know how severe a defect is. Good communication skills,
particularly writing skills are critical. By writing skills I mean the ability
to write clear descriptions for developers, and clear steps for them to
reproduce issues. I ask specific questions in interviews to find out if a
candidate for a QA position can clearly explain a 5 step process.

QA's typically write short descriptions of their test strategy for the code
they're testing and discuss the plan with the developer who wrote the code and
other QA's. It's better when these docs are clear and understandable. Non-
agile teams usually require QA's to write documents listing all of the tests
they plan to run, even if they never check that you actually run them. Agile
teams usually eliminate this kind of busy work.

As a QA I spent a lot of time explaining the app and functionality to the rest
of the company, including managers, directors and VP's.

QA's need good soft skills, they need to learn about other parts of the
business to understand the customer the company's trying to reach. Often the
design given to developers is missing requirements, a good QA can find those
requirements early and save the team time reworking code later. Often QA's
need to coordinate testing with other QA teams, integration points are where
software always breaks!

QA Analysts on my team spend the majority of their time either running manual
tests, or using software that permits them to automate my company's
application. We have a team of automation engineers, Quality Engineers
officially, who write and maintain tools and testing frameworks that allow
non-engineers to create automated tests. Our automation team wrote a scripting
language for Selenium WebDriver to permit easier automation of browser
controls.

Since my company's application is a web app, many of the tools they use allow
viewing and tweaking web requests. Here's some tools the QA's use daily:

 _HTTP Analyzers and Javascript consoles_

* Chrome and Safari Developer Tools

* IE HTTP Analyzer

* Firebug

 _Monitoring Software_

* Computer Associates APM (Server Monitoring)

* Splunk (Log Monitoring)

 _Test Case Management_

* SilkCentral (I hated this app, slow and inflexible)

* Microsoft Excel (for writing tests)

 _Agile Management /Bug Tracking_

* Rally or Jira

The QA's on my team who could manipulate the Linux command line, create simple
Bash scripts managed deployments to QA and Performance environments, and
tested some of the application's backend components.

I took programming classes at night, and as quickly as I could I found a QA
Engineering position at the same company. Since I had little programming
experience, my experience as a QA Analyst was key to getting a QA Engineer
position. A QA Engineer with a solid understanding of what and where to test
is very valuable to any company.

If you don't want to code, Quality Analysts often move to Program Management,
or become Scrum Masters or people managers.

You didn't say if you're applying for a Quality Analyst position. If you are,
Good luck!:)

edit: cleaned up formatting

