Software QA FYI - SQAFYI

Glossary of Software QA/Testing

Part:   1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18   19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34 

Intrusive Testing
Testing that collects timing and processing information during program execution that may change the behavior of the software from its behavior in a real environment. Usually involves additional code embedded in the software being tested or additional processes running concurrently with software being tested on the same platform.


Class Level Methods
As mentioned above, a class (and its operations) is the module most concentrated on in OO environments. From here it should expand to other classes and sets of classes. Just like traditional models are tested by starting at the module first and continuing to module clusters or builds and then the whole program


Random Testing
This is one of methods used to exercise a class. It is based on developing a random test sequence that tries the minimum number of operations typical to the behavior of the class.


Basis Path Testing
Basis path testing is a white-box technique. It allows the design and definition of a basis set of execution paths. The test cases created from the basis set allow the program to be executed in such a way as to examine each possible path through the program by executing each statement at least once.
To be able to determine the different program paths, the engineer needs a representation of the logical flow of control. The control structure can be illustrated by a flow graph. A flow graph can be used to represent any procedural design.
Next a metric can be used to determine the number of independent paths. It is called cyclomatic complexity and it provides the number of test cases that have to be designed. This insures coverage of all program statements.


Control Structure Testing
Because basis path testing alone is insufficient, other techniques should be utilized.
Condition testing can be utilized to design test cases which examine the logical conditions in a program. It focuses on all conditions in the program and includes testing of both relational expressions and arithmetic expressions.
This can be accomplished using branch testing and/or domain testing methods. Branch testing executes both true and false branches of a condition. Domain testing utilizes values on the left-hand side of the relation by making them greater than, equal to and less then the right-hand side value. This method test both values and the relation operators in the expression. Data flow testing method is effective for error protection because it is based on the relationship between statements in the program according to the definition and uses of variables.
Loop testing method concentrates on validity of the loop structures.


Mutation Testing
A method to determine test set thoroughness by measuring the extent to which a test set can discriminate the program from slight variants of the program.


Non-intrusive Testing
Testing that is transparent to the software under test; i.e., testing that does not change the timing or processing characteristics of the software under test from its behavior in a real environment. Usually involves additional hardware that collects timing or processing information and processes that information on another platform.


Operational Testing
Testing performed by the end user on software in its normal operating environment.

Part:   1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18   19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34 

Glossary of Software QA/Testing