Down Call
- User code(unprivileged) enters to kernel with trap(interrupt).
Up Call
- Kernel(privileged) enters to user code with IPC(Interprocess Communication).
Down Call
Up Call
In software testing, there are three different types of testing depending on how much knowledge the testers have on the software being tested.
White Box Testing
Black Box Testing
Gray Box Testing
These are currently popular methods to test software.
Fuzz Testing
Stochastic Testing
Model-based Testing
Symbolic Testing
x = read(); if (x > 3) { y = 1; if (x < 0) y = 2; } else y = 3;
After changing with symbolic variables, it checks the feasibility of paths. On above example, the expression (y = 2; on line #5) will not be reached.
Concolic Testing (Concrete + Symbolic)
A/B (or split, bucket) Testing
e.g.) randomly showing two different versions to users, and see which one had more uses
Boundary Testing
Equivalence partitioning or equivalence class partitioning (ECP)
References