[PD-cvs] externals/pureunity/doc PureUnity.lyx,NONE,1.1
Mathieu Bouchard
matju at users.sourceforge.net
Fri Jan 13 11:42:11 CET 2006
Update of /cvsroot/pure-data/externals/pureunity/doc
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20870
Added Files:
PureUnity.lyx
Log Message:
blah
--- NEW FILE: PureUnity.lyx ---
#LyX 1.3 created this file. For more info see http://www.lyx.org/
\lyxformat 221
\textclass article
\language english
\inputencoding auto
\fontscheme default
\graphics default
\paperfontsize default
\papersize Default
\paperpackage a4
\use_geometry 0
\use_amsmath 0
\use_natbib 0
\use_numerical_citations 0
\paperorientation portrait
\secnumdepth 3
\tocdepth 3
\paragraph_separation indent
\defskip medskip
\quotes_language english
\quotes_times 2
\papercolumns 1
\papersides 1
\paperpagestyle default
\layout Title
PureUnity
\layout Author
Mathieu Bouchard <matju at artengine.ca>
\layout Date
January 13th, 2006
\layout Abstract
This paper covers the theory behind PureUnity, PureData's test framework.
\layout Standard
\begin_inset LatexCommand \tableofcontents{}
\end_inset
\layout Section
What is testing?
\layout Subsection
a test tests something that gets tested
\layout Standard
(write ontological nonsense here)
\layout Subsection
a triad of testing
\layout Standard
I've thought of a triad:
\layout Standard
A.
"the real thing"
\layout Standard
B.
what it's documented as
\layout Standard
C.
a way to verify that (1) and (2) agree
\layout Standard
and another one:
\layout Standard
changing A to match B+C: programming
\layout Standard
changing B to match A+C: the scientific method (aka reverse engineering)
\layout Standard
changing C to match A+B: unit-tests and contracts and scientific experiments
\layout Section
Methodologies of Testing
\layout Standard
I once called unit-tests "test-by-example" and contracts "test-by-rule".
I think that those names are preferable to the more common names.
I also hadlisted "test-by-use" which is to use the software in practice:
this may include testing a component A using the unit tests for B because
B uses A.The last I had listed was "test-by-proof", which is rarer and is
the only one that requires analysing the implementation.
\layout Subsection
test-by-Proof
\layout Subsection
test-by-Use
\layout Subsection
test-by-Rule
\layout Subsection
test-by-Example
\layout Section
Quelques cossins
\layout Subsection
Protocol
\layout Subsection
Preconditions
\layout Subsection
Postconditions
\layout Subsection
Wrapconditions
\layout Subsection
Inheritance
\layout Subsection
Aspect-programming and stuff
\layout Subsection
Meta-abstractions
\layout Subsection
Float-Signal Polymorphism
\layout Subsection
Unit-Tests
\layout Subsection
Algebraic Properties
\layout Subsection
TODO
\layout Standard
\the_end
More information about the Pd-cvs
mailing list