<html>
<head>
<base href="https://wiki.asterisk.org/wiki">
<link rel="stylesheet" href="/wiki/s/en/2171/18/9/_/styles/combined.css?spaceKey=TOP&forWysiwyg=true" type="text/css">
</head>
<body style="background: white;" bgcolor="white" class="email-body">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
<h2><a href="https://wiki.asterisk.org/wiki/display/TOP/Testing+and+Asterisk+SCF">Testing and Asterisk SCF</a></h2>
<h4>Page <b>added</b> by <a href="https://wiki.asterisk.org/wiki/display/~beagles">Brent Eagles</a>
</h4>
<br/>
<div class="notificationGreySide">
<div class='panelMacro'><table class='warningMacro'><colgroup><col width='24'><col></colgroup><tr><td valign='top'><img src="/wiki/images/icons/emoticons/forbidden.gif" width="16" height="16" align="absmiddle" alt="" border="0"></td><td><b>In Progress</b><br /></td></tr></table></div>
<h3><a name="TestingandAsteriskSCF-SlideSuggestions"></a>Slide Suggestions</h3>
<p><font color="white"><br/>
<div class="panel" style="background-color: #7788FF;border-width: 1px;"><div class="panelHeader" style="border-bottom-width: 1px;background-color: #2022FF;"><b>Testing and Asterisk SCF</b></div><div class="panelContent" style="background-color: #7788FF;">
<ul>
        <li>Testing is an integral part of development and the process.</li>
        <li>Builds and running of tests are automated.</li>
        <li>boost::test test framework.</li>
        <li>Different levels of testing.
        <ul>
                <li>Unit</li>
                <li>Component</li>
                <li>System</li>
        </ul>
        </li>
</ul>
</div></div></font></p>
<p><font color="white"><br/>
<div class="panel" style="background-color: #7788FF;border-width: 1px;"><div class="panelHeader" style="border-bottom-width: 1px;background-color: #2022FF;"><b>Testing and Asterisk SCF - Part of the Process</b></div><div class="panelContent" style="background-color: #7788FF;">
<ul>
        <li>Each component is expected to have a test suite.</li>
        <li>Tests are run automatically as part of the automated build/test process.</li>
        <li></li>
</ul>
</div></div></font></p>
<p><font color="white"><br/>
<div class="panel" style="background-color: #7788FF;border-width: 1px;"><div class="panelHeader" style="border-bottom-width: 1px;background-color: #2022FF;"><b>Testing and Asterisk SCF - Test Types</b></div><div class="panelContent" style="background-color: #7788FF;">
<ul>
        <li>Unit tests are typically in standalone executables and focus on small sections of high risk or fundamental code.</li>
        <li>Component tests load the component using a real-world configuration along with other supporting component and usually contain:
        <ul>
                <li>functional tests</li>
                <li>unit tests where mock objects would be required but are impractical</li>
                <li>not-quite-functional-or-unit tests that are small and focused but involve strings of components in contrived, artificial situations</li>
        </ul>
        </li>
        <li>Some components are impractical to test with unit and even component tests (e.g. SIP) This component is most vigorously tested at the system level which brings us to..</li>
</ul>
</div></div></font></p>
<p><font color="white"><br/>
<div class="panel" style="background-color: #7788FF;border-width: 1px;"><div class="panelHeader" style="border-bottom-width: 1px;background-color: #2022FF;"><b>Testing and Asterisk SCF - Higher Level Testing</b></div><div class="panelContent" style="background-color: #7788FF;">
<ul>
        <li>Useful automated testing of a distributed, interactive, concurrent system != trivial.</li>
        <li>Enter the Asterisk SCF System Testing Framework
        <ul>
                <li>plugin architecture with plugins for:
<div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'> configuration </td>
<td class='confluenceTd'> component life-cycle control </td>
</tr>
<tr>
<td class='confluenceTd'> fail-over simulation </td>
<td class='confluenceTd'> external device simulation (SIP) </td>
</tr>
<tr>
<td class='confluenceTd'> remote control </td>
<td class='confluenceTd'> system and post-mortem analysis </td>
</tr>
</tbody></table>
</div>
</li>
                <li>Heavy lifting for performance and stress testing as well as full system functional testing.</li>
        </ul>
        </li>
</ul>
<ul>
        <li><a href="https://wiki.asterisk.org/wiki/display/TOP/Testing" class="external-link" rel="nofollow">https://wiki.asterisk.org/wiki/display/TOP/Testing</a> for more info</li>
</ul>
</div></div></font></p>
<p><em>Maybe some snapshots of sip call graphs, log output, etc</em>.</p>
</div>
<div id="commentsSection" class="wiki-content pageSection">
<div style="float: right;" class="grey">
<a href="https://wiki.asterisk.org/wiki/users/removespacenotification.action?spaceKey=TOP">Stop watching space</a>
<span style="padding: 0px 5px;">|</span>
<a href="https://wiki.asterisk.org/wiki/users/editmyemailsettings.action">Change email notification preferences</a>
</div>
<a href="https://wiki.asterisk.org/wiki/display/TOP/Testing+and+Asterisk+SCF">View Online</a>
|
<a href="https://wiki.asterisk.org/wiki/display/TOP/Testing+and+Asterisk+SCF?showComments=true&showCommentArea=true#addcomment">Add Comment</a>
</div>
</div>
</div>
</div>
</div>
</body>
</html>