1 Experiment and Analysis of Condition Mutation TestingIn order

1. Experiment and Analysis of Condition Mutation TestingIn order to verify the feasibility of condition mutation approach, two components which exist in explicit vulnerabilities, that is, TestCondiDll1.dll and TestCondiDll2.dll, are tested in the experiment. The detail information of two components is shown in Table 3. TestCondiDll1.dll has 6 methods, and selleck chemicals Tipifarnib the number of code line is 63; TestCondiDll2.dll is composed of 7 methods, which includes 70 code lines. An RRF fault is injected into each method, and thus the first component has 6 faults injected and the second one has 7 faults injected.Table 3The information of two tested component.

The experimental result of TestCondiDll1 is shown in Table 4, which lists some information including method name, precondition of the method, mutated Prc using RRF operator, type-number of test cases that meet Prc(type-number of detecting the fault), and type-number of test cases that violate Prc (type-number of detecting the fault). For example, subtract method has 5 types of test cases that meet Prc which are a > b&&b > c, anda > b&&b = c, a > b&&b < c, a < b&&b > c, a = b&&b > c, among which, a < b&&b > c can detect the fault. a = b&&b = c, a = b&&b < c, a < b&&b = c, a < b&&b < c are 4 types of test cases that violate Prc, among which, a = b&&b = c, a = b&&b < c, a < b&&b < c can distinguish Prc and Prc��. It is shown from the table that type-number of test cases is related to the number of relational expressions and opening (closing) interval of a variable. The more relational expressions are, the larger the number of types is.

In addition, there are more types if a variable has opening interval rather than closing interval. It is also shown that condition mutation can effectively detect faults caused by RRF operator. Table 4Testing result for TestCondiDll1 using condition mutation.In addition, to verify and analyze the testing capability about detecting component explicit exception, condition mutation approach is compared with decision coverage, condition coverage and multiple condition coverage, by testing six methods of TestCondiDll1. The comparison result is shown in Table 5. Two test cases are obtained which, respectively, make Prc be true and false in decision coverage approach. Test cases are generated by making each relational expression of Prc be true and false in condition coverage approach.

Multiple condition coverage requires test cases that cover all the conditions in a decision. By analyzing Table 5, we can see that the number of test cases that are generated by Batimastat other 3 methods is the subset of that of the condition mutation. However, other 3 methods uncertainly can find all faults injected. Condition mutation approach generates most test cases, but it can find all faults caused by RRF operator. It is obvious that the condition mutation approach is effective.Table 5The comparison with related testing approaches.5.2.

This entry was posted in Antibody. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>