Database Reference
In-Depth Information
Figure 9: The Is_Different algorithm
Is_Different ( N1 , N2 ) :
if N1 != N2 then
return true
for each component C in Component( N1 )
if C is modifi ed then
if C is a module then
if C does not belong Component ( N2 )
return true
else
return true
for each component C in Component ( N2 )
if C does not belong Component ( N1 )
return true
return false
Case 1
Change the defi nition of trigger Update_Balance . Instead of “after insert”, change it to
“after delete”. This modifi cation makes the trigger refrain from fi ring when statement 3 in
Pay_Check module is executed, and thus the statement 3 is affected and all test cases execut-
Pay_Check
ing this statement are included in the retest list. These test cases are T2, T3, and T4.
Pay_Check module is executed, and thus the statement 3 is affected and all test cases execut-
Case 2
Add a not-null constraint to value_date column in table TRANSACTIONS. This column
is not listed within the insert list of the insert statement in module Pay_Check . However,
in our impact analysis we include this column as an implicit usage since it is set to null. By
adding not-null constraint to this column, the insert statement is using implicitly a modifi ed
component. Thus, all test cases executing this statement should be executed. Similar to case
1, statement 3 in module Pay_Check is affected and the same test cases are selected. These
test cases are T2, T3, and T4.
Case 3
Statement 2 in function Stolen_Check is to be modifi ed. The statement, return(true),
Stolen_Check
becomes return(false). This modifi cation implies that all test cases executing statement 2
should be added to the retest list, which are test cases T1 and T5.
Call Graph Firewall
Leung and White (1990a) present a selective regression testing technique for inter-
procedural testing that deals with both code and specifi cation changes. Their technique
determines where to place a fi rewall around modifi ed code modules. Then, it selects unit
Search WWH ::




Custom Search