Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

My proposed solution is to bring the test plan development to the centre of the Software Development ProcessCycle.

A well formed requirement must be testable. Therefore we can represent each requirement as a test case.

...

We can add extra test cases during the design phase as needed. The These test cases would test existing requirements or add could represent new requirements we didn't think of before.

When we move to implementation (either after the design phase is completed or in parallel) we can still add extra test cases as needed. Again these test cases can test existing requirement or add new onesrepresent new requirements.

This can happen all the way down to the bug fixing phase.

...

We can conceivably then extract all the information required needed for the requirements, HLD high level design and test plan documents from these test cases.

...

Diagrams and other mediums might be needed to explain the requirements and the design, which can not be included in a text only test scriptform.

However, my argument is that the above process can alleviate much of the required document maintenance of the documents required.

Let's take the Requirements document as an example.

...

Updates to the second section of the document can be automatically generated from the test scripts.

This method provides the glue between the code and the documentation. As bugs are fixed or the feature updated, as long as the developer creates new test cases to cover the changes made and regenerate the documentation, the code and the documentation will remain in sync.

The LUTF Documentation Block

...

Each test script should include a documentation block. Not all elements shown here are needed. But the more complete it is the more complete the generated document will be.

Here are the different fields in the documentation block:is a slide on the documentation block. I won't go over them in details now, but you can download the slide deck from the wiki.

Code Block
"""
@PRIMARY: Primary Requirement ID
@PRIMARY_DESC: Textual description of the primary requirement
@SECONDARY: Secondary Requirement IDs if applicable
@DESIGN: Design details
@TESTCASE: Test case description
"""

ItLet's enclosed in """ .

The LUTF can automatically generate the bulk of the requirements, HLD and test plan documentation from the test scripts.

look at a concrete example.

Each test case in our sample suite has a documentation blockThis method provides the glue between the code and the documentation. As bugs are fixed or the feature updated, the developer should create new test cases to cover the changes made and regenerate the documentation.

The LUTF can generate documentation with the create_docs() command.

Code Block
suites['samples'].create_docs("samples.csv")

This will generate three csv files, one would be for the requirement document with , the second for the design document and the other is third for the test plan document.

Requirement Document

Requirement IDRequirement Description


...

The csv files can then be imported directly into the Confluence wiki or embedded in a document.

Once the test plan is reviewed, updated and approved, the script logic can be written in a separate phase.

Demonstration

Let's look at how all this would look like in the LUTF.