Title: Exam%202%20
1Exam 2 Nov 9
2Articles
- Frankl
- Parnas
- Chen-Kao (OCF graph)
- Glass-etal (Viewpoints)
- Kuhn-Wallace (fault interactions)
- Nagappan (STREW)
- May-etal (stat model)
- Kim-Clark-McDermid (OO mutations)
- Derezinska (OO mutations)
3Exam Preview
- Last years exam was based on different articles
(other than Parnas) - Questions last year
- Parnas calculations
- Extending a concept from a paper
- Explaining a concept from a paper
- Explaining statistical concepts
4Tuesday, Nov 7th
- Investigating the effectiveness of
object-oriented testing strategies using the
mutation method - Object-Oriented Mutation to Asses the Quality of
Tests - Do Making Meaning for the two articles and submit
by email by 8am, Tues 11/7
5Object-Oriented Mutations to Assess the Quality
of Tests
- Anna Derezinska
- 29th EuroMicro Conference
6OO mutation ops for code and spec
7Mutants
Mutants 2, 9 and 24 were equivalent mutants.
Mutant 11 was also not killed by any test from
the basic test set. An additional test -
Direction_indicator_lights_2 was developed to
kill this mutant. Final minimal set of tests
consists of 5 test cases, 4 from the basic set of
functional tests and this additional test. This
test set kills all non-equivalent mutants.
8Results
9Results
The selected minimal test suite satisfies the
coverage criteria with 83 coverage for functions
and 85 for code lines. For 8 classes (from 17)
the coverage was maximal. The above-discussed
tests were also compared with another test set
randomly generated and selected to maximize
coverage of the code. In the comparison to the
minimal selected test set, the coverage decreased
to 43 for function calls and to 52 for line
hits.
10Investigating the effectiveness of
object-oriented testing strategies using the
mutation method
- Kim, Clark, and McDermid
- Software Testing, Verification and Reliability
2001
11Table IX traditional mutations
12Table X CM mutations
13Coverage
The majority of the mutants that the methods fail
to kill, indicating inadequacies in the test sets
of the methods, are related to program
coverage. None of the OO methods explicitly
require statement coverage, so it appears that
these methods do not execute every statement of
the program. This shortcoming can be easily
fulfilled by applying traditional coverage
methods such as control-flowtesting. In order to
be effective, some kinds of coverage methods
should be used with the OO methods.
14Results
The CM results also show that the OO methods,
although they are claimed to be adequate for OO
systems, are not particularly effective at
dealing with a few OO features, especially the
information hiding feature represented by the AMC
operator. Special attention is required for those
features in the testing of OO software.