Electrical Fire

Quality Assurance Plan

  

Initial Bytecode List

Sample Test 1

Sample Test 2

Sample Test 3

Objectives

The objectives are: 1) to verify correctness of a new Java Runtime, 2)measure size and performance and 3) verify completness of design documentation. Objectives 1 and 2 are cross-platform goals. To achive these objectives, QA will work closely with Development to ensure that all requirements are met.

Test Outline

The following outline follows the project schedule and describes what QA will concurrently be doing.

Test Cases

The bulk of the compatibitlity tests are taken from the Java Compatibility Kit (JCK) which is provided by Javasoft. Other sources will also be used and noted below. All test cases should be able to run on the Test Harness.

Tools

The following are the list of QA tools to be used for the project. All tools should be platform independent so they can be used on all platforms for testing.

Test Harness

The Test Harness will be the general tool to run the test cases. The user will specify which test cases to run. Then the Harness will load the test and pass it to the JIT or Runtime and display the returned results. How the Test Harness will communicate with the JIT or the Runtime still needs to be determined. There are two ways to communicate which are to either pass the Java class or the bytcode instructions.

Bytecode Verifier

The Bytecode Verifier should be able to compare and verify the bytecodes used by our runtime to the bytecodes generated by javap or even other runtimes. The verifier should, for example, pass a class to the runtime, then verify the bytecodes used are similar.

Data Structure Inspector

This tool should be able to print out the all the structures used in the Translator, ie the control flow and data flow graphs.

Benchmark

These tools will be used to compare ours with existing Runtimes, ie Microsoft's or Symantec's. These tools will measure if the Runtime meets our performance requirements.