What do you think the most important skills and knowledge areas are that will set testers apart from the crowd in the next 2 to 5 years? What are you working on getting better at for your own professional and career development or looking for in teams you're building? What do you think will shout 'professional tester'?
I've seen a shift in the last few years where everyone just spoke in terms of say 'ISTQB Foundation and Quality Centre' to where they could easily mark you out as a run-of-the-mill-tester. We'e seeing more PhD holders such as Sarah Salahuddin and more balanced views of how to approach testing somewhat countering the Agile perspective
Here's some examples that spring to mind:
* Knowledge of Open Source test tools and frameworks. * Ability to code, e.g. write automation frameworks or dive into code to find bug causes. * Understanding Exploratory testing, Charters, Sessions, etc. over traditional approaches. * Solid, broader education way beyond ISTQB.
Oh, let me add 'ability to think' to get that one out of the way, unless you have a specific way of thinking you see as needing to be embraced in the near future of course ;)
I'd say that two of the 'classic' tester attributes - ability to learn quickly and ability to communicate well - are even more important than they used to be
With so much information out there and app development so fast then testers have to learn and adapt quickly - and with so many modes of communication now available then the ability to utilise them to the best advantage is required
oh, and the ability to network and socialise - see Lisa Crispin's It Takes A Village blog about how she used the global test community to help her
* Good communication skills. That includes also the skills to create good reports.
* Basic security understanding. Almost all applications are web based or some other way connected to net. At least understanding when there is increased security risks is almost mandatory.
* Quick learning skills and skills to find information quickly. New application, new frameworks and so on are making testing harder. Also e.g. SOA might have multiple different technologies.
* Skills to understand what is correct level of automation and how much it really costs.
* Broad skills at different areas. We can't learn everything but we should know many things from the basics of different things.
I think those are the most important skills nowdays and even in future.
The effectiveness is the most important word of today's business. So I would prefer testers with:
* ability to understand business needs of customers
* communication skills - give the right information to right people in the right time to make best decisions on the project
* ability to understand the mission of the testing - it is not "verification quality" all the time
* don't be afraid to break the rules if added value will be achieved (communication skills needed)
I'd echo this, yes. Marek is quite right to identify "business-mindedness" (if such a word exists!?) as an attribute that I shall increasingly be looking for in future.
How can we achieve the greatest amount of assurance from the time and tools at our disposal? Who needs to know what about what and when by? Who and what information takes priority?
Knowing your testing 'customer' and their needs properly is vital to giving them greater confidence that the test results and conclusions that you supply them are accurate and beneficial. This confidence is then returned to you. The net effect is closer, more-effective teams and punchier, more-exciting (if such a concept exists!?) testing.
Helping to define requirements with precision. Good testers have numerous skills to help with that: Detecting ambiguity. Envisioning scenarios that BAs and developers might overlook. Translating fuzzy requirements into precise, scriptable examples.
Each of these skills can be invaluable not just for testing, but for defining requirements. Using these skills, testers can collaborate with BAs, product owners, and developers to create precise examples for a given requirement. Good examples communicate the requirement's intent, define what "done" means, and help the whole team align around a common, well-defined goal.
Me too agree with Dale. Making sure the requirement are defined clearly and are making sense to the business need is the future in testing. Though it is a job of BA but testers are very close to the application/product so it comes in their bucket of activity as well. Understanding the need of the stakeholders and helping all the team in designing and delivering the system in one of the most important job of the testers.
Other things I feel one should do is
- To sharpen his/her skills in testing (exploratory testing is not everyone's cup of tea).
- Gain industry knowledge and keep yourself updated with the current trends (not suggesting any certification though)
"Most of the testers, unfortunately lack [common sense]".
I think that's probably a bit harsh generally-speaking. I don't think 'professional' testers as a species possess any less common-sense than other team roles. And, especially for those with a wider experience of systems and industries, possibly a tad above the average actually.
However, I do sometimes find people who seemingly have no common-sense and who have been plonked in a testing role because they can't be trusted elsewhere. Their organisations see testing as a non-job, a safer place to put people. It's completely bonkers and simply exposes said organisation as oblivious to what testing should be and how it could improve their business.
I think an ability to communicate very well is becoming far more important in these days. Tasks that used to be the preserve of IT pros only are being carried out now by non-IT people with varying levels of success. As a tester I often find myself building bridges between programmers and sales/marketing people but they have very different needs from a communication perspective.
I also think the increased prevalence of automatic updates for applications over the internet presents a challenge for us. I find that I have to keep myself up-to-date with the details of so many of Microsoft's network related updates it starts to get ridiculous.
Be on the track. Know the buzz words, know agile, know automation, know heuristics, be a domain specialist, be an expert, be passionate, be on the top, be active, write, read... Have good psychological skills, mathematical skills, everything in the world can help you do be a good tester.
The other very important skill is adapt. BE A BORG!! Be able to learn something in a week. Be able to be an expert in something in days. Be able to build a warship in a month if that is what you have to do. Assimilate everything that needs to be done on that particular thing that you want to do. Let you mind flow in the wast ocean of information. Let you body glide in the universe of knowledge.
After that there is no particular technology or methodology you NEED to know right now. You need to know what you need to know and when you need to know it.
Agile, Selenium, Ranorex, Flash test, Exploratory Testing, Scrum, Java, C#, xUnit, Design Patterns, Ruby, Mutation testing, Coding knowledge, programming skills, Framework building, User Story analysis, Requirement analysis, the ability to create test cases from pieces of information gathered together from here and there, Good understanding capability, reading, writing, analytical thinking, logical thinking, good fantasy...
And so on and so fort... technology does not matter. Your brain and your passion and your enthusiasm matters the most.
If you have does... And you are confident that your brain can learn anything it needs to know... You are on the right track. Just keep on reading the news, keep on scanning to net and reading articles about what is hot and what is new.
This forum is a good start.
Here is a list that i go over every day in the morning: