SlideShare a Scribd company logo
tested and correct
how to make sure your documentation keeps working
adam dangoor
software developer at clusterhq
adamdangoor@gmail.com
@adamdangoor
https://github.com/adamtheturtle
the plan
the problem
the problem
the problem
the problem
the traditional way
•
•
•
the traditional way
• memory
•
•
the traditional way
• memory
• periodic review
•
the traditional way
• memory
• periodic review
• user feedback
why this is terrible
• software interacts with other software which
changes without warning
•
•
•
why this is terrible
• software interacts with other software which
changes without warning
• memory is imperfect
•
•
why this is terrible
• software interacts with other software which
changes without warning
• memory is imperfect
• we have better things to do
•
why this is terrible
• software interacts with other software which
changes without warning
• memory is imperfect
• we have better things to do
• user feedback is not guaranteed
a better way
software testing
link checking
sphinx.builders.linkcheck.CheckExternalLinksBuilder
spell checking
sphinxcontrib-spelling
that is just the start
flocker install instructions
.. code-block:: console
alice@mercury:~$ brew tap ClusterHQ/tap
...
alice@mercury:~$ brew install flocker-1.2.0
...
alice@mercury:~$ brew test flocker-1.2.0
...
alice@mercury:~$
if change is hard, we
stagnate
flocker install instructions
(part two)
.. task:: test_homebrew flocker-|latest-installable|
:prompt: alice@mercury:~$
def	
  task_test_homebrew(recipe):	
  
	
  	
  	
  	
  return	
  sequence([	
  
	
  	
  	
  	
  	
  	
  	
  	
  run_from_args(['brew',	
  'tap',	
  'ClusterHQ/tap']),	
  
	
  	
  	
  	
  	
  	
  	
  	
  run("brew	
  update"),	
  
	
  	
  	
  	
  	
  	
  	
  	
  run("brew	
  install	
  {recipe}".format(recipe=recipe)),	
  
	
  	
  	
  	
  	
  	
  	
  	
  run("brew	
  test	
  {recipe}".format(recipe=recipe)),	
  
	
  	
  	
  	
  ])
command line output
just use wordish
https://pypi.python.org/pypi/wordish
changing the organisational
model
“organizations which design systems ... are constrained to
produce designs which are copies of the communication
structures of these organizations”
–melvin conway
code then document
code and document
what to do about it
generating documentation
generating documentation
sphinx.ext.autodoc
class	
  Word(object):	
  
	
  	
  	
  	
  """	
  
	
  	
  	
  	
  A	
  string	
  which	
  can	
  be	
  represented	
  by	
  a	
  list	
  of	
  strings	
  
	
  	
  	
  	
  which	
  are	
  each	
  valid	
  tiles.	
  
	
  	
  	
  	
  """
generating documentation
generating documentation
selenium
generating documentation
selenium
~/Documents/boggle-solver/docs$ git diff
diff --git a/docs/results.html b/docs/results.html
index 776e5e0..7fff02c 100644
--- a/docs/results.html
+++ b/docs/results.html
@@ -2,7 +2,7 @@
<head>
<style>
.results {
- background-color: #b0c4de;
+ background-color: green;
font-family: helvetica;
}
</style>
generating documentation
selenium
summary
Tested and Correct, How to Make Sure Your Documentation Keeps Working
hold on a minute
close,
but no {cigar, ai}
associate tests and
docs
other benefits
thank you for listening

More Related Content

PDF
Another pair of eyes
PPTX
Continuous feature-development
PDF
Introduction To Web Application Testing
PPTX
Cypress workshop for JSFoo 2019
ZIP
Five Easy Ways to QA Your Drupal Site
PPTX
BDD testing with cucumber
PPTX
Introduction to cypress in Angular (Chinese)
PDF
Lets make a better react form
Another pair of eyes
Continuous feature-development
Introduction To Web Application Testing
Cypress workshop for JSFoo 2019
Five Easy Ways to QA Your Drupal Site
BDD testing with cucumber
Introduction to cypress in Angular (Chinese)
Lets make a better react form

What's hot (20)

PPTX
'IS THERE JAVASCRIPT ON SWAGGER PLUGINS?' by Dmytro Gusev
PDF
Drupal 7 ci and testing
PDF
How to Use Selenium, Successfully
PPT
Selenium and Cucumber Selenium Conf 2011
PDF
Getting By Without "QA"
PDF
Enhance react app with patterns - part 1: higher order component
PDF
Use React Patterns to Build Large Scalable App
PDF
Front-end Automated Testing
PPTX
Working Software Over Comprehensive Documentation
PPTX
Cucumber
PDF
Drupalcamp Simpletest
PDF
Cypress - Best Practices
PDF
Cucumber ppt
ODP
Selenium testing IDE 101
PPTX
Олексій Павленко. CONTRACT PROTECTION ON THE FRONTEND SIDE: HOW TO ORGANIZE R...
PPTX
Test Automation Framework with BDD and Cucumber
PPTX
Automate testing with behat, selenium, phantom js and nightwatch.js (5)
PPTX
PPT
How to Build and Maintain Quality Drupal Sites with Automated Testing
PDF
軟體測試是在測試什麼?
'IS THERE JAVASCRIPT ON SWAGGER PLUGINS?' by Dmytro Gusev
Drupal 7 ci and testing
How to Use Selenium, Successfully
Selenium and Cucumber Selenium Conf 2011
Getting By Without "QA"
Enhance react app with patterns - part 1: higher order component
Use React Patterns to Build Large Scalable App
Front-end Automated Testing
Working Software Over Comprehensive Documentation
Cucumber
Drupalcamp Simpletest
Cypress - Best Practices
Cucumber ppt
Selenium testing IDE 101
Олексій Павленко. CONTRACT PROTECTION ON THE FRONTEND SIDE: HOW TO ORGANIZE R...
Test Automation Framework with BDD and Cucumber
Automate testing with behat, selenium, phantom js and nightwatch.js (5)
How to Build and Maintain Quality Drupal Sites with Automated Testing
軟體測試是在測試什麼?
Ad

Similar to Tested and Correct, How to Make Sure Your Documentation Keeps Working (20)

PPTX
Continuous Delivery - Automate & Build Better Software with Travis CI
PDF
Node.js Development Workflow Automation with Grunt.js
PDF
Creating a Smooth Development Workflow for High-Quality Modular Open-Source P...
PPTX
InSpec For DevOpsDays Amsterdam 2017
PDF
Django dev-env-my-way
PDF
10 Ways To Improve Your Code
PDF
Continuous Delivery: The Dirty Details
PPTX
PVS-Studio for Linux (CoreHard presentation)
PDF
Virtualize and automate your development environment for fun and profit
KEY
PyCon AU 2012 - Debugging Live Python Web Applications
PDF
Behaviour driven infrastructure
PDF
Tips and Tricks for Automating Windows with Chef
ODP
The Professional Programmer
PDF
Effizientere WordPress-Plugin-Entwicklung mit Softwaretests
PDF
Quality Built In @ Spotify
PPTX
Devops
PDF
Web Development Foundation & Team Collaboration
PPTX
Build Time Hacking
PDF
Pipeline as code for your infrastructure as Code
Continuous Delivery - Automate & Build Better Software with Travis CI
Node.js Development Workflow Automation with Grunt.js
Creating a Smooth Development Workflow for High-Quality Modular Open-Source P...
InSpec For DevOpsDays Amsterdam 2017
Django dev-env-my-way
10 Ways To Improve Your Code
Continuous Delivery: The Dirty Details
PVS-Studio for Linux (CoreHard presentation)
Virtualize and automate your development environment for fun and profit
PyCon AU 2012 - Debugging Live Python Web Applications
Behaviour driven infrastructure
Tips and Tricks for Automating Windows with Chef
The Professional Programmer
Effizientere WordPress-Plugin-Entwicklung mit Softwaretests
Quality Built In @ Spotify
Devops
Web Development Foundation & Team Collaboration
Build Time Hacking
Pipeline as code for your infrastructure as Code
Ad

Recently uploaded (20)

PPTX
CHAPTER 2 - PM Management and IT Context
PPT
Introduction Database Management System for Course Database
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
ai tools demonstartion for schools and inter college
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
Introduction to Artificial Intelligence
PDF
AI in Product Development-omnex systems
PDF
medical staffing services at VALiNTRY
PPTX
Odoo POS Development Services by CandidRoot Solutions
PPTX
L1 - Introduction to python Backend.pptx
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Odoo Companies in India – Driving Business Transformation.pdf
CHAPTER 2 - PM Management and IT Context
Introduction Database Management System for Course Database
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
How Creative Agencies Leverage Project Management Software.pdf
2025 Textile ERP Trends: SAP, Odoo & Oracle
ai tools demonstartion for schools and inter college
Navsoft: AI-Powered Business Solutions & Custom Software Development
Design an Analysis of Algorithms I-SECS-1021-03
Softaken Excel to vCard Converter Software.pdf
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
VVF-Customer-Presentation2025-Ver1.9.pptx
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Introduction to Artificial Intelligence
AI in Product Development-omnex systems
medical staffing services at VALiNTRY
Odoo POS Development Services by CandidRoot Solutions
L1 - Introduction to python Backend.pptx
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Odoo Companies in India – Driving Business Transformation.pdf

Tested and Correct, How to Make Sure Your Documentation Keeps Working