DV Notebook SF
The DV Notebook SF synthesizes directed tests to provide all of the benefits of directed testing without the associated costs.
In addition, unlike most coverage tools, DV Notebook SF is equally useful in RTL, C simulations, and QA lab testing.
Synthesized tests are organized and visualized using all of the power of the DV Notebook.
Click the points in the comparison chart to see how DV Notebook SF provides the best of both random and directed testing.
Controlling Test Scenarios
Directed Testing & DV Notebook SF:
Minimize redundant tests to achieve testing goals with a fraction of the cpu-time and licenses.
High quality directed tests achieve their intended functional coverage every time they are run.
This allows specific features and design changes to be targeted by a list of well-chosen tests.
The DV Notebook SF allows engineers to specify tests in simple test description languages.
Coverage annotations can be added on to these descriptions.
The software then expands the test population such that it achieves maximal coverage in a reproducible way.
The result is system where a single test engineer can create huge test populations of high quality directed tests.
Random Testing:
If too many aspects of a test are randomized, re-creating a failure can be difficult.
Random-constraint languages often yield uneven probabilities of different behaviors, and teams may spend 100's of CPU
hours per day simulating the same behavior over and over.
Results Prediction and Automatic Scoring
Directed Testing & DV Notebook SF:
Allowing test scripts to determine their own pass/fail criteria saves 100's of engineering hours per week.
Directed tests are more predictable, and are therefore a better choice for automatic test scoring.
In many cases, the specification of the test is enough to predict the desired result behavior without
investing the engineering resources required to create a detailed reference model.
Random Testing:
Random testing add project cost in the area of analyzing test results.
More engineering effort is needed to look at the results of tests to determine if the behavior is reasonable.
Detailed reference models are expensive to create, and often yield false-failure indications early in a project.
Over time, test benches are often modified to avoid false-failures, and may ultimately yield false-pass indications,
wasting valuable simulation resources while letting bugs slip through.
Test Population
DV Notebook SF:
Automatic generation of directed tests saves the costs that arise with classic random testing and directed testing methods.
The software automatically generates 1000's of directed test cases to satisfy the coverage bins specified by each coverage annotation.
These tests are organized in the DV Notebook database, and can be sorted and searched by any criteria.
Each test is written once and never modified.
Any desired changes to behavior are achieved by creating a different test.
Random Testing:
Small test libraries can achieve large-scale coverage by randomizing test behavior.
However, a small library of tests may be very sensitive to modifications of the testing scripts.
When nightly regression silently change behavior, weeks of testing are wasted.
Directed Testing:
With limited engineering resources, hand-coded directed tests often fall short of coverage goals.
Engineers create many individual tests and must organize them, usually in some type of file structure.
Each test is isolated from the others, so changes to one test do not effect another test.
By-Hand Test Coding
Random Testing & DV Notebook SF:
Automatic generation of different test behaviors saves months from a schedule.
Both random testing and DV Notebook SF create sufficient tests to keep unique simulations running
24-hours a day for the life of the project.
Using the DV Notebook SF, testing teams can perform automatic translations from test plan requirements to actual tests.
This reduces the need for highly subjective processes such as test plan reviews and software code reviews.
It is reasonable to expect the DV Notebook SF to generate 1,000 to 10,000 generated tests derived from each hand-written test.
This drastically accelerates the process of driving towards functional coverage completion.
By using the DV Notebook, tests, results, documentation, and analysis are
organized and cross-referenced in an easy search-and-click format.
Directed Testing:
No modern system can be tested using by-hand coding of directed tests.
Though every project can benefit from a detailed test plan and many directed tests, some automation and randomization
will always be necessary.
Dependence on Seeds
Directed Testing & DV Notebook SF:
Directed tests are created to achieve a particular goal quickly and reliably. Randomization is therefore kept to a minimum.
This limits the impact of seeds, and insures that every run of that test will achieve the same functional goal.
Random Testing:
Random testing reduces effort by randomly choosing values at run-time. However, this makes the test highly dependant on its
initial seed value. The same test with different seeds will behave differently. Even if the seed is the same, the slightest
modifications to the test program can cause different outcomes.
The Achilles DV Notebook SF changes the rules for how testing is done.
The result is that a single engineer can create, run, and visualize 1000 times
more tests and results than previously possible.
The SF version provides mechanisms to annotate the user-specific
schema with coverage notations, constraints, and floating point calculations. These annotations may be added at any time,
long after the creation or even the execution of a test, and can be employed to provide additional retrospective understanding
of the results of tests that had long since been executed.
The DV Notebook SF also uses these annotations to automatically generate 100's or 1000's of tests to satisfy the coverage bins
specified by each annotation.
Since the DV Notebook creates a parser for the user-defined test description language, the coverage generator may also be used
to analyze the coverage of existing test suites and fill any holes detected in pre-existing coverage. This enables 100% re-use
of testing efforts made prior to deploying the Achilles tools.