Since the start of my testing career, I’ve often been asked about testing. Most commonly, I’m asked what skills you need to succeed in the profession. During my time, I’ve found that there are five core characteristics ranging from technical to creative to social that will stand you in good stead as a tester. The good news is, these are skills you can develop too!
Here, I explore the following key aspects of being a professional software tester – skills and knowledge, thirst to learn and share, integrity, accountability and certification.
Skills and knowledge
Contrary to belief, testing is not a job for ‘just anyone’. Testing is a highly intellectual and often creative task. Testers are information gatherers and providers. During our work, we find pieces of functionality that may not work as intended. To find these needs skills and testing knowledge. Throughout my career, I’ve found that certain core skills help me tremendously.
Strong communication skills are essential. As testers, we work closely with a range of people from developers and business analysts to stakeholders. It’s important then that we articulate the right level of information to technical and non-technical audiences. A developer understands that the piece of functionality is not working because BizTalk is not picking up the message, but try telling that to business managers. They want to know the impacts of the broken piece of functionality and how it will affect them.
Being able to analyse issues and think critically has helped me with testing, especially when I’m trying to understand how a defect has come about. When a defect arises, I need to investigate why it’s occurred. For example, sometimes data-migrated units function differently from newly created units. This is quite a common problem as not all the data attributes of the unit in the legacy system are copied across to the new system. After some nifty detective work, I found that the migrated units had missing attributes that were required for certain jobs to automatically assign themselves to the unit, resulting in business users not completing the right jobs on those units.
Adaptability is another vital skill for testers. As a test consultant, I’m sent out to many different client sites. The work environment can range from waterfall to Agile, open communication to guarded communication and being co-located or dispersed. To thrive in this profession, you must be able to quickly adapt to any environment and continue to add value.
The practical knowledge that comes from the experience the tester can bring to the table is invaluable. I remember clearly how the Monday-isation of public holidays was not catered for in a system. Jobs on a public holiday had a premium attached and when the public holiday fell on a weekend, it was moved to the following Monday. However, because the client operated on weekends as well, the actual holiday was considered a normal working day. Billing was impacted as a result and customers were either over charged or under charged. This particular experience has allowed me to shape my date-testing toolbox.
Thirst to learn and share
IT is an industry that’s continually changing and rapidly so it’s imperative that a test professional has a thirst for knowledge. Studying the craft of testing is not just about learning while on a project, but is also about growing your knowledge from other sources and in other areas.
The testing community is very close-knit. No matter which country or city you’re in, there are always test Meetups and conferences. This demonstrates a high level of professionalism in the community. Through one of the WeTest conferences in Auckland, I learnt a testing game involving a human calculator and a couple of dice. We had to guess what the calculator’s rule was. At that time, I had almost two years’ testing experience but I found that I was still falling into very simple traps, such as not testing different combinations to challenge my hypothesis. This exercise taught me to always be wary of confirmation bias.
While having a thirst for knowledge is great, being a professional means you’re also willing to share your knowledge and experiences. At the start of the year, I was given the opportunity to learn about testing in Agile environments from Janet Gregory, a pioneer of Agile testing. Through this, I gained a lot of knowledge I wanted to share with other people. To share this, two colleagues and I ran a deep-dive workshop for about 75 people from all different backgrounds at Agile Auckland. Our workshop opened with a discussion on a particular Agile vs. waterfall experience, followed by two exercises – automation testing and test planning using the Agile testing quadrants. Little did I think that after two years of testing, I would be able to present at an event which proves you don’t have to have been a tester for a long time to have knowledge to share.
Your integrity and morals say a lot about your professionalism and who you are as a person. Being honest and doing what is right will help you build a level of trust between you, your clients and colleagues. Everyone has their own sense of right and wrong and those principles guide you through interactions in life. I’ve found that my sense of integrity and morality has also guided me throughout my testing career.
As testers, we’re exposed to a lot of sensitive information. Confidentially is therefore vital. We’re trusted by our clients not to disclose their confidential information to the public. It could be very easy to accidentally leak sensitive information during casual conversations and you never know who else could be listening. Consequently, I’ve always been very cautious about client and work-related conversations. These conversations are definitely best kept within the client’s premises and not shared with your friends and family.
Integrity also means honesty. I believe I must always accurately report my findings during testing. I remember a time when a test manager wanted me to remove the failed steps in a test script so I could pass the test and provide reports to the stakeholders that would reflect a better test result. I felt very uncomfortable being asked to do this and, because I didn’t believe this was right, I pushed back with my reasoning that removing those steps would defeat the purpose of the test.
Finally, treat others the way you want to be treated. This was the number one rule when we were in school and it still applies as a working professional. Throughout your working life, you will interact with people from different areas and of different levels. When a new junior tester joins me at client sites, I always treat them as my equal and try to make them feel welcome. If you want to be respected by others, you must first respect them.
As a test professional, it’s imperative you’re accountable not just to yourself, but also to your clients and employers. Being accountable is not only about being able to justify your actions and completing your work. It’s also about taking ownership and being responsible for the project you’re involved in.
On one of my projects, I was responsible for testing a particular type of electronic message. While testing the different test environments and phases, I noticed we were experiencing the same problems over and over again. I raised these as a high-risk area that needed to be thoroughly tested across all environments. I planned the testing ensuring that all possible problems were tested either by myself or by the business users with my support.
Since this project involved a new system, trainers were needed to develop training material for the users. As I had tested this area for months, I knew it particularly well. I set up a demo showing the trainers what the process was when receiving and loading the electronic messages. After that, I set time aside to review the training materials.
When the system went live, I ensured I was allocated to support that area. The client operated 24/7 which meant I had to support go-live during the weekend, as well as usual business hours. I didn’t mind this as I wanted all the business users to be well supported. If an issue was encountered, I’d be there to help.
Certification and experience
Some people believe that to be a professional, you need to be certified in that profession. Certification demonstrates that the individual has the skills, knowledge and experience to perform that specific job. Employers can ask individuals for certain qualifications to ensure the individual they’re hiring is competent and professional in their chosen field of work.
In testing, we have certifications for test professionals, a popular one being from the ISTQB. I am ISTQB certified. As part of the Assurity Graduate Programme, I was able to sit the exam and equip myself with an ‘industry standard certification’. However, in my testing career so far, I’ve found that my testing knowledge is from my experiences rather than from learning ISTQB.
In my opinion, having a testing certification doesn’t mean you are a test professional. Many testers who I have extremely high respect for are not ‘certified’. Instead, what makes them a professional is their skills, knowledge, experience, the time they spend studying their craft and the help they give others.
With testing, you can’t ‘fake it ‘til you make it’. It’s quickly evident if a person is not as competent as they claim to be. I have worked with someone who has been certified by multiple organisations and claimed to have many years of Agile testing experience. As soon as they started working, it became obvious that this was perhaps not the case. This individual was very strong headed about how everything should be done and what processes should be followed. They wanted every piece of functionality scripted to a very low level. If you know Agile, then you know this is not Agile at all. Testing is a profession where experience can speak for itself.