diff --git a/README.md b/README.md index 1e14fa225..6929afac4 100644 --- a/README.md +++ b/README.md @@ -71,8 +71,13 @@ void test() { } ``` -When an amplification is successful, DSpot outputs the improvement on the console and the result of the amplification (the new tests) are written to the output folder specified by configuration property `outputDirectory` (default to `./target/dspot/output/`). +The modified test is lastly given to a selector, eg `--test-selector=PitMutantScoreSelector`, that determines if it improves the test suite and should be kept. + +The amplification process is illustrated in the figure below. Note that amplified tests are further modified by subsequent iterations determined by for example `--iteration=10`. +![Application loop](docs/application_loop.png) + +When an amplification is successful, DSpot outputs the improvement on the console and the result of the amplification (the new tests) are written to the output folder specified by configuration property `outputDirectory` (default to `./target/dspot/output/`). ``` Initial instruction coverage: 30 / 34 @@ -362,7 +367,7 @@ However, **DSpot** provide different kind of `Amplifier`: * `ReturnValueAmplifier`: creates objects based on the returned value by existing method call * `None`: do nothing -#### Test Selectors (-s | --test-criterion) +#### Test Selectors (-s | --test-selector | --test-criterion) In **DSpot**, test selectors can be seen as a fitness: it measures the quality of amplified, and keeps only amplified tests that are worthy according to this selector. diff --git a/docs/application_loop.png b/docs/application_loop.png new file mode 100644 index 000000000..713683955 Binary files /dev/null and b/docs/application_loop.png differ