How should I start testing?
Now, Its the first day for you as a software tester in your company. One question that bothers every new tester is “How should I start testing?”
Believe me, you should explore like a child. No fear, no inhibitions only enthusiasm and Curiosity to explore the new gadget. That’s child like.
Give a new mobile phone to a kid and a grown-up. You will be surprised that the kid explores more and understands the working of the gadget quickly when compared to the grown-up. Why? Its because the curiosity inside the child over-rides the fear of breaking the gadget. Or maybe the child didn’t even give a thought that the gadget might break. Yes, that is what is needed in a software tester. The first quality of a tester is CURIOSITY. Enthusiasm. Explorer.
First, we will understand what is a software project. A software project is a mission to be accomplished. The mission might be to test an app or a web page, e-commerce website for a super market, airways software, a bank web site, a pharmaceutical related site, working of a processor or anything.
A company will recruit a software tester:
- when the company gets a new project
- or the count of the team has to be increased(because of the new functionalities or what ever the reason might be)
- or a back-up for a team member
You should consider your self as the lucky duck if you have been put into a brand new project. This is great! because you will be part of the project right from scratch, i.e; from the understanding the requirement documents. Even if its not a new project and you have been recruited into an on going project that’s fine, nothing to worry about it.
The journey or a software tester begins here:)
Trust me, it is a beautiful journey(I have been through it and loved the experience).
A project might have multiple teams, each team for a functionality. Or it might just have a development team and a QA team. Both in dev(development) team and QA team again there will a Hierarchy. Mostly Dev and QA work under same Project Manager. There will be a Project Lead for Dev and QA separately. You might be introduced to a Project Lead and a Team Lead initially. It is with Team Lead that you will interact mostly. You will see that your TL(Team lead) has already defined each tester’s role. The team will consist testers with different designations, like there will be few POCs(Point of Contacts), SSE(Senior Software Test Engineers), SE(Software Test Engineers) and few JrSEs(Junior Software Test Engineer) or SA(Software Test Associates). You would be designated as SA, that is a software associate. Though you are a Fresher, you will be an SE if you have certifications in testing and knowledge of testing tools. Your TL or a senior will introduce you to the team, you will have a walk through of the project. You will know:
- You will know the project name
- What sort of application it is. For example:-Desktop or Mobile or web application
- Testing methodology being followed. For example:- Manual or automation or agile
- Your role as a tester will be defined
- In general what are the tester’s roles and responsibilities in this project
- Always remember to understand every thing properly and no one is expecting a Fresher on the first day shine like a super star
- You will be asked to read the product requirement documents or any documentation about the product. As a fresher you might not be given authoring of test cases
- If its an on-going project then you might be given a knowledge transfer
- You might be asked to explore the product by going through the requirement documents one-by-one.
- You will be paired with a Senior Software engineer or a domain expert, who will be explaining what and how he is testing the product. The SSE might train you in different ways. Mostly, you might be trained on the domain familiarization. The SSE will find a defect during the test case execution and you will have try to reproduce the defect following the TC steps(Test case) or with steps he will show you, in same environment. He/She might ask you to note down, out of 10 times how many times you are able to reproduce it successfully. He will ask you to repeat in different environments. And when you give him your report, he might report the bug on ‘his’ name.(Secret:-That should not trouble you. As he is training you, just focus on learning the domain. Don’t go with ego issues at all.)
- Express the steps you followed clearly and correctly. Give all the details about the environment and steps to reproduce the defects. Once your mentor is confident of your product knowledge and communication, he might ask you to author the ‘Defect report’ too. But again, he might post it on his name Cool. (Secret:- Take it easy). Write the defect reports crystals clear and with all the details.
- Once your mentor is confident about your testing skills and your product knowledge he will report to your Team Lead about your improvement. And you will be given Test case execution.
- Every day you will be given few Test cases to execute. But again, your mentor might still review your testing and execution. Now, you will be reporting defects on your own name(Hurray! at last). But, first you might be asked to author defects in a word document and get it reviewed. Once it is ‘OK’ed you will be given access to the defect reporting tool(example:- Jira, QC, Bugzilla etc)
- Have a clear understanding of the Priority and Severity
- Every day your execution and defect reports will be supervised. The number of defects bounced back against the number of defects accepted will be taken seriously.
- Based on your 1st test cycle execution and many defects you reports, you will be given and directed to few requirements to which you should author test case and gradually you will be part of defect triage
- You will have to do estimations. You will have to analyze requirements, estimate number test cases for all requirements, time taken to author test cases, time to execute test cases etc.
- Now, your rate of growth depends on how fast you learn and how well you exhibit your improvements. And remember aim and goal of a tester and a developer is to build a QUALITY product. Its not the race or a debate competition.
Qualities of a Software Tester:-
Curious (as a child):-
The testing aptitude arises with the in built Curiosity trait. The tester should be curios about the product. Be more curious.
Bold and brave(as a warrior):-
These qualities will take you a long way leading to success. But then, put your thinking cap and analyze the matter before you ask a question. Your questions should not sound innocent. Innocence is not bliss in this case. Analyze the specifications properly. Try to understand by reading multiple times. Your questions should make the other person explain you the answer or working. If the tester is Bold and Brave he will not have fear of asking questions. If some feature is not understood, the tester should be bold to ask questions and brave enough to confirm his understanding. Should not hesitate to ask “Why”s and “Why not”s. Be bold and brave and confident.
Yes, a tester should be stubborn. Whether anyone agrees this as tester’s ought-to-be quality or not, believe me you have to be stubborn. If testers are not stubborn his bugs will never be fixed. That does not mean that developers don’t want to fix the bugs and see a quality product, its only that some feel that they have written a bug less code:) But Guys, you also should know where to let go. This you will know when you understand the difference between PRIORITY and SEVERITY. So, again you have to think in client’s and user’s perspective and decide where you have to be stubborn and how much percentage 😉
Zeal to learn and explore:-
The person should have zeal to learn new things and explore the rest. A tester should absorb knowledge like a sponge. If this attitude is not in-built it can be cultivated.
Diplomacy is the key factor in maintaining a healthy relationship between QA team and dev. Nobody likes when you tell out-right, on the face that what they created is wrong. Gone are the days when the testers used to think of only ‘breaking the build’. Now its all team work. Yes, the dev and QA if work as a team only then the project is a super success. But then, the tester should always feel he is the advocate of the user. Which means, he has to think like the end user and talk on behalf or him, in that perspective. And verify and validate the working of the product. You will face scenarios where your views will change the requirements itself. Conditions apply: when you expresses your views DIPLOMATICALLY
Passionate about testing:-
A software tester should be passionate about testing to rock in his profession. Maybe I should put this quality first. But then, I know that you are passionate about testing, that’s the reason you are reading this This indeed is a beautiful profession. It is challenging every day, every phase. We are not bored if we feel that testing is challenging. Your love towards testing will keep you thinking always, you will start thinking in different angles, methodologies, techniques of testing. You will start learning tools to upgrade your skills and increase your marketability. As I already told, testing is just not about finding bugs its about working towards the a quality end product. Hence, the result is work satisfaction. And a person who gets work-satisfaction will never get bored but will think of growing in the chosen path. That’s the whole point, grow.
Not to forget your team spirit. Help other team members in understanding the functionalities or share the authoring or executions. Always remember success of the project is when it is TEAM WORK not if only an individual is successful.