When we decided to dedicate this edition of Test Focus to testing career development and training, my thoughts immediately turned to Johan Stander (Test and Data Services’ HR Manager). I have yet to meet anyone who can honestly say they know more about testers than Johan. In addition to the fact that he has been a Business Analyst, Systems Analyst, Tester, Test Analyst, Test Manager, Trainer, and been in a production support role for more than 11 years, he is also one of the best people persons I have come across. This is why he has been placed in Account Management and Human Resource Management in recent years. One of the reasons Johan is an expert when it comes to testers, and their careers, is that for the past 5 years he has interviewed almost a 1000 testers seeking employment.
Let's see what we can learn from Johan's experience…
(His answer here surprised me quite a bit; I expected a whole list of technical skills, degrees, etc.)
"The better the soft skills, the better the tester…" Soft skills that are crucial for testers are:
Communication: This is by far the most important skill. Testers must be able to ask questions to find out what needs to be done. They cannot be shy. They must be comfortable talking to strangers, especially if they do contract work (where they are placed at different client sites every few months). Communication is not only about talking, but also about listening: to understand what needs to be done, and to extract requirements, requires good listening skills.
Patience: It often happens that testers get resistance from developers. Testers must be able to take the punch and not take it personally. Testing is often a job full of extremes. One week the tester may be faced with 'boring' repetitive work, and the next week the pressure is on for a deadline that must be met. A tester's conduct must be professional - no matter what the circumstances.
Persistence: Don't give up! Even if you get a lot of flack for 'always finding fault', persist in doing what you know is right. Johan believes, "A tester is supposed to prove the system does not work." Don't be satisfied if you find 2 or 3 bugs - always keep looking.
Analytical: Very often you will be thrown into a situation where you have to figure out what needs to be tested. If you get the proper documentation (which does not happen often) pull it apart and analyse it to get to what needs to be tested. In most cases, you will not have the privilege of any documentation or specification. In cases like these, you have to go on a fact finding mission to determine what must be tested (communication skills come in handy here again).
Oh yes, and then there are the technical skills as well (almost forgot about them). Having a BCom IT degree, BSc degree, IT Diploma and/or good testing training (ISEB, for example) is definitely an advantage. Johan hastens to add, "I have come across a lot of people in my career that have no formal qualifications, but were excellent testers." Some people think that because they have a degree they don't need experience, but at the same time they want senior positions and/or high salaries - and unfortunately, these only come with experience. Most employers place a very high value on actual experience.
The value of some development background should not be underestimated. If a tester has SQL skills, he/she can write queries and do some background testing without having to wait for someone else to do it for him/her. However, development skills are essential for Automation Testers. A trend Johan has seen over the years is that developers who become testers often become bored and decide to move back to development. This means that you don't need to have been a developer to enable you to become a good tester.
What experience are you looking for in a tester?
This depends on the actual testing role.
Tester: Minimum 6 months' testing experience.
Test Analyst: At least a year or two's testing experience, as well as at least one year's analysis experience. (Some Business Analysis experience will be an advantage here.)
Senior Test Analyst: Minimum of 3 years of solid testing and analysis experience. Here again, some Business Analysis experience will be an advantage.
Test Manager: 3 to 4 years' testing experience, and 1 year of management experience - even Project Management would help, preferably in the IT industry.
Consultant: 5 years' testing experience in a senior role and some Project Management experience would be an
advantage.
We are at a very good stage now because there is a good spread in demand. We are receiving requests for all the different types of positions. Generally, in the past, we received requests in batches: sometimes everyone wanted Test Analysts and at other times everyone wanted Junior Testers.
A problem that we often see is that potential employers want experienced testers with many skills, but are not willing to pay the appropriate rate for such a person. These employers want to pay a Junior Tester's rate for someone with the skills and experience of a Senior Test Analyst. Some employers also want one person to do testing, test analysis, and take on some or all of the test management responsibilities. This is impossible for one person to do as each of these roles have their own timelines, deadlines, and levels of responsibility.
Junior Test Analyst: These individuals have attended some or all of the testing courses, and have a great deal of theoretical knowledge. They don't have any (or have little) testing experience.
Tester: These individuals must be able to read and understand test packs, do the testing, and report on their findings (defect log). They perform mostly front-end testing and repetitive work.
Senior Tester: They perform all the tasks of the Tester, as well as back-end testing and updating of test cases.
Test Analyst: Test Analysts perform requirements extraction (from documentation and/or JAD sessions), verify with business that the information is correct, and then write test cases, test, and report the results.
Test Manager: These individuals must be experienced in all the tasks mentioned above. In addition to these, they must also be able to manage the testing process, people, and the testing environment. For this they must have a good understanding of Project Management.
Consultant: These individuals must be experienced in all the tasks mentioned above. They should not only have a sound knowledge of manual testing, but also of the specialisation areas such as Automation, Security, and Usability. A consultant must be able to go to a client, analyse how the client is currently doing testing, and make recommendations for improvements. The consultant must be able to speak capably to senior people and do presentations.
Test Automator: Most people who prefer to specialise in Automation Testing will not be keen to do manual testing at all (which is why this role is mentioned separately from the mainstream manual testing roles). However, it is important to note that before you can become an effective Automation Tester you do need solid manual testing experience. The other requirement for the Automation Tester role is sound development skills. This is needed for the proper use of the various Automation Tools.
Due to the fact that misconceptions exist in the market as to the responsibilities of the different testing roles, it often happens that a lot more is expected from a person than what that person is able to deliver. It may be expected of a Test Analyst to set up and manage the testing environment. This is dangerous as this person does not have the skills or experience to perform these tasks.
Very often testers over-sell themselves. They use fancy terminology in their CVs, which they don't know the meaning of. It is very easy to spot this during the interview. A good example is the use of the term 'Test Planning' when in fact they have written 'Test Cases'. This is not the same thing and can create the wrong impression.
It also happens that testers become unhappy with the rate they earn. They often jump to higher paid jobs like Business Analysis. More often than not, they cannot cope - or don't like this new job - and then try to fall back onto testing.
Get external testing specialists rather than permanent staff. The main reason for this is that business must concentrate on what they are good at. They will spend a lot of time and money to train their own - or newly appointed staff - to become testers of their software. The company may not be able to keep them busy with testing work, and boredom often results in the abuse of telephones and the Internet. Staff members often then leave to seek more challenging opportunities. The business is also responsible for the permanent staff members' career development, maternity leave, etc. Employers often make the mistake of thinking they save money by employing their own staff; however, in the long run it costs them much more.
It is much easier to budget for - and manage - a short-term contractor. Contractors who specialise in testing bring much experience and knowledge (obtained through their careers) to each new client. The outsourcing company takes the responsibility for the contractors' training and Human Resource issues. The business gets a tester who has already been trained. Even though the contractor may lack the business knowledge in the beginning, employers must realise that testing contractors are trained to pick up business knowledge quickly.
The individuals who usually succeed in testing are those who are totally passionate, always willing to learn more, and never give up.
Antonet Bekker (antonetb@testdata.co.za)