Monday, March 29, 2010

How to improve your skills as a software tester?

If you test software, you have likely considered improving your software testing skills. The answer to this important question is not limited to reading some articles, following some blogs and joining some forums. You should first be aware of the different actions you can take to develop your software testing skills. Then include these actions in your routine and be diligent in taking these actions regularly. Spend substantial time on these actions and you may see dramatic improvement in your skills. First, view the video, Building software testing skills.

Building software testing skills

If you have read my earlier post, What are the responsibilities of a Software Test Engineer?, you would be aware of the 21 major responsibilities listed therein. Your desired actions may be roughly mapped to the major skill categories below.

Testing knowledge Learn about the latest testing strategies, techniques, approaches and (developments in) testing tools. You can get some good information and insights from the popular software testing forums, tool vendors' websites, websites related to testing and software testing blogs.
You should also be aware of the latest development technologies used in your application and know programming (for the purpose of reviews and automation).
Understanding requirements Learn more about the business of your application. You can get more knowledge from the business people (e.g. clients, product managers, business analysts, domain experts and end users) and by reading (current and past requirements documentation, white papers, case studies, trade magazines and so on).
Planning There is a wealth of material on the topics of estimation and project planning on the web. The key is to apply the principles of project planning to your activities consistently.
Test design Do not be satisfied with just one or two test cases for each low-level requirement. Brainstorm more and more test ideas. Design test cases based on these test ideas.
Pay more attention to the design of test data. Consider interesting individual test data items and test data combinations. Do not limit yourself to just using one or more test data design techniques.
Test automation This is one area with the potential of a lot of improvements. For example, you can learn automating test cases that are difficult to automate, organize your test automation better, design or refine a test automation framework and automate testing activities that are being done manually at present.
Test execution Learn as much as you can about your application's production environment. You may get this knowledge from the IT/ Support/ Helpdesk team. Replicate the production environment as far as feasible as your test environment.
Change your pace deliberately when you execute tests. If you speed up, you may be able to get tests done quicker. Then if you slow down, you may be able to observe things that did not strike you before. Read my earlier post, How to find more or better bugs (12 tips to explode your bug count and/or severity)? for more tips.
Reporting (defect reporting, reporting test results and reporting status) Analyze the earlier reports created by you and others. Find ways to express the information more completely, accurately, concisely and better suited to the specific audience of your report.
Team playing Be more committed to your team.
Take ownership of your responsibilities (stand by what you say or do).
Respect your team members and help them out when you can.
Process improvement Always challenge the current test process in your mind. Research and suggest better approaches and tools to testing tasks.
Constantly learn from others in your team. Try to apply the knowledge you gain in your project immediately.
Time management Plan your day according to the priorities of the tasks at hand. Leave some time to refine your work. Take actions on the most important tasks first.
Self management Last, but not the least, always be in good health and high spirits. My father always tells me so. Believe me, it shows in your results.
And care about the fellow testers genuinely. Contribute to the software testing community whenever you get a chance.

Share more tips to improve our testing skills by putting in a comment.