Because of a lapse in government funding, the information on this website may not be up to date, transactions submitted via the website may not be processed, and the agency may not be able to respond to inquiries until appropriations are enacted. The NIH Clinical Center (the research hospital of NIH) is open. For more details about its operating status, please visit cc.nih.gov. Updates regarding government operating status and resumption of normal operations can be found at OPM.gov.

Lexical Tools

LVG QA & Test Plan

I. Software Quality Assurance

  1. Source Codes Walk through
    A procedure to make sure all source code of lvg meet coding standard.

  2. Software Development Documents (Website)
    A web site provides all development documents on Lexical Tools project.

  3. Software Change Requests (migrated to jira)
    A web based tool to perform book keeping functions on defects and features for lvg.

II. Testing

Four types of basic testing are executed in lvg project. They are:

  1. Component Test

    All software components in lvg should perform unit test (black box test) to ensure software unit meet all requirements. Software components include:

    • Command Line Syntax
    • Persistent Trie
    • BitMaskBase
    • FruitfulVar
    • luiNorm
    • norm

    These components test are performed during the software development. These tests are at $TEST/LVG/ComponentTest/. Similar tests are also performed in the flow Unit test.

  2. Unit Tests on Flows & Options

    All units of lvg flow components and options should pass regression test to ensure software meet all requirements. This regression test includes "repeating a test already run successfully (previous version), and comparing the new results with the earlier valid results (gold standard)". This test is used after generate the baseline, after big change in certain flows, and before deploy/release. Software components include:

  3. Smoke Test

    A basic function tests are includes in the smoke test:

    • Test all Lexical Tools - command line tools
    • Test all examples in the Lexical Tools package.

  4. Integration Test

    A system level test should be performed for lvg, norm, luiNorm, and other tools. Ideally, an automatic testing program should be implemented and used. This testing program should include functions such as:

  5. GUI Lexical Tools Test
  6. Performance test

  7. Platform Test for distribution

    Software should be tested on different platforms (Linux, and Window) to ensure the compatibility and performance meet the distribution standard.

  8. Quality Assurance

    This QA procedure is to check system delivery meet coding standard, system documentation (such as PDD & UDF) are provided, and defects are fixed with approval.

  9. Other Test and Analysis

    This includes analysis on feedback from Lexical users. Such as: