1/17
Flashcards about Software Testing - Ch6 Dynamic Testing - White-box Testing
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
White-box Testing
Testing based on the analysis of internal logic (design, code, etc.).
Verification in White Box Testing
Testing of the software code for internal security holes, broken or poorly structured paths, flow of specific inputs, expected output, functionality of conditional loops, and individual testing of statements, objects, and functions.
Basic methodology of any White Box Testing
Plotting on the flowgraph, Execute, Identifying what has to be tested, Creating test cases for every path.
Types of White-box Testing
Code Walkthrough, Code Inspection, Unit Testing, Unit Coverage, Statement Coverage, Decision Coverage, Branch Coverage, Path Coverage, Condition Coverage, Code Complexity.
Advantages of White Box Testing
The tests can be automated with ease, tests can be done without GUI, testing is more efficient, and optimization of code can be done as the hidden errors are visible.
Disadvantages of White Box Testing
It is comparatively a more complex process, can be expensive, tests are usually not detailed, and requires an experienced resource person with technical knowledge.
Statement Coverage
To traverse all statements at least once, testing each line of code.
Decision Coverage
Reports the true or false outcomes of each Boolean expression.
Branch Coverage
Test cases are designed so that each branch from all decision points are traversed at least once.
Advantages of Branch Coverage Testing
Allows validation of all code branches, helps ensure no branch leads to program abnormality, removes statement coverage issues, finds areas not tested by other methods, allows quantitative code coverage measure, and ignores branches inside Boolean expressions.
Path Coverage
A structured testing technique for designing test cases to examine all possible execution paths at least once.
Advantages of Path Coverage
Helps reducing redundant tests, Focus on program logic, Test cases will execute every statement in a program at least once.
Data Flow Testing
A family of test strategies that selects paths through the program's control flow to explore sequences of events related to the status of variables or data objects.
Two conceptual levels which Data flow testing can be performed
Static data flow testing and Dynamic data flow testing.
Advantages Data Flow testing
Helps pinpoint issues like variables declared but never used, variables used but never declared, variables defined multiple times before use, and deallocating a variable before it is used.
Conditional Coverage
Will reveal how the variables or subexpressions in the conditional statement are evaluated.
Error Guessing
Experienced and good testers are required to recognize the defects in the component.
Exploratory Testing
Examines or explores the software and finds out if software works or not.