I received quite a few messages and comments about my future of software testing post and for those that took the time to respond, thank you. But one that intrigued me was an email from an anonymous tester.
It wasn’t negative, nor positive, but instead extolled the virtues of certification and how certification schemes will guide testers through the pitfalls of the future and the challenges we face ahead. Now, this could be a wind up email from people who know my outspoken views on certification, or it could be genuine. I suspect the latter. Either way, it encouraged me to dig out this old blog post from my drafts folder and give it some air time (with minor edits).
This is not an anti-certification post. Nor is it a pro-certification post. It’s just some thoughts on other areas I draw on that I believe (I don’t know for sure though) is NOT covered by certifications or the courses that lead to the final awarding of the certification. Please do correct my assumptions if they are wrong (which I no doubt believe may be)
Before I continue though I really do want to point out a value I very firmly believe in : “No one is responsible for your career other than you”
So don’t go relying on your company, your friends, certification boards, family, community or any other source to move your career forward. It is your responsibility.
A friend of mine, Markus Gartner, summed it up well at Agile Testing Days last year when he said “If you find yourself unemployed a year from now, who do you think will be responsible for your education today?” <– I would add a variant to that..
“If you find yourself unemployed a year from now, what would separate you from everyone else in the market for a testing job?”
Why would someone employ you over someone else?
What skills would you need a year from now?
What skills don’t you have right now that you need to remain employable?
Where do you want your career to be?
So here’s my thoughts on why testers need more than a certification
The Lifecycles are changing
The project methodology lifecycles are changing. Feedback is demanded much earlier in the cycle. I believe that many companies are realising that long drawn out projects where the requirements get frozen for months and different teams work on different elements of the product are bringing about poor quality, broken delivery against expectations and de-moralised staff.
For testers this means that we need to find ways of making our testing count without relying on heavily scripted tests (created months before we see the product) with a massive amount of locked in assumptions. Change is innevitable in a project and the more the businesses embraces change, the more I believe some testers will struggle.
Accessibility and Usability Testing IS important
If you work in the world of web then you really should be learning about accessibilty and usability. It’s a good domain to understand anyway, but for web testers, these two elements should be a “must” for all testing. I’m not saying know them inside and out, but an awareness would be good.
Start here maybe : http://www.w3.org/
and here : http://www.uxbooth.com/
[but many more sources are available – I have a delicious feed with more here : http://www.delicious.com/maximumbobuk/accessibility]
Security is paramount
Just like Accessibility and Usability, Security should be considered a default testing activity. Security is paramount. A good place to start is “The Web Application Hackers Handbook” and Burpsuite. Check out the OWASP site also. [Note : Other tools are available]
Added : Alan Richardson (Evil Tester) is doing a series of Burpsuite video tutorials. –
People make a successful business
In my experience the business is successful because of the people. In almost every job on the planet, you need to work with other people.
Building your interpersonal skills, learning how to express your opinions in an assertive, but friendly manner and learning how to show your personality in the work place are crucial.
As many businesses are realising the importance of good team spirit and good person fit, it should no longer be a case of just a bum on a seat. You need to shine. You need to impress. You need to let your personality show. You need people to want to work with you…right?
Exploratory Testing Skills are essential
I’m fairly confident all testers perform some type of Exploratory Testing. I think many don’t know what it’s called, many aren’t self aware of it and others do it, but maybe lack some deeper awareness of it. If someone throws some software at you and says “test it” – will you flounder or flourish? Will you need a spec to move? Or will you get stuck in and add value? Will you explore or spend 3 weeks writing a detailed plan?
Communication Skills Add Value
Being a good communicator is essential, but it also adds Kudos and Value to you and your work. If you burst in to tears when questioned, can’t explain how you found a bug, can’t justify why you need more resource/time/money, can’t talk to the customer, can’t discuss sensibly your ideas and concepts and aren’t sociable with your team then you instantly lose credibility.
Be confident, be assertive, be personable, think about the language you use, take control over your non-verbal leakage/clues and always be aware of your Purpose, your Audience and your Context of the communication and you’ll start to see some very positive results.
People are people wherever you go
As a tester you are typically building some software for someone to use (in rare cases maybe not) and building some software with other people or for someone else (sales/marketing/customer/etc). As such, it pays to understand people. People are complicated. Interactions between people are complicated. So trying to learn more about people, their environments, thinking, history, incentives, needs, location, health, language, understanding of their world, culture and many other things will be invaluable for your role as a tester, a team member and a person.
I’d suggest you start looking to the social sciences for insights, thoughts and inspiration:
It’s important to widen your horizons about movements happening in the testing world. Who is pushing what boundary and what have they experienced? What new tools are out there? What conferences are taking place? Whose talking about some really interesting stuff? What’s happening in the development world? What cool tech is taking the world by storm? How are people using old tech? etc etc
Try some social networks and follow the trends. Build relationships and webs of contacts and knowledge. Widen. Widen. Widen. Filter. Filter. Filter. Then assimilate and accommodate, in other words -> adapt.
Being commercially aware could stop you being that person who holds up a release because of a bug that’s bugging just you. There are always other factors involved in the release process and operation of the business. Other factors that other people have more knowledge about. Mostly these are commercial decisions. So having an understanding of commerce and commercial operations is crucial to your activity as a tester, but it’s also a nice way to stop you going mad when other people keep shouting “ship it” despite the showstopper.
Efficiency, Effectiveness and workspace ergonomics
The best testers I know of are the ones who work effectively but carefully. They are the ones who know exactly where their tools are stored, located and accessed. They know their way around the operating system, tools and browsers. They know about addons, plugins and other aids to help them in their testing. They know about stuff that helps them test.
Information is never more than a few clicks or turns of a page away for these people. They can access stuff fast. Stuff they need, when they need it. They are engaged in what they are doing.
Their desk layout is practical and effective. They do their best to get themselves in the “flow” easily and readily. They can zone out and tune in fast.
In a sense, being aware of your surroundings, any limitations you have and how you can work within them is crucial to success.
How many times have you observed someone who doesn’t use any shortcut keys, has to page through weeks worth of notes to find every day crucial information, doesn’t use information radiators, isn’t effective at recreating issues and doesn’t understand some of the basics of any systems you might use?
Note: There is a risk that when you become a super user of the system under test that you start to miss issues. They are not obvious to you, but they are to new users. Care is needed to balance these poles out.
Taking control of learning
If you aren’t learning anything new then I’m worried for you. We all need to feel like we are learning something or on a road towards mastery (which, by the way is not achievable). It’s human nature..right? According to a lot of social research, including Maslow’s heirarchy of needs we seek self fulfillment after our basic human needs are met (food, drink, shelter, love). It’s powerful stuff and the science is typically stacking up towards self fulfillment as the main motivator at work (could help explain more charity work and Open Source contributions)…it’s very interesting and powerful stuff.
Yet. Despite the emphasis on learning, mastery and self fulfilment do you get training on how to learn? Or how to structure your career towards Mastery? Do you receive training on how to approach learning and how to get the most from it?
I received some informal mentions at school, but we certainly haven’t (at least not here in the UK) continued to teach this fundamental skill as we go through our working lives. We are all learning. But learning how to learn is just as fundamental.
Think about the following :
- Note taking
- Information distillation
- Accommodating and assimilating information
- Sharing your learning
- Pushing your learning in a logical direction
- Stopping information overload
- Pacing our learning
- Using our learning in practice
- Describing our learning
- Widening our learning
- Restricting our learning
- Developing core skills
There’s a massive amount we can learn about learning.
A bit of a rant. But some thoughts on aspects I don’t believe a certification scheme teaches.
That’s not to say certification schemes aren’t valuable, but I think that there is a lot more to our roles than many people realise.
There are many more aspects that affect our testing that simply don’t get mentioned or covered. So if you think certifications are important and the only way to learn, then I’m afraid the future looks sketchy for you. Certifications will not guide you through the trials and tribulations the unpredictable future will hold. They could be one part of your learning path, but they shouldn’t be the only.
What do you think are some of the most important skills that a tester needs outside of certification?
Do certifications give you any of the above?
Do you even think the above are valuable?
Do you think a certification *should* offer any of the above?
Image courtesy of http://www.flickr.com/photos/jmsmith000/with/4361087811/