Topics in Testing Software
Documentation
[Reading assignment: Chapter 12, pp. 183-191]
The good old days
• Software documentation was:
– a readme.txt file copied onto the software’s
floppy disk
– a 1 page insert put into the shrink-wrapped
package containing the software
– comments in the source code!
– Unix man pages are still in vogue, however …
• Testers ran a spell checker on the file and
that was about the extent of testing the
documentation.
Today …
• Much of the non-code is the software
documentation, which requires much effort to
produce.
• Documentation is now a major part of a
software system.
– It might exceed the amount of source code!
– It might be integrated into the software (e.g., help
system)
• Testers have to cover the code and the
documentation.
– Assuring that the documentation is correct is part
of a software tester’s job.
Classes of
software documentation
• Packaging text and graphics
• Marketing material, ads, and other inserts
• Warranty/registration
• End User License Agreement (EULA)
• Labels and stickers
• Installation and setup instructions
• User’s manual
• Online help
• Tutorials, wizards, and computer-based training
• Samples, examples, and templates
• Error messages
Importance of
documentation testing
• Improves usability
– Not all software was written for the Mac :-)
• Improves reliability
– Testing the documentation is part of black-box
testing.
– A bug in the user manual is like a bug in the
software.
• Lowers support cost
– The exercise of writing the documentation helped
debug the system.
Testing software documents
• Loosely coupled to the code:
– E.g., user manuals, packaging fliers.
– Apply techniques on specification testing and
software inspection.
– Think of it as technical editing or proofreading.
• Tightly coupled to the code:
– E.g., documents are an integral part of the
software, such as a training system or TurboTax
Deluxe (fancy videos, hyperlinked manual, etc).
– Apply techniques such as black-box and white-box
testing.
Documentation
testing checklist
• Audience:
– E.g., make sure documentation is not too novice or too
advanced.
• Terminology:
– Is it suitable for the audience?
– Terms used consistently?
– Abbreviations for acronyms?
• Content and subject matter:
– Appropriate subjects covered?
– No subjects missing?
– Proper depth?
– Missing features described accidentally?
Documentation
testing checklist (cont’d)
• Just the facts:
– All information technically correct?
– Correct table of contents, index, chapter references?
– Correct website URLs, phone numbers?
• Step by step:
– Any missing steps?
– Compared tester results to those shown in the documentation?
• Figures and screen captures:
– Accurate and precise?
– Are they from the latest version of the software?
– Are the figure captions correct?
• Samples and examples:
– Do all the examples work as advertised?
• Spelling and grammar
Auto-generated code
documents
• Tools such as:
– Doxygen
– Javadoc
– ROBODoc
– POD
– TwinText
can be used to auto-generate the code documents
from source code comments and create HTML
reference manuals.
• Code documents can be organized into a reference
guide style that enables programmers to quickly look
up functions or classes.
• Comprehensive survey of code documentation tools:
– http://en.wikipedia.org/wiki/Comparison_of_documentation_generators
/**
* The time class represents a moment of time.
*
* author John Doe
*/
class Time {
/**
* Constructor that sets the time to a given
* value.
* param timemillis is a number of milliseconds
* passed since Jan 1. 1970
*/
Time(int timemillis) { ... }
Discussion …
• Who should write software
documentation?
• Why is documentation a second-class
citizen compared to code?
• Why is keeping code/executables and
documentation consistent difficult?
– Is the problem inherent or due to sloppy
software engineering?
You now know …
• … the definition of software
documentation
• … the importance of testing software
documentation
• … what to look for when testing
software documentation
• … methods for testing software
documentation

More Related Content

PPT
documentation-testing.ppt
PDF
nexB - FOSS Introduction
PDF
Code Inspection
PDF
nexB - Software audit for product release
PPTX
Python programming 2nd
DOC
SudhanshuKumar
PPT
Metaprogramming by brandon
ODP
A Dive Into ELF Binaries
documentation-testing.ppt
nexB - FOSS Introduction
Code Inspection
nexB - Software audit for product release
Python programming 2nd
SudhanshuKumar
Metaprogramming by brandon
A Dive Into ELF Binaries

Viewers also liked (20)

POTX
sample.potx
PDF
Reporting & Analytics.pdf
PDF
11.MotivationMM.pdf
PPT
http---cdata.nqa.sprinklr.com-DAM-5-2010blast-100530124747-Blast-cc20d154-5e0...
PDF
sample.pdf
PPTX
Formant. PPTX.pptx
ODP
Approval Path Testing
PPTX
FF browser post 123
PDF
New widget
PPT
http---cdata.nqa.sprinklr.com-DAM-5-2010blast-100530124747-Blast-cc20d154-5e0...
PPT
PPT file
PPT
presentations-tips.ppt
POTX
From channel Autoimport demo 1
PDF
campaing check outbound
PDF
Post from channel 123
PPTX
from my client
DOCX
let me see if it grabs
PPT
from local
ODP
Caption post
ODP
title of the presentation
sample.potx
Reporting & Analytics.pdf
11.MotivationMM.pdf
http---cdata.nqa.sprinklr.com-DAM-5-2010blast-100530124747-Blast-cc20d154-5e0...
sample.pdf
Formant. PPTX.pptx
Approval Path Testing
FF browser post 123
New widget
http---cdata.nqa.sprinklr.com-DAM-5-2010blast-100530124747-Blast-cc20d154-5e0...
PPT file
presentations-tips.ppt
From channel Autoimport demo 1
campaing check outbound
Post from channel 123
from my client
let me see if it grabs
from local
Caption post
title of the presentation
Ad

Similar to Jittu (20)

PPT
documentation-testing.ppt
PPT
documentation-testing.ppt
PPT
Testing the documentation
PDF
Test Driven Development
PPT
Softwareengineeringfundamentalssvetlinnakov 1233295163644547-1
PDF
Beginners guide to software testing
PDF
167312
PDF
software testing for beginners
DOCX
Faq
PPTX
Agile testing for embedded software development
PPT
Stage 5 - Documentation
PDF
Documentation Example Testing: Value & Impact
PPT
Software Engineering Fundamentals Svetlin Nakov
PPT
Software Engineering Fundamentals - Svetlin Nakov
PDF
Beginner guide-to-software-testing
PPT
Testing Presentation
PDF
M256 Unit 1 - Software Development with Java
PDF
Importance of Documentation for programmers
PPT
APIs And SDKs Breaking Into And Succeeding In A Specialty Market
PPTX
BDD presentation
documentation-testing.ppt
documentation-testing.ppt
Testing the documentation
Test Driven Development
Softwareengineeringfundamentalssvetlinnakov 1233295163644547-1
Beginners guide to software testing
167312
software testing for beginners
Faq
Agile testing for embedded software development
Stage 5 - Documentation
Documentation Example Testing: Value & Impact
Software Engineering Fundamentals Svetlin Nakov
Software Engineering Fundamentals - Svetlin Nakov
Beginner guide-to-software-testing
Testing Presentation
M256 Unit 1 - Software Development with Java
Importance of Documentation for programmers
APIs And SDKs Breaking Into And Succeeding In A Specialty Market
BDD presentation
Ad

More from Bhavani Testone (20)

ODP
good one cloning the message
TXT
notification
TXT
without CF
PPT
03DOM.ppt
TXT
Empty:d-1:05
PDF
Std10-Maths-EM-1.pdf
DOCX
Tales-29th
TXT
New text document-29th
PPT
uPoGPpb.ppt
DOCX
PDF
Puzzles to puzzle you
TXT
New text document
TXT
PPT
http---cdata.nqa.sprinklr.com-DAM-5-2010blast-100530124747-Blast-cc20d154-5e0...
PPTX
Presentation_NEW.PPTX
PDF
HTML_Basics.pdf
PPTX
Presentation_NEW.PPTX
PPT
http---cdata.nqa.sprinklr.com-DAM-5-2010blast-100530124747-Blast-cc20d154-5e0...
TXT
New text document
good one cloning the message
notification
without CF
03DOM.ppt
Empty:d-1:05
Std10-Maths-EM-1.pdf
Tales-29th
New text document-29th
uPoGPpb.ppt
Puzzles to puzzle you
New text document
http---cdata.nqa.sprinklr.com-DAM-5-2010blast-100530124747-Blast-cc20d154-5e0...
Presentation_NEW.PPTX
HTML_Basics.pdf
Presentation_NEW.PPTX
http---cdata.nqa.sprinklr.com-DAM-5-2010blast-100530124747-Blast-cc20d154-5e0...
New text document

Jittu

  • 1. Topics in Testing Software Documentation [Reading assignment: Chapter 12, pp. 183-191]
  • 2. The good old days • Software documentation was: – a readme.txt file copied onto the software’s floppy disk – a 1 page insert put into the shrink-wrapped package containing the software – comments in the source code! – Unix man pages are still in vogue, however … • Testers ran a spell checker on the file and that was about the extent of testing the documentation.
  • 3. Today … • Much of the non-code is the software documentation, which requires much effort to produce. • Documentation is now a major part of a software system. – It might exceed the amount of source code! – It might be integrated into the software (e.g., help system) • Testers have to cover the code and the documentation. – Assuring that the documentation is correct is part of a software tester’s job.
  • 4. Classes of software documentation • Packaging text and graphics • Marketing material, ads, and other inserts • Warranty/registration • End User License Agreement (EULA) • Labels and stickers • Installation and setup instructions • User’s manual • Online help • Tutorials, wizards, and computer-based training • Samples, examples, and templates • Error messages
  • 5. Importance of documentation testing • Improves usability – Not all software was written for the Mac :-) • Improves reliability – Testing the documentation is part of black-box testing. – A bug in the user manual is like a bug in the software. • Lowers support cost – The exercise of writing the documentation helped debug the system.
  • 6. Testing software documents • Loosely coupled to the code: – E.g., user manuals, packaging fliers. – Apply techniques on specification testing and software inspection. – Think of it as technical editing or proofreading. • Tightly coupled to the code: – E.g., documents are an integral part of the software, such as a training system or TurboTax Deluxe (fancy videos, hyperlinked manual, etc). – Apply techniques such as black-box and white-box testing.
  • 7. Documentation testing checklist • Audience: – E.g., make sure documentation is not too novice or too advanced. • Terminology: – Is it suitable for the audience? – Terms used consistently? – Abbreviations for acronyms? • Content and subject matter: – Appropriate subjects covered? – No subjects missing? – Proper depth? – Missing features described accidentally?
  • 8. Documentation testing checklist (cont’d) • Just the facts: – All information technically correct? – Correct table of contents, index, chapter references? – Correct website URLs, phone numbers? • Step by step: – Any missing steps? – Compared tester results to those shown in the documentation? • Figures and screen captures: – Accurate and precise? – Are they from the latest version of the software? – Are the figure captions correct? • Samples and examples: – Do all the examples work as advertised? • Spelling and grammar
  • 9. Auto-generated code documents • Tools such as: – Doxygen – Javadoc – ROBODoc – POD – TwinText can be used to auto-generate the code documents from source code comments and create HTML reference manuals. • Code documents can be organized into a reference guide style that enables programmers to quickly look up functions or classes. • Comprehensive survey of code documentation tools: – http://en.wikipedia.org/wiki/Comparison_of_documentation_generators /** * The time class represents a moment of time. * * author John Doe */ class Time { /** * Constructor that sets the time to a given * value. * param timemillis is a number of milliseconds * passed since Jan 1. 1970 */ Time(int timemillis) { ... }
  • 10. Discussion … • Who should write software documentation? • Why is documentation a second-class citizen compared to code? • Why is keeping code/executables and documentation consistent difficult? – Is the problem inherent or due to sloppy software engineering?
  • 11. You now know … • … the definition of software documentation • … the importance of testing software documentation • … what to look for when testing software documentation • … methods for testing software documentation