<div class="wikipage"> <div id="searchable"><p> <div class='wiki-toc'> <h4>Table of Contents</h4> <ol> <li><a href="?action=doc&page=CryptoBoxDevValidation&weblang=de#Overview">Overview</a></li> <li><a href="?action=doc&page=CryptoBoxDevValidation&weblang=de#Validate">Validate</a></li> <li><a href="?action=doc&page=CryptoBoxDevValidation&weblang=de#Howtocreateatest">How to create a test</a></li> <li><a href="?action=doc&page=CryptoBoxDevValidation&weblang=de#Comments">Comments</a></li> </ol> </div> </p> <p> <strong>Navigation:</strong> ( <a href="?action=doc&page=CryptoBoxDev&weblang=de">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="?action=doc&page=CryptoBox&weblang=de">CryptoBox</a>. A lot of test cases are defined to verify as many functions of the <a href="?action=doc&page=CryptoBox&weblang=de">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="?action=doc&page=CryptoBox&weblang=de">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="?action=doc&page=CryptoBox&weblang=de">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>