Whether you are an interviewer looking at an applicant or your new to QA and want to know what skills will help you become a more proficient tester there are many qualities a person must possess to truly be successful at the QA testing. Certainly some skills are more natural than learned. This post will delve into the more beneficial skills to have in the testing field. There are many more than what I will mention that are arguably deserving to be acknowledged right alongside these but here they are in no particular order.
Respect for brand reputation
I started here because I feel like this get more important every year that goes by. Your customers are your customers for a reason. You are providing something they need or want and they have chosen you to fulfill that. They are investing money and time into your product and do not want to get thrown to the wolves for giving you their loyalty. In the past it could take weeks for production issues to have widespread ramifications to brand reputation. Today, it is a matter or hours. A squeaky wheel can spread their discontent, alerting other customers to the issue and then they spread it themselves. Billing issues in particular can be personally offensive to customers if you overcharge them as there is a close relationship money and their livelihood. As a tester, always having the customer experience in mind should be a part of every test you do.Curiosity
In testing you will find bugs and unwanted behaviors are a direct result of your curiosity. Being a tester means thinking of scenarios others might not have. You are consistently closer to the end product than other areas are. This allows you to...wait for it...think like a customer. What happens if a customer intentionally or accidentally goes through these particular set up steps? Hmmm...this button brings up a text box I can type into, I wonder what happens when I copy and paste the entire first chapter of Moby Dick into it? Curiosity pairs nicely with exploratory testing as it allows you to stray from the happy path in order to see if all functionality is working.Outside of just testing being naturally curious allows for more learning opportunities. Experience has taught me when questioning why something is done the way it is always brings up a subtle re-evaluation which can foster long overdue needed change. For example if a process doesn't make sense to you ask yourself “Why do we do it this specific way? Is this legacy thinking or is it new and intentional?” Or if you are noticing bottlenecks in delivery you can starting think if Test or Behavior Driven Development would help solve the issues.
Process improvement and the ability to seek out new tools
I combined these two as they are closely related. These are nice skills to have as they will exponentially make your life easier. There are constantly new tech tools being developed that will make your everyday tasks more efficient. If you find yourself with a bit of time during the week or if you schedule time to do this it can be immensely rewarding.One time I needed to create hundreds of unique usernames for a test. Instead of blowing an afternoon and doing it manually I did an online search on “how to generate lots of mock data” and came across Mockaroo, a tool I still use today. My previous post is also a good example of discovering a free tool that can make your testing duties easier.
Go/No-Go decision making
There will be times when you need to deliver some functionality to a stakeholder by a certain date and there will be a late breaking bug found. Or there's a bug discovered in production in a vital area that is affecting billing or customer's safety which requires an immediate hotfix. This will seem like a chaotic time however it can quickly broken down into a relatively simple set of steps.- How much time do we have to test?
- What are the changes and what areas could they affect?
- From that info identify the high risk areas within and start there
Test and document
- Document everything you test and make note of everything you did not test but could be affected. Note any possible fallout from not testing them.
- If it's a go provide results to the product manager and tell them that QA is satisfied and let them know what you found.
- If it's a no-go notify the team and tell them why you are not comfortable releasing. At this point there will be some discussion to get clarification. What should come from this is a clear path on how to safely get the changes to production
When dealing with high pressure situations like this it helps to not lose customer focus. This will keep fresh in your mind that this will affect actual people and not a generic customer base. This also makes it easier to say it's a no go, especially if you can backup your decision with test data. The ability to recognize risk is also a big part of this and it helps for the tester to have lots of knowledge about the product under test so they can quickly identify the high risk areas.
Bonus hard skill that is quickly becoming a necessity: Automation and programming
Testing used to be a soft-skill job however it is quickly transitioning into a field where hard skills are required. A couple of years ago needing to know how to code didn't seem as apparent even though it has been simmering underneath the testing landscape for awhile now. With continuous integration and delivery becoming more of the norm the need to be familiar with some kind of automation technology is becoming more apparent than ever.If you are already have a job and need a place to start, find out what the company uses for their code-base and start looking for introductory ways to understand it. Sit with a developer and watch them write some unit tests and take an extra minute to have them explain what they are doing. Asking devs how the code works can work wonders. It helped you understand their process more and sometimes even prompts them to discover that they really did end up touching areas they thought they hadn't, which could possibly lead them to write better tests in the future. Yay for cross pollination!
If you are between QA jobs or do not have access to developers and not sure where to start I suggest the looking at CodeAcademy. There are some terrific starter courses there which will help grease the wheels. There are also hundreds of free videos and practice site online.
As I said earlier, these are only a few but I believe they are the more important skills to have. QA
Okay, I'll see myself out now.
Comments
Post a Comment