Skip to main content

Measuring QA Key Skills and Competencies

I have been thinking about how I can help encourage self improvement within my team, as I understand it, everyone wants to improve, it's just that often there are a number of things that hold people back.

I believe one of these things that hold people back are around identifying skills that they are perhaps weak in or that they could/should improve on. So I thought about how I can help tackle that problem.

One solution that I want to try with people is to identify the key skills for a QA, what key skills should every QA have, or at least what key skills make up a good QA? If I can identify these then I can start helping people identify if they are lacking in an area. Sure there is a competency matrix that we have, but it has things like "An excellent understanding of XXX", it's often very difficult to quantify what an excellent understanding actually is.

So I sat down and came up with the following key skills:
  • OOP
  • Test Documentation
  • Manual Testing
  • Automated Testing
  • Performance Testing
  • Security Testing
  • Operational Testing
  • Tool Usage
  • Cross Browser Testing
  • Automation Pyramid
  • SQL
  • Test Data
  • Communication Skills
  • Mobile
I'm sure there may be more, so please feel free to comment and suggest some to me. However, these will definitely do as a starting point and for the purpose of this exercise.

Secondly, I thought it's easy to go through and say I know a bit about SQL, I know a bit about Services/API Testing so I don't really need to learn them. So I thought about the following, sitting down with each QA member and discussing with them how strong they are, and trying to come up with a score out of 10 on how they would rate their knowledge, I would then put this into a radar graph to achieve an overall view of their skills as a QA.

As you can see I have tried to do it for myself, it's difficult coming up with scores, so it's by no means final as ideally I would discuss these with my manager and come to an agreement, but I think it is easy to see the areas that I need to improve on. I have also aligned these to the core competencies matrix that we have adopted, so it ties into helping people develop themselves with an eye for a promotion etc.

The next step is coming up with actions on how we can improve the above, but I will save that for a separate post!


  1. This is a great list! What about adding testing to meet accessibility standards? Our team here at Pixo ( strives to meet accessibility standards (especially for our higher ed clients) so we do in-depth testing for that as well. It's a bit of an undertaking but well worth the effort for those with disabilities to be able to use our websites.

    1. That's a good idea! Like I said this isn't a definitive list, so any suggestions are welcome. Where I work currently there is a drive to start performing accessibility testing, and in fact I got the team to do presentations on areas of testing and accessibility testing was one of them! Thanks!

  2. Life cycle is very well explained in tabular format... really helpful for the one's who are looking ahead to automate their manual testing process. Load Test Website


Post a Comment

Popular posts from this blog

Advantages of using Test Management tools

Before I start talking about test management tools, let me clarify what I mean by the term test Management tools...  I am not taking about your office excel program where you store your test cases in. I'm talking about bespoke test Management tools, your quality centers or Microsoft test manager...
In the strict case of the term test Management tool, Microsoft Excel can be used as such, but heck, so could a notepad if used in the right way... For the sake of this blog post I am talking about bespoke test Management tools.
Firstly, what test tools are out there? There are many more out there today than when I first started in QA over 5 years ago. When I started the market was primarily dominated by a tool called Quality Center, this would run in a browser (only Ie unfortunately) and was hosted on a server.. Nowadays it's market share has somewhat dwindled, and there are some new kids on the block. 
One of the more popular tools is that of Microsoft Test Manager, it's big…

What is a PBI?

After my last post, I had the question of what is a PBI... so I thought i'd write a short blog post about what they are and why they are used.

A PBI is an acronym for Product Backlog Item. It is a description of a piece of work that your SCRUM team will develop and deliver. When you have a list of Product Backlog Items, you then refer to that collective list as a Product Backlog.

The product backlog is often prioritised and yourteam will work through each PBI, and release on a regular schedule... I am however going deep into the world of Agile development, which isn't entirely what this post is about, so I will stop myself now.

A Product Backlog Item is made up of the following:

Title - This is often a one liner that gives the team an idea of what the PBI is about, although it can just be an ID for the item and the team work off of that.

Description - Breaks down the PBI in a bit more detail, and can be written in any style, however I prefer it to be written as follows: 

By writin…

Dealing with Selenium WebDriver Driver.Quit crashes (Where chromedriver.exe is left open)

We recently came across a problem with Selenium not quitting the webdriver and this would then lock a file that was needed on the build server to run the builds.

We were using Driver.Quit() but this sometimes failed and would leave chromedriver.exe running. I looked around and found this was a common issue that many people were having. We (I say we, as we came to the solution through paired programming), came up with the following, that would encapsulate the driver.quit inside a task and if this task takes longer than 10 seconds, then it will clean up any processes started by the current process, in the case of the issue on the build server, it would kill any process started by Nunit.

        public static void AfterTestRun()
            var nativeDriverQuit = Task.Factory.StartNew(() => Driver.Quit());
            if (!nativeDriverQuit.Wait(TimeSpan.FromSeconds(10)))

        private s…