Quality Assurance engineering is all about making sure that the software you build meets the acceptance criteria. It's a core role in every agile dev team, and as the market focuses more on quality as a differentiator, it's an exciting time to be in QA.
At Codility we care a lot about QA, and like many dev teams we favor a continuous integration system, with end-to-end automated tests to ensure our platform works properly.
"With distributed teams and version control becoming commonplace, QA engineers are crucial for ensuring merges will not break existing code. They save the dev team a ton of time and allow them to focus more on building the app."
Michal Lipinski, QA @Codility
QA in a nutshell:
Before shipping a new feature or application to end users, it needs to be tested to make sure it works as intended. Quality Assurance Engineers are the proxy between your dev team and your end users, spending their time verifying whether the application works as it’s supposed to - even factoring in the most invisible, edge-cases. They partner with Product Managers to provide valuable info about the state of the application, and work within dev teams to make sure their work is of sufficient quality.
What sets great QA devs apart?
It takes more than test automation and Selenium knowledge to be a great at QA. The best QA engineers are master communicators with a strong eye for details. They need to be able to clearly explain bugs and issues to developers, while also speak with client-facing parts of the team to understand the expected user behavior. They should be familiar with xpath, timeouts, edge cases, API, and be able to read existing code as they may need to design tests according to implementation.
What to look for in interviews:
- How good is the candidate at understanding end users’ perspective?
- When planning tests, how does the candidate think through edge cases and consider all possibilities in the code?
- A great QA engineer never settles on flaky tests. How skilled is your candidate at ironing out kinks?
- Does the candidate have a hunger to keep improving their coding and test automation skills? How do they learn?
Using Codility to assess these skills
We’ve recently shipped a suite of tasks designed to assess candidates on the core skills a QA engineer needs. These tasks provide a way to screen or interview candidates in a way that’s reflective of their typical day-to-day in a dev team. The candidate will write tests that verifies whether the page meets all the acceptance criteria and spots all of the problems that could come up with the page. When paired with a coding task (in the tech they use - ie. Python or Java) or a QA knowledge question, you’ll get comprehensive candidate tests report to help your hiring team decide which candidates to advance.
If you'd like to try our latest QA Tasks, book a demo below: