10.08.2013 Views

Code Manual for CONTAIN 2.0 - Federation of American Scientists

Code Manual for CONTAIN 2.0 - Federation of American Scientists

Code Manual for CONTAIN 2.0 - Federation of American Scientists

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

In addition to simpler calculations traditionally done at this testing stage, developmental testing also<br />

includes actual plant calculations. Including more complex calculations at this phase <strong>of</strong> testing<br />

exposes errors not previously discovered. Also, the calculations help in finding any unexpected<br />

results related to model interdependencies. It should be noted, however, that developmental testing<br />

cannot be very comprehensive, especially <strong>for</strong> code updates that make changes in many areas <strong>of</strong> the<br />

code. There<strong>for</strong>e, the Change Document must indicate what developmental testing has been<br />

per<strong>for</strong>med, to identify the aspects <strong>of</strong> the updates have been checked or verified.<br />

When the Change Document <strong>for</strong> the update is complete and approved, the update is frozen and a<br />

transition is made from developmental testing to internal beta testing. In the developmental testing<br />

stage, the developer is allowed to change the update to correct any problems discovered. In contrast,<br />

in the internal beta testing program the update is frozen and direct modifications to the update are<br />

not allowed. Any changes to the update that are subsequently found to be desirable must be<br />

implemented through subsequent updates.<br />

D.2.6.2 Internal Beta Testing. After approval <strong>of</strong> the Change Document <strong>for</strong> an update, testing can<br />

proceed to the internal beta testing stage. In the internal beta testing phase, the purpose is to exercise<br />

the update to uncover problems or errors not detected in the developmental testing stages. No <strong>for</strong>mal<br />

documentation is generated as part <strong>of</strong> the internal beta testing. Internal beta testing is typically<br />

per<strong>for</strong>med by a member <strong>of</strong> the <strong>CONTAIN</strong> staff other than the developer. Experienced users outside<br />

<strong>of</strong> the <strong>CONTAIN</strong> staff may also per<strong>for</strong>m internal beta testing.<br />

Internal beta testing replaces independent testing, which was the prescribed practice prior to<br />

<strong>CONTAIN</strong> 1.12. Independent tests were per<strong>for</strong>med <strong>for</strong> the earlier versions <strong>of</strong> <strong>CONTAIN</strong> and as a =<br />

result, <strong>CONTAIN</strong> had reached a demonstrated level <strong>of</strong> robustness and maturity. Consequently,<br />

independent testing has become outmoded and internal beta testing is considered more appropriate<br />

and cost-effective means <strong>of</strong> verifying revisions and new models implemented in <strong>CONTAIN</strong>.<br />

D.2.6.3 Jntemated Testing. When the internal beta testing is successfully completed and the Change<br />

Document has been approved, the revision manager includes the update in the revision. At this<br />

stage, the update has been tested against the established code and against all updates accepted ahead<br />

<strong>of</strong> it in the revision. Be<strong>for</strong>e the final revision is released, all updates are tested together using the<br />

complete set <strong>of</strong> standard tests, plus selected plant calculations deemed appropriate by the revision<br />

manager. This process is defined as integrated testing. This integration analysis verifies the ability<br />

<strong>of</strong> the collected updates to per<strong>for</strong>m accurately and consistently as part <strong>of</strong> an integrated code. This<br />

pattern <strong>of</strong> testing causes several tests to be applied more than once—a redundancy that is necessary<br />

<strong>for</strong> a good quality assurance program.<br />

The present set <strong>of</strong> standard tests (see Table D-2) provides a measure <strong>of</strong> quality assurance <strong>for</strong> the<br />

compatibility <strong>of</strong> all the updates. Jn addition, an automated process has been developed to per<strong>for</strong>m<br />

a quantitative check <strong>of</strong> differences between <strong>CONTAIN</strong> results per<strong>for</strong>med on different computer<br />

systems (SUN, HP, DEC, and IBM machines) to help identify and guard against machine-dependent<br />

coding. In this automated process, standard tests are run on the different machines and the results<br />

are then compared.<br />

Rev. O D-18 6/30/97

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!