Communication skills and analytical skills for a SOFTWARE TESTER
If I want to become a software tester WHY do I need excellent communication and analytical skills? I am going to ‘TEST the software’, not going into business or marketing.
Communication and analytical skills are the ‘MUST HAVE’ skills and are ranked Ist for any job.
Good Communication skills is
- how well you can understand or analyze the given information
- how accurately you can transfer or present this information
- whether this be vocally or written or visually and non-verbally too (using body language and the tone and pitch of voice)
In the previous post “A Beginner in software testing?” we discussed What a beginner needs, to begin his career as a Software tester and turn into a ROCK-STAR Software tester.
We also chose our weapons to achieve our goal. That article was just giving an outline info about what you as a ‘Beginner’ need to know….it was not probing into details. A lil’ flash back will help us to recollect which weapons we chose for our battle..
1st Weapon: Communication skills and analytical skills
2nd Weapon: Certification
3rd Weapon: Technically up to-date (learning new tools and technologies)
Before we go into details, don’t you want to know
- What does a “Software tester” do?
- What are his duties, responsibilities?
Obviously, a software tester tests. He tests a software. When anything is tested, we judge. We judge and take a decision whether its good or bad. Similarly, when a software tester software’s functionality he has to decide whether it’s behaving correctly or NO. But then how will he know if that is the RIGHT behavior or no. For that he will have to read the “Read the requirement documents“.
Now…What are REQUIREMENT DOCUMENTS?
In short, Software Requirement documents(specifications) are the documents in which all the functional and non-functional behavior of the software is described.These sometimes are also referred as SRS- Software Requirement Specifications documents.
These Requirement documents are to be understood properly, converted into test cases, we also refer these document’s topic numbers in the bug reports. Hence, understanding these documents is very very important. To understand these documents we need good ANALYTICAL SKILLS.
Now…What are ANALYTICAL SKILLS?
Analytical skill is our ability to visualize, express, form an idea about it and how it should work or solve both complex and simple problems by making decisions that are sensible with the available information.
A tester has to try and imbibe the ability to visualize or imagine the product/software before he sees it. This is applicable for a developer too, before he starts coding.
Now that a software tester understood the requirement docs, he should try to express that as test cases. He should be able to convert all his understanding into authoring test cases. During the phase of test case authoring he should use his analytical skills in writing the expected result. If any of the info is missing or if not clear, he should communicate the same clearly and on time.
Richards J. Heuer Jr., explained that: “Thinking analytically is a skill like carpentry or driving a car. It can be taught, it can be learned, and it can improve with practice.
To gain strong analytical capability one must learn to Break Down large Problems into components. This will make our task easier to solve. Comprehend Difficult Reading Material. From time to time, there is a need to read and understand complex reading material at work. It could be a new corporate policy that requires implementation or it could be a technical document explaining how to use an application. Analytical skills help you to read such materials and put them into action.
Now, we will discuss about COMMUNICATION SKILLS. All during our college days we keep hearing about this “..work on strengthening your Communication skills….”. Why does a Software tester need to give so much importance about Communication skills?
For that matter, what is Communication for any human?
Say, You wrote a letter to a friend in your language, forgetting that he cannot understand your mother tongue. The message in the letter was inviting him to come to your wedding. Your dear friend cannot understand your language. And there are no mobiles and you can only write a physical postal letter (say) here😉
2. So, he wrote a letter to you in English that he got your letter but he cannot understand what you wrote.
3. Now, only 5 days left for your wedding. You re-sent your invitation again asking him to come to your wedding.
4. He got the letter and he understood what you wrote. He too wants to come to your wedding. But, you forgot to mention wedding date in your letter. So, again he wrote a letter to you asking you the wedding date.
5. Oh, damn! again you replied his letter with the wedding date. Remember, you like this friend a lot and you really want him to join your wedding so you even booked a room in a hotel that is near to your house, though its costly and train ticket for him as only 2 days are left. Told him the same.
6. He is happy but he searched your letter and dint find any details about the train name, berth number and date. So, again he wrote to you asking for the details.
7. Now now… you write back telling him the details. But you are worried as only one day is left for your wedding.
8. When your friend got your letter the train already left that day afternoon and he dint get a ticket either when he tried. He was really sad that he could not make it to your wedding.
This is example of an utter failure project-“Attending friends wedding” for lack of communication skills, negligence and many more things
It failed because of
- Not clear and unable to understand the info
- Incomplete information
- NO quality
- Could not make it to the release date..Not delivered project on time
- Waste of resources-postal charges, Hotel room, train ticket, 2 persons time
This is an example for a fresher into software field.
Communication skill is very important soft skill a software tester should have. Clear communication is crucial between a developer and a testers, and it is the key to successful projects. Poor communication will mislead the developer or make him misinterpret the reported defect, this will impact productivity, delay in delivery and cause a lot of rework, especially when working with remote teams.
- Don’t lead a sedentary life style. Do exercise regularly or take up an outdoor game to play with your friend daily. Or put on your sneakers and go for walking regularly.
- Play computer games (Do not play violent games, instead of doing good to you these games will leave your brain perverted and restless). Play some Brain-training games online. But, see that you don’t get addicted to these and forget your goal. Your focus should always be your career, till you get your desired job. Remember this gaming thing is only to increase your alertness and speed.
- Solve puzzles(Don’t use calculator). Don’t let your brain rust.
- Games in which you will have to quickly identify a hidden animal or jumping jack and tap it. These kind of games will make you alert and sharp to identify defect
- Read lot of books
- Get good sleep.
Research has proved that people who have good sleep, their brain gets enough rest and is ready for the next day’s work out. These people have good memory and think right. And when under stress do not become cranky but think patiently.
If you think you don’t speak good English and your grammar is poor, don’t stop talking. Think in English, speak in English. Yes, I mean it. Your thoughts too should be in English, not in your mother-Tongue. Watch good OLD black & white English movies, which have sub titles. Watch it with head phones so that you can catch words clearly and pronounce correctly. Don’t be embarrassed when you commit mistakes. These are your baby steps towards SUCCESS.
Write your bug-report first in a word document and check for spellings and grammar. Take help of google for meanings and synonyms.
When posting a defect make sure you write simple small steps crisp and clear.
FOLLOW the steps and check if YOU are able to reproduce the defect. As you are aware of the defect your self, you will tend to repeat the steps on your own, but remember, it’s not for verification, the purpose is to confirm if you trace the steps in your bug report, you should be able to reproduce the defect…so..read the 1st step and do it…again read 2nd step and do it. Keep doing this for all the steps. Like this you can never make mistakes and forget to mention any important point.
If you have a team member who is good in communication, start reading her posted defects, now and then. Maintain a folder for Templates on your desk top. If you find any report or mail communication good, then copy it in a word document with an appropriate name and save it in this Templates folder and keep referring to it when you come across similar scenario. I don’t mean that you have to do this through out your career as a software tester…you can make it a practice till you are happy with the way you communicate. Its very useful to maintain such template folder.
Build good communication skills and maintain good relationship with team members, leads and managers. Take small breaks.
Plan your day when you reach your work place..
- Check mails
- Bug verification
- Execute 30 functional Test cases
- Update Daily status reports
- Learn Selenium or anything you feel you need to upgrade or read about new technology in the market or gadgets(sites like extremetech give good info about the latest technology)
You come to office in a bad mood, read some funny jokes about software developers and testers and then start you work. I don’t mean that you should waste your time reading jokes and gadget info. Have control over your time. If its 10mins ..let it be only 10mins…don’t let it spill over next task on hand…Manage your time correctly. He who has control over his time will really become a super rocking tester quickly!