libbbc.html 3.72 KB
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
       
  <meta http-equiv="content-type"
 content="text/html; charset=ISO-8859-1">
  <title>iQue@Home and Libbbc Testing</title>
</head>
  <body>
   
<h2 align="center">Libbbc Software Testing</h2>
 
<div align="center">$Revision: 1.2 $<br>
 $Date: 2004/10/19 00:13:56 $<br>
 </div>
 <br>
 
<h3>Testing mechanisms</h3>
<i><b>Stress Testing</b></i><br>
<br>
Stress testing should be done on Windows using as many different types of
hardware as possible. &nbsp;Problems have been seen (and fixed) using SiS
USB chipsets and Windows 2000. The following Windows variants are supported:<br>
 
<ul>
   <li>Windows 98SE</li>
   <li>Windows 2000</li>
   <li>Windows XP</li>
    
</ul>
Stress testing uses <b><i>emsh</i></b> with command scripts ("run" command)
that do the following loops. &nbsp;Each test should run for 24 hours continuously
with no errors.<br>
<ul>
  <li>Store content using a content file of at least 2MB:</li>
  <ul>
    <li>M deadbeef.app deadbeef</li>
  </ul>
  <li>Store content and then retrieve it:</li>
  <ul>
    <li>B</li>
    <li>M deadbeef.app deadbeef</li>
    <li>U foo.app deadbeef</li>
    <li>Q</li>
  </ul>
</ul>
The above tests should also be tried on linux using the bbrdb driver, since
that is what the Depot uses. &nbsp;<br>
<br>
<i><b>Functional Testing</b></i><br>
<br>
Use iQue@Home application to list content on the player, download content
and delete content.<br>
On linux, use <i><b>emsh</b></i> with the cartridge emulated as a file on
disk to implement functional tests.<br>
On linux, use "<b><i>sksatest</i></b>" from <b><i>bbapps/emsmon/Tests</i></b>
with both the BB Player and the card reader/writer as a functional test.<br>
 
<h3>Test cases</h3>
 <i><b>BBCVerifySKSA</b></i><br>
 
<ul>
   <li>Test all "force" values</li>
   <li>Test that match does nothing</li>
   <li>Check links on T1, SA1, T2 and SA2</li>
   <li>Check that occurrence of bad blocks (either marked bad beforehand
or incurring a write data error) in any of the following cases does not prevent
SKSA from being laid out correctly:</li>
   
  <ul>
     <li>2 in SK (probably fails right now)</li>
     <li>1 in T1</li>
     <li>1 in T2</li>
     <li>both T1 and T2</li>
    <li>anywhere in SA1 or SA2<br>
    </li>
     <li>more than 2 should fail with BBC_CARDFAILED</li>
        
  </ul>
   <li>Test SKSA with only SK+T1+SA1 (required by EMS depot)</li>
   <li>Test SKSA that matches up to middle of SA1 and middle of SA2</li>
  <li>VerifySKSA should still work if Read DBE happens at any point in the
readback case:</li>
  <ul>
    <li>SK</li>
    <li>T1</li>
    <li>SA1</li>
    <li>T2</li>
    <li>SA2</li>
  </ul>
 
</ul>
<i><b>BBCFormat</b></i><br>
<ul>
  <li>Read DBE anyplace should not cause failure of format (read DBE should
be ignored)</li>
  <li>Check that more than 64 bad blocks causes the format to fail with BBC_CARDFAILED
and that 63 or less is ok (provided that not more than 2 are in the SKSA
area)</li>
  <li>Verify that blocks marked bad only in the FAT (as a result of write
errors) are preserved as BAD across a reformat<br>
  </li>
</ul>
<i><b>BBCStats</b></i><br>
<ul>
  <li>Verify counts of bad blocks, free blocks and allocated blocks.</li>
  <li>Add a bad block and check count.</li>
  <li>Create file and check that the correct number of blocks switch from
free to allocated.</li>
  <li>Delete file and check counts again.</li>
  <li>Fill up card and verify that the free count was accurate.</li>
  <li>Fill up card and verify that no FAT blocks get damaged (Raymond reports
there is a problem with this. &nbsp;Note that we may need new mechanism added
to emsh in order to access the FAT blocks directly, rather than the copy
in memory.)<br>
  </li>
</ul>
<br>
 <br>
</body>
</html>