What are the traits of a good software tester?
Conducting software testing is really important in order to understand the flaws that were made during the development phase. This would help developers to recognize and rectify the blind spots and deliver excellent products to customers. It is imperative that software testing is done to ensure quality of softwares, because once the confidence of customers is lost, no matter what you do, it will not be easy to regain it. Each time you release a product, ensure proper software testing is done – at all critical stages of product completion. Entrust this task to software testers who are experienced in the field. The tester must have the following traits
Follow the testing rules
Proper testing must be done at different stages of project completion; not after the entire project is completed. If possible, do it well before the deadline and even then not as a makeshift testing just before you submit it to the client. Never compromise on any level of software testing.
Thinking from the perspective of the end-user
Always keep the requirements of the customer in mind. The ultimate product should fulfill the goals of the customer, not what the developer would have liked it to be. The product should function properly and the features in it, must lead to customer satisfaction. A product is said to be successful only if the customer has maximum use for it, and understands it.
Tester must understand the priorities
An experienced tester would be able to identify the priorities in a software development project. It is the duty of the tester to understand and identify the important testing stages and prioritize them. Doing this in the systematic way would cut down on the stress faced during the last stage of project completion. The earlier the defect is identified, the faster the project will move.
Strong analytic skills
All software testers must have strong analytic skills, because one of their duties would be to cut down complex softwares into small units and understand their functioning better.
Good at data collection
Though a software tester may not necessarily be a software developer, it is important that he has some sort of a technical background because automated tests are becoming popular these days, and a tester with some level of programming and scripting skills may prove to be advantageous. Of late, software testers are required to have degree in computer science (or a similar degree). Additionally, the tester must also be proficient in using testing tools like Quality Center, QTP, LoadRunner and Selenium. Knowledge of MS Office, DB tools like PL/SQL developer and TOAD are other added advantages.
Adaptability is a good character trait for a software developer because requirements of the customer might change anytime. Deadlines may be pushed up and features may shift in focus, so the tester must be able to adapt.
Thinking from User Perspective
At the end of the day, all the products are meant for customers. They must benefit from it, only then client goals would be satisfied. The developer is responsible for thinking it from the perspective of the customer. As customers are not technical people, the product should be easy enough for them to understand. So the data collection should be done accordingly. A product is considered successful only if the end user finds it useful.
Structured test methodology
Software testers with knowledge of structured test methodology would be able to apply the same to his testing procedures and this leads to better success in all testing projects.
Must be open to suggestions
The software tester would be the authority on the software he is testing. Even so, he must be open to suggestions, because you never know where a good idea might come from. So collect everyone’s feedback when the testing is done, and the end product would be devoid of flaws and entirely bug-free.
The capability to understand risks
One of the main functions of the software tester would be to check for product capability. He must thus, be able to understand and manage risks related to any product that he is testing. He must be able to identify the risk, analyze it and manage it successfully.
Can handle stress
Sometimes, software testers would have to go through “stressed software testing”. If the development stage gets delayed, then it would automatically affect the testing stage. If the deadline draws near, there would be a flurry of activity to meet it, and the testing stage gets affected. The tester must be able to handle this and still do a good job.
A good team player
The software tester must have a great attitude and be a team player. Developers cannot get their job done without a tester and testers don’t exist without the developer. A tester is an important link in a large organization, but he must have the right attitude.
No qualms in asking questions
Softwares testers must always be prepared with the right questions, whether they are directly involved in the project or not. So make sure the tester has the right answers to the following questionsWhat is the requirement of the client?
- Are client demands followed accurately?
- What changes have to be done?
- What methods are taken to fix bugs?
- Would the product be accepted by other perspectives (for example, business development)?
A software tester is not just involved in the testing process, he plays an active role in analyzing the collected data related to the test environment. Analyzing the data is actually more important than creating scripts and executing them.
Pictures: Flickr.com/ Juhan Sonin/ Robert S. Donovan/ Bush Bollay/ CLS
The author: Reema Oamkumar is engaged as a thought leader at Software-Developer-India.com which is a part of the YUHIRO Group. YUHIRO is a German-Indian enterprise which provides programmers to IT companies, agencies and IT departments.