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!



Comments

  1. This is a great list! What about adding testing to meet accessibility standards? Our team here at Pixo (pixotech.com) 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.

    ReplyDelete
    Replies
    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!

      Delete
  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

    ReplyDelete

Post a Comment

Popular posts from this blog

Coding something simple.... or not! Taking a screenshot on error using Selenium WebDriver

I recently wrote a little function that takes a screenshot at the end of a test if it has errored. What sounded very simple at the start turned out to be quite a bit of work, and quite a few lines of code to handle certain scenarios! It's now over 50 lines of code! I'll start with what I had at the beginning, this was to simply take a screenshot in the working directory, we are using SpecFlow and Selenium to run the tests, so we are going to check if the ScenarioContext.Current.TestError isn't null, if it is, then using Selenium, take a screenshot (note the below code is a simplified version of what I had at the beginning). [AfterScenario]         public static void TakeScreenShotOnError()         {             if (ScenarioContext.Current.TestError == null) return;             var screenshotDriver = Driver as ITakesScreenshot;             if (screenshotD...

How to manage resources within new teams?

Working where I work we are constantly spinning up new teams to take on new workloads as business come up with new demands and new features they want developed and tested. The problem with this is how do we ensure the work of the newly spun up team is of sufficient quality. One method is by taking people from other established teams and placing them on the new team. This works great for the new team, but unfortunately it will oftenl eave the established team lacking in a resource whilst they try and fill the gap left by the person who has left. We are seeing this often with our offshore teams, it can be damaging to the team structure and the teams velocity, but try as I might, I can't think of another way around it. It's far easier to take 1 person from a team that is established than it is to build a whole new team from scratch. At least by leaving the core of a team in place, you should be guaranteeing that the new team are aware of any coding standards or any QA standard...

Considerations when creating automated tests

We recently released to a number of teams our automated regression pack that has been worked on over the past few months. This regression pack tests legacy code, but contains a large number of tests.  As a bit of background, a number of teams are working on new solutions whilst some are still working on legacy code. With this in mind we constructed an email with a list of guidelines when creating new tests that need to be added to this regression pack.  I figured that these can be quite broad so should apply for any organisation, so thought it would make an interesting blog post...  So here goes,  when creating automated tests, it's important to consider and adhere to the following: - Think about data . The tests need to retrieve or set the data they need without any manual intervention - This should help them be more robust and easier to run without manual intervention. - The tests need to be idempotent - By making it so that each test is standalone and does...