Test Plan for 3.2 release of Pascal Workstation (Scott Bayes)


Required Testing

A. Code reviews

 The master list of files and modules encompasses the entire Pascal system.
 I will be responsible for, and participate in, code reviews in areas with 
 my name beside them.
 

B. Coverage testing

 As the design engineer for certain files/modules which have been modified 
 since the 3.1 release, I have the primary responsibility for insuring that 
 that code is tested. A checklist of modified modules similar to that 
 maintained for code reviews will be used to track coverage testing.
 
 Coverage testing consists of running tests, aimed at testing the changes, 
 on code which has been bugfixed or enhanced, and on related areas where we 
 suspect interactions with the change. These tests are independent of existing
 test suites. Where practicable, the tests will be included in the test suites.
 
 The files/modules for coverage testing are:
 
   DGL: LIB, GLE_RGL, DGL_POLY, DGL_C_OUT, G_HILREL, D_HILREL, DGL_C_IN,
        DGL_RAS, GLE_HPGL, DGL_HPGL, REL.
        
   HEAP MANAGER: HEAPT
   
   HUMAN INTERFACE: BCCRT, BCASSM
   
C. Test Suites

 The following test suites exist for the Pascal system. If practicable, 
 they should be run whenever changes are made in the related code, and 
 as a minimum, on the latest version of the system in which related changes 
 have been made.
 
   1. Compiler test suite
   2. I/O library test suite
   3. Graphics test suite

D. Specific test Plans
   
 The following pages contain more detailed test
 plans for certain areas of the system which have
 been modified significantly for this release.
 Plans have been done for the compiler, Graphics/HPHIL
 IO library, and for "other" small bugfixes or enhancements.
 
     1. Compiler QA plan
     2. Graphics/HPHIL QA plan
     3. IO QA plan
     4. "Other" bugfix test plan

1. Compiler Tests

 I will run the standard PAWS Compiler test suite exercising
 the following variations:
 
  - Standard (Default: RANGE ON, OVFLCHECK ON, FLOAT_HDW OFF, PARTIAL_EVAL OFF,
    STACKCHECK ON)
   
  - Var 1 (Default: RANGE OFF, OVFLCHECK ON, FLOAT_HDW OFF, PARTIAL_EVAL OFF,
    STACKCHECK ON)
    
  - Var 2 (Default: RANGE ON, OVFLCHECK OFF, FLOAT_HDW OFF, PARTIAL_EVAL OFF,
    STACKCHECK ON)
    
  - Var 3 (Default: RANGE ON, OVFLCHECK ON, FLOAT_HDW ON, PARTIAL_EVAL OFF,
    STACKCHECK ON)
    
  - Var 4 (Default: RANGE ON, OVFLCHECK ON, FLOAT_HDW TEST, PARTIAL_EVAL OFF,
    STACKCHECK ON)
    
  - Var 5 (Default: RANGE ON, OVFLCHECK ON, FLOAT_HDW ON, PARTIAL_EVAL ON,
    STACKCHECK ON)
    
  - Var 6 (Default: RANGE ON, OVFLCHECK ON, FLOAT_HDW ON, PARTIAL_EVAL ON,
    STACKCHECK OFF)


 There are two compilers that each of these variations should be run on.  The
 first is the standard release compiler and the other is the 68020 compiler.
 The standard compiler test suite variations should be run using something
 other than a 320/330/350 and optionally on this hardware.  The 68020 compiler
 test suite variations only make sense running on 320/330/350 hardware. Each 
 variation of the test suite running on the 320 hardware at 16 Mhz takes about
 18 hours.  Running any one variation on hardware slower than the 320 will take
 longer and as such will be done over a weekend or on two consecutive nights
 by separating it into two parts.
 
 I will run the math tests that Paul Beiser wrote for testing the float card.
 
Development of new test programs:
 
 These will be aimed at bugs fixed since 3.12 release, and related areas.

 These bugs are:
 
 
 
2. Graphics tests

 Testing Overview
 
   o Test new h/w and s/w with existing test suites or new tests
     as indicated below, starting at QA entry.
   
   o After fixing all bugs detected in the full QA test re-run full
     QA test set last week before MR, to meet QA exit conditions. For
     this run, will use only h/w combinations which failed previous run,
     as well as any "suspect" combinations.
          
          
 Implementation

  Run DGL IGTP QA suite against combinations as given in
  the matrices below:
    
      Displays
  
          26A 36A 36C 204A 204B 542 543 544 545 547 549 700-4  700-8   546A 237
  
  26A                                                                         
  36A                                                                         
  36C                                                                          
  9920                                                                        
  217                                                                         
  310                            6   3   6   3   6   3    6                  
  320                            3   6   3   6   3   6   28                  
  330                            6   3  3/6  3   6   3    3      6       6   
  350                            3   6  3/6  6   3   6   28     28       3   
  237                                                                         
  
  (3=primary display setting, 6=secondary display setting, 28=select code)
  
  Plotters
  
  1 Plotter (any model) with each of 330/350
  +
          9872A 7225 7440 7580 7585 7586 7595 7596 7550 98627 7475 7470 7570
  
  26A                                                     D
  36A                                                     D
  36C                                                     D
  9920                                                    D
  217                                                     D
  542                                                     D
  543                 D/F  D/F  D/F  D/F  D/F  D/F        D             D/F
  544                                                     D
  545                                                     D
  547                                                     D
  549                                                     D
  98700                                                   D
  9837A                                                   D
  
  (D=Direct connect (on-line), F=File (spooled))
  
  Locators
  
  46060A, 46083A, and 46087A on each of 330/350
  +
          knob 46060A 46083A 46085A 46086A 46087A 46088A 46089A 98203C
  
  26A       2    
  36A       2
  36C       2
  9920      2   2/202  2/202                 201    201          2/202
  217           2/202  2/202                 201    201          2/202
  542           2/202  2/202                 201    201          2/202
  543           2/202  2/202                 201    201          2/202
  544           2/202  2/202                 201    201          2/202
  545           2/202  2/202                 201    201          2/202
  547           2/202  2/202                 201    201          2/202
  549           2/202  2/202                 201    201          2/202
  98700         2/202  2/202                 201    201          2/202
  9837A         2/202  2/202                 201    201          2/202
  
  (2=arrow keys driver, 201=absolute locator, 202=new relative driver)
  
  46060A	- Mouse
  46083A	- HPHIL Knob
  46085A	- 9-knob Box
  46086A	- Button Box
  46087A	- A-size Digitizer
  46088A	- B-size Digitizer
  46089A	- 4-button Cursor
  98203C- HILMITZ

  The IGTP QA tests will be augmented to test the new plotters.

  Perform additional manual testing of MOUSE functionality outside
  DGL.

3. I/O tests

 Run standard I/O test suite against the below CPUs with and
 without DMA installed:
 
         9836A  (Big Mac)
         9836U  (UMM)
         9920   with 10MHz 68010 UMM
         Bobcat 68010
         Bobcat 68010 with float card
         Bobcat 68020
         Bobcat 68020 with 68881 math chip
         
4. "Other" bugfix and enhancement testing

 I am responsible for the following 2 areas of bugfix/enhancement:
 
   o Heap manager 32-bit address bus bugfix
     - The bug fixed related to using 24-bit pointers with $HEAP_DISPOSE
       ON$. The 330 and 350 require 32-bit pointers.
     - A heap manager test program has been written and run 
       successfully on a 320. It will be run against a 330 and
       a 350.
   
   o Low-cost Catseye support in CRTC
     - The fixes related to an area of incompatibility with the 98547:
       lack of H/W cursor. A solid non-flashing underline cursor was
       implemented in CRTC, following GATORBOX cursor design.
     - The 98549 Emulator ROM has been used in simulated testing in a 
       Hexagon (98547) display card. I will manually test cursor handling 
       and general display reliability in both standard and debugger
       environments on the real 98549 when one is available (est Jan 31).

