Tech Writing for Testers

Finding a good software tester has become really difficult these days. There are some basic qualities required of a good software tester. Some of them are stated below:

  • Good technical skills – a tester must have some programming skills to understand what software does and be able to write automation scripts.
  • Analytical and logical skills – Writing test automation scripts require both logic and analytical skills.
  • Good communication skills – A tester should have both written and verbal skills so as to communicate with the programmers and write test plans and test cases.
  • Work without or minimal supervision – At times a tester has to take decisions on their own to meet the software needs without the approval from their seniors.
  • Attention to details – to find bugs a software tester should be observant and have an eye to find minute details which is not in accordance with how software works.
  • Flexible – ability to adapt the constantly changing and latest technology and ever changing needs of software development.
  • Business sense – to see a product or software in a bigger picture. Instead of just finding bugs a tester can identify weaknesses in software which would be fruitful to the business.
  • Ability to test the software from end user’s perspective so that the loopholes or feature issues can be identified.

There has been a misconception that if a tester is technically sound and has good programming and testing skills, his command over the language/communication skills is not important. Whereas in the current scenario the management is realizing the need of strong communication skills which a software tester must possess, (more than a software developer/ programmer) as there is a lot of communication required with various departments like the product team and development team to have an understanding of what a software product does.

Besides verbal communication and specifications provided there are test plans, test cases and bug reporting which need to be documented by the software tester.

Test Plan

It is a document telling the detailed testing strategy and approach taken to validate the product before it is released. A sample test plan will have the following:

  • Details of the document and related documents like product specifications.
  • Timelines and schedules
  • Hardware and software requirements like test tools
  • Staffing – their responsibilities and training provided
  • Features to be tested and features not to be tested – When there is a patch release of a product then only those features should be tested instead of the whole system which would save time.
  • Test deliverables – develop test cases
  • Dependencies and Risks – hardware, software and data dependencies and technical risks like if the new system fails the old product or previous version should be used.
  • Suspension/ resumption criteria – If tools are not available or hardware specifications are not fulfilled or there is a major defect in the source code then testing would be suspended. Resumption will happen when the problem which caused suspension has been resolved.

Test Cases

They are a set of steps followed by a software tester to determine that software is working properly or not. A sample test case will have the following fields:

  • Test case id
  • Product feature
  • Steps of execution
  • Expected result
  • Actual result Pass/ fail
  • Comments

Above are the steps followed for documenting a sample test plan and test cases. There are other documents which is responsibility of a software tester like bug reporting. Later on someone else is going to have to understand test plans or the test cases that you have prepared. Employees from other departments like developers and product managers will go through the bug report to remove the bugs or decide on a feature issue depending on a tester’s reports.

So properly documented reports and plans are very important which are written in simple language for others to understand but keeping the documentation standards in mind.

Absence of good documentation and lack of communication by the software testers will lead to spending more time dealing with a technical problem. It would become difficult for the developers to pinpoint errors in the software which would lead to waste of time which otherwise would have been utilized for some other work.

When company employees a software tester who has sound technical and analytical knowledge, he can be trained to write effective technical documents or he can take up an independent course in technical writing.

What is technical writing?

It is an art of formal writing to be used in the technical documentation of a product or software, giving information to particular audience for some particular task. It has found use both in the internal and external functioning of a company, writing user manuals, online help files and installation guides.

A technical writer can work for magazines, newspapers and IT companies etc. There are modules designed specially for software testers to gain knowledge about the writing techniques and the tools to use for the documentation purpose like FrameMaker.

Technical writing is a field which is quickly gaining popularity. The module designed for the testers is not targeted for the non-technical audience as it mostly finds use in the internal functioning of the company. This would not only be an added skill to a tester’s profile, but he will also be able to do his job more effectively in less time and with less of effort. Software tester will be an asset to his employer which would mean a raise in his salary and promotion.