Web-development – Who should write the test plan

acceptance-testingtestingweb-developmentwebsites

I am in the in-house development team of my company, and we develop our company's web sites according to the requirements of the marketing team. Before releasing the site to them for acceptance testing, we were requested to give them a test plan to follow.

However, the development team feels that since the requirements came from the requestors, they would have the best knowledge of what to test, what to lookout for, how things should behave etc and a test plan is thus not required. We are always in an argument over this, and developers find it a waste of time to write down things like:-

  1. Click on button A.
  2. Key in XYZ in the form field and click button B.
  3. You should see behaviour C.

which we have to repeat for each requirement/feature requested. This is basically rephrasing what's already in the requirements document.

We are moving towards using an Agile approach for managing our projects and this is also requested at the end of each iteration.

Unit and integration testing aside, who should be the one to come up with the end user acceptance test plan? Should it be the reqestors or the developers?

Many thanks in advance.

Regards
CK

Best Answer

The test plan should NOT be written by developers. Part of what the test plan is to do is to check to see if the developer correctly interpreted the requirement. A developer cannot effectively write a test plan on the code he is going to write. Test plans should be written by the people who are going to be doing the QA or by the business analysts. If developers must write the plans, do not ever assign someone to write the plan for the part of the program he is going to write.

Note that this is different from designing unit tests which must be written by the developer as he should be testing the code he wrote to see if it does what he is expecting. But test plans are to test to see if the application works the way it was expected to work and this must be done by someone who does not know how the application was technically designed to work in order to be effective.

Related Topic