cryptonas/doc/html/en/CryptoBoxDevValidation.html

79 lines
3.2 KiB
HTML
Raw Normal View History

<div class="wikipage">
<div id="searchable"><p>
<div class='wiki-toc'>
<h4>Table of Contents</h4>
<ol>
<li><a href="/cryptobox?action=doc&page=CryptoBoxDevValidation#Overview&weblang=en">Overview</a></li>
<li><a href="/cryptobox?action=doc&page=CryptoBoxDevValidation#Validate&weblang=en">Validate</a></li>
<li><a href="/cryptobox?action=doc&page=CryptoBoxDevValidation#Howtocreateatest&weblang=en">How to create a test</a></li>
<li><a href="/cryptobox?action=doc&page=CryptoBoxDevValidation#Comments&weblang=en">Comments</a></li>
</ol>
</div>
</p>
<p>
<strong>Navigation:</strong> ( <a href="/cryptobox?action=doc&page=CryptoBoxDev&weblang=en">CryptoBoxDev</a>)
</p>
<hr />
<h1 id="ValidationoftheCryptoBox">Validation of the CryptoBox</h1>
<h2 id="Overview">Overview</h2>
<p>
The validation feature helps you to check the programming logic of the <a href="/cryptobox?action=doc&page=CryptoBox">CryptoBox</a>. A lot of test cases are defined to verify as many functions of the <a href="/cryptobox?action=doc&page=CryptoBox&weblang=en">CryptoBox</a> as possible.
</p>
<p>
The requests are processed with <a class="ext-link" title="http://curl.haxx.se/" href="http://curl.haxx.se/">curl</a>.
</p>
<p>
The received web page is saved to allow a later design review or css debugging.
</p>
<p>
The current state of the <a href="/cryptobox?action=doc&page=CryptoBox&weblang=en">CryptoBox</a> is represented by ten single values (e.g.: <i>box is configured</i>, <i>IP of the box</i>, <i>current language setting</i>, ...), which are invisibly a part of each html page (as comments). The returned status of every request is compared to the predicted value of the test case.
</p>
<p>
Similar test cases are pooled into test groups (e.g.: <i>initialization</i>, <i>configuration</i> and <i>mounting</i>).
</p>
<h2 id="Validate">Validate</h2>
<p>
Run <i><a href="/trac/cryptobox/browser/trunk/scripts/validate.sh">scripts/validate.sh</a>]</i> to conduct all tests of all groups. See <i>scripts/validate.sh help</i> for other actions.
</p>
<p>
The results will be saved in <i>validation/report</i>.
</p>
<p>
In addition to every single retrieved page, a html page called <i>summary-?.html</i> is created, which contains the state checks of all tests in a group.
</p>
<h2 id="Howtocreateatest">How to create a test</h2>
<p>
All test cases can be found in <i>validation/test-cases</i>.
</p>
<p>
Every test consists of the following files:
</p>
<table class="wiki">
<tr><td>input.curl</td><td>the configuration file for the <i>curl</i> request
</td></tr><tr><td>output</td><td>the predicted state of the <a href="/cryptobox?action=doc&page=CryptoBox&weblang=en">CryptoBox</a> after the call
</td></tr><tr><td>description</td><td>a short description of the test (will be used for the summary)
</td></tr><tr><td>delay</td><td>[optional] time to wait after this test
</td></tr></table>
<p>
Use the existing test cases as templates for new tests.
</p>
<p>
Read <a href="/trac/cryptobox/browser/trunk/validation/test-cases/README">validation/test-cases/README</a> for details.
</p>
<p>
Every logical path of the web interface CGI should be validated by a test case.
</p>
<hr />
<h2 id="Comments">Comments</h2>
<p>
</div>
</div>