Happy New Year 2015!!!
When you want to excel in any field then you should be passionate about what you do. If you want to grow in software testing as a carrier then you should read and stay updated with testing updates, engage with your fellow testers, attend testing conference. The capability of great tester is gained over the period of experience however you can grasp the characteristics of good tester by following some important points. In this article we are preparing a comprehensive list qualities should have to be a great software tester.
What Qualities Make A Software Tester To A Good Software Tester?
Test to break attitude:
While testing many testers think of detailed level of positive testing, this type of testing is must and should be carried out while testing. However testers not only think on the positive scenarios but also think around negative scenarios to keeping away the security many security issues in your application. Tester should follow “Test to break attitude”. If you want to keep hackers away from your software then you should think for negative test cases as well. So make sure that you are covering good chunk of your test cases based on negative scenarios as well.
Think like an owner:
When you start working on any project then keep one thing in mind that the project on which you are working on is your own project and give the 100% contribution towards the success of the project. I am not saying that you should take the business decisions on your own, moreover you should participate from beginning of the project like requirement gathering to deployment on production. In each stage you should ask question to stakeholder, developer, team members and resolve the queries if any. Your responsibility is not only validating the software against the set of requirements, but also doing the market research and gives the suggestions to improve it.
Ensure End User Satisfaction:
If you think like a owner and make sure that how I can use the software with more ease which will make sure that end user happiness to access software. You should not only test out the set of requirements given but also the think over how end user will happy to use the software. To achieve this you first try to make sure that your software under test is defect free.
Think Like End User:
The software finally is going to be used by the end users and the success of the project is based on only if end user able to use software with ease. Keep in mind your job is to find bugs before the software is reaches to the hands of users. As a tester you should think like an end user and understand who will be your end users. Make sure that test scenarios and test data must be designed with end users are going to use the application. You need to put your foot in end user shoes. It might be missed to identify the important bugs in the software application if you do not think as end users perspective.
Ability to Prioritize and Organize:
In the Software Testing Life Cycle (STLC), testers are fully loaded with the testing activity. Consider a scenario where there are 1000 bugs to verify in testers plate, then first you need to prioritize your important tests which will help you to make test execution smooth and based on test importance. Don’t execute the test cases without deciding the priority. “Test for quality not for quantity”. So if you prioritize and execute the important test cases then you don’t want to cut down the cases in time pressure situations. You should keep in mind the historical data before Prioritize and organize the test cases for execution.
Don’t Compromise on Quality:
You presence is just because of defects in the software. Don’t compromise on quality in every testing stage. This testing activity will not end unless and until create the quality product. Compromising the quality leads to presence of defect in the software, so work on more efficient testing to make sure the produce quality software.
Involve in the project from early stage of projects:
As a QA you involve in the project from the first phase of SDLC i.e. Requirement gathering and you don’t want to wait till you are getting build to test. Before you start actual testing work on reading, reviewing the requirements and get the clarification of queries from stakeholders if any. This step also called defect prevention step where most of the defects are identified in this steps as a result saving time and money. As you are involving early in the project you will get clear picture of project scope and it will help for you testing planning and you can prepare the test strategy, test plans, test cases, setting up the environment for testing in early phase of SDLC.
Listen to everyone:
No one is perfect in this world, even if you are aware of the end to end features and functionality of the projects but it might be possible to forget or missed any simple part of software unknowingly. It is good quality of software tester to listen other. There is always scope for improvement, always pay attention if anyone is giving any implication or idea and this will definitely help to improve the quality of the software application under test.
Trust on yourself not others:
Make sure that you are verifying each and every step before giving go ahead for testing activities. Consider a scenario where you received a new build with some fixes done by the developer, then you should ask some question on build you received like what fixes made by the developer, check if the fixes are working properly or not, check if fixes done by developer is not stopped working any previous working functionality. Make sure that you testing every point and not pressurized by any senior designation members. To more success in the testing carrier you should follow this activity through out the STLC.
Effective of bug reporting:
When you are filing a bug then make sure that you are attaching additional information along with bug, which will help developers to understand the actual issue. As additional information you can attach screenshot, videos captured a scenario where issue is observed. You can also add points like where issue observed, is this issue is reproduced randomly, on which browser, on which platform, on which operating system etc. Try to provide every detail which help developer to understand the issue.
Stop the Blame Game:
It is natural human tendency to blame others if the defect is not caught in the testing cycle. Such situations are more frequently happen only if the roles and responsibilities are not defined properly. This is quality of good tester to not blame on other and if this situation arises then first try to figure out the root cause of the issue. The application under test is tested by the humans and as human everybody can make mistakes. In such situations you should work as team and resolve the problem and not to play the blame game.
Be professional and objective while testing:
Each time when you start your testing then start with fresh mind. Doesn’t predetermined software by considering you know software very or I used this software earlier then it might be possible to fail to notice important bugs. Be professional and not test the software with biased opinion.
Work on your Communication skills – written and verbal:
One of the important skill that good tester should have is “Communication skill”. In day to day life testers should work on writing test plans, test cases, reporting quality defects and so on. As a tester these are most important activities in SDLC which tester has to perform. Along with this tester has to attend meeting, give presentation to team members, stakeholders etc, so he should strong in the verbal communication skill as well.
Good tester should be a Good Observer:
You should observe the things which are happening in the project. Make sure that you are keeping the track of the major and minor projects related things going around you. Watch out the test progress and make necessary changes required if any. Such data is very important and help to keep you updated in the entire project lifecycle and you will be ready in advance for any kind of situations. If testing activities are off the track in terms of testing activities or scheduled, make a note of it and take necessary actions and make sure that the same things are not happening again.
Be Transparent in testing:
In the testing life cycle practically it is impossible to complete 100% testing, so never promise or don’t say on paper that 100% testing coverage will be completed. You should not focus on the 100% testing coverage but you should focus on the quality of testing. You should be transparent as QA and the testing activities, testing progress should be available to published or accessible to concern persons. Before starting every project you should identify the risk associated with it and design and execute the test cases considering the project risk. In the risk management there are three things are associated with it Risk Identification, Risk analysis and Risk Mitigation.
Validate the things before raising:
Before raising any questions or defect you should judge the things and make sure that you are validating if it is valid or not. You should have proper reason to defend the things you are raising. So try to be good reviewer to understand the both sides of issues and try to identify why it is right or wrong.
Don’t negotiate just efficient defect reporting:
When the new defects logged by the tester then sometimes developers try to prove that the code is working as expected and issue logged by tester is invalid. It is one the great skill of tester to discuss, convince the developers on defect and defects get resolved from developer. Many testers are thinking that discussing defects with developer is not there job, it will take care in the Bug Triage Meeting. However testers should convey the real impact of issue and its implications. It either resolved by discussing the issue with developers or writing efficient defect report to convey the proper message. Under such circumstances tester should not required negotiating with the developers.
Working on your analyzing and debugging skills:
In the early stage of SDLC you work on requirement analysis, but it is equally important to understand the feedback of customer while defining the test strategy. You should analyze requirements; ask each and every question around this. If the question raised in the early phase the many problem get prevented from introducing into the code. While testing many times application under test is not working facing some issues. So along with the analyzing skill, tester should have debugging skills as well to resolve the issues by their own if possible.
Learn from your mistakes:
Nobody is perfect, and no one will ever be perfect, but the first step towards perfection is overcoming your past and problems. You should thinking on your mistakes and make sure that you are not repeating the same mistakes again. If you reported a bug with some mistakes then you make sure that you should improve and do not repeat similar mistake next time.
In this article I have listed many Qualities of good tester are listed here, moreover if you think this list is not complete and you need to add points in the list then Share your thoughts in the comments section.