Ans. Static testing tools: 1. Static analysers A static analyser operates from a pre-computed database of descriptive information derived from the source text of the program. The idea of a static analyser is to provide allegations, which are claims about the analysed programs that can be demonstrated by systematic examination of all cases. 2. Code inspectors A code inspector does a simple job of enforcing standards in a uniform way for many programs. These can be single statement or multiple statement rules. The AUDIT system is available which imposes some minimum conditions on the programs. 3. Standard enforcesThis tool is like a code inspector; expect that the rules are generally simpler. The main distribution is that a full-blown static analyser looks at whole programs, whereas a standard enforcer looks at only single statements. Dynamic testing tools 1. Coverage analyzers (execution verifiers) A coverage analyzer is the most common and important tool for testing. It is often relatively simple. One of the common strategies for testing involves declaring the minimum level of coverage, ordinarily expressed as a percentage of the elemental segments that are exercised in aggregate during the testing process. 2. Output comparators These are used in dynamic testing-both single-module and multiple-module (system level) varieties to check that predicted and actual outputs are equivalent. This is also done during regression testing. 3. Test data generatorsThis is a difficult one, and at least for the present is one for which no general solution exists. One of the practical difficulties with test data generation of sets of inequalities that represent the condition along a chosen path. 4. Test file generators This creates a file of information that is used as the program and does so based on comments given by the user and/or from the data descriptions program’s data definition section. 5. Test harness systemsThis is one that is bound around the test object and that permits the easy modification and control of test inputs and output’s and provides for online measurement of CI coverage values. 6. Test archiving systems: The goal is to keep track of series of tests ant to act as the basis for documenting that the tests have been done and that no defects were found during the process.