cryptonas-branches/v0.2.1/cbox-tree.d/usr/share/doc/cryptobox/html/en/CryptoBoxDevValidation.html
2005-10-17 11:59:08 +00:00

57 lines
2.6 KiB
HTML

<a id="top"></a>
<ol>
<li>
<a href="#head-5e20146fd39363329427c6251209cccb8d374f3e">Overview</a>
</li>
<li>
<a href="#head-6e1d416048c4d8ebfb5b3919b4d924c77e652a7b">Validate</a>
</li>
<li>
<a href="#head-5634566bd24f83d397b43525fc62685f6e678fbf">How to create a test</a>
</li>
</ol>
<p> </p>
<hr>
<p> </p>
<p><em>back to <a href="/cryptobox?action=doc&page=CryptoBoxDev&weblang=en">CryptoBoxDev</a></em> </p>
<h2 id="head-5e20146fd39363329427c6251209cccb8d374f3e">Overview</h2>
<p>The validation feature allows to check the programming logic of the <a href="/cryptobox?action=doc&page=CryptoBox">CryptoBox</a>. A lot of test cases are defined to test 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="external" 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.: <em>box is configured</em>, <em>IP of the box</em>, <em>current language setting</em>, ...), 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.: <em>initialization</em>, <em>configuration</em> and <em>mounting</em>). </p>
<h2 id="head-6e1d416048c4d8ebfb5b3919b4d924c77e652a7b">Validate</h2>
<p>Run <tt>scripts/validate.sh&nbsp;check_all</tt> to conduct all tests of all groups. See <tt>scripts/validate.sh&nbsp;help</tt> for other actions. </p>
<p>The results will be saved in <em>validation/report</em>. </p>
<p>In addition to every single retrieved page, a html page called <em>summary.html</em> is created, which contains the state checks of all tests in a group. </p>
<h2 id="head-5634566bd24f83d397b43525fc62685f6e678fbf">How to create a test</h2>
<p>All test cases can be found in <em>validation/test-cases</em>. </p>
<p>Every test consists of: </p>
<dl>
<dt>input.curl</dt>
<dd><p>the configuration file for the <em>curl</em> request </p>
</dd>
<dt>output</dt>
<dd><p>the predicted state of the <a href="/cryptobox?action=doc&page=CryptoBox&weblang=en">CryptoBox</a> after the call </p>
</dd>
<dt>description</dt>
<dd><p>a short description of the test (will be used for the summary) </p>
</dd>
<dt>delay</dt>
<dd><p>[optional] time to wait after this test </p>
</dd>
</dl>
<p>Use the existing test cases as templates for new tests. </p>
<p>Any logical path of the web interface CGI should be validated by a test case. </p>