??? Test ordering, to minimize any possibility of order-effect bias. Thus in the case of testing Word,
there is value in trying ???Ctrl+S???(ave) before ???Ctrl+O???(pen) or ???Ctrl+N???(ew) to ensure that the
system displays the right error message.
See [Musa 4] for more on this.
Testing Processes and Infrastructure 115
7.8 Static Analyzers
Static analyzers operate on source code and enhance the testing process by analysis of the code and diagnosis
of possible bugs before any testing actually takes place. Typical functions are cross-referencing, the detection
of undeclared or unused variables, adherence to the generally-accepted or locally-declared coding standards,
and code complexity analysis (usually McCabe??™s [see section 18.8.4] or knot analysis). A common example
of a static analyzer is lint, which analyzes C code and is provided with every UNIX system.
7.8.1 Lexical and Syntactic Analysis
Static analysis begins by undertaking lexical and syntactic analysis of the source code. A useful test tool
will produce a reference listing as shown in Figure 7.15, which is an output of an ADA program showing
the source code reformatted to the test tool reformatting standards with a line number for each statement
line. This file is the reference for all other outputs of the test tool, which refer to the generated line
numbers and associated reformatted statements.
7.8.2 Programming Standards Violations
Some test tools will search source code for possible programming standards??™ violations using the relevant
language standards.
Pages:
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288