From 9457bb283f45ecae870f5b9912a21a555d81fdca Mon Sep 17 00:00:00 2001 From: halw Date: Sat, 19 May 2012 16:37:22 +0000 Subject: [PATCH] Author:halw Date:2012-05-19T16:36:43.000000Z git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@1104 abb3cda0-5349-4a8f-a601-0c33ac3a8c38 --- .../AutoTest_Interface_after_run_06_0.png | Bin 0 -> 31918 bytes ...AutoTest_Interface_after_run_06_0.png.data | 3 ++ ...oTest_testing_pane_after_generation_01.png | Bin 0 -> 24660 bytes ..._testing_pane_after_generation_01.png.data | 3 ++ .../using-autotest/using-generated-tests.wiki | 26 ++++++++++-------- 5 files changed, 20 insertions(+), 12 deletions(-) create mode 100644 documentation/current/eiffelstudio/_images/AutoTest_Interface_after_run_06_0.png create mode 100644 documentation/current/eiffelstudio/_images/AutoTest_Interface_after_run_06_0.png.data create mode 100644 documentation/current/eiffelstudio/_images/AutoTest_testing_pane_after_generation_01.png create mode 100644 documentation/current/eiffelstudio/_images/AutoTest_testing_pane_after_generation_01.png.data diff --git a/documentation/current/eiffelstudio/_images/AutoTest_Interface_after_run_06_0.png b/documentation/current/eiffelstudio/_images/AutoTest_Interface_after_run_06_0.png new file mode 100644 index 0000000000000000000000000000000000000000..8145df7ce996df7f7bd962c03210ecfc8cdcbd62 GIT binary patch literal 31918 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%0DsY?}W{wb|x9IYKklMO#qpG$)Q=x5s$QCa1+~ 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 KA(j6=j`%;PBcA2} literal 0 HcmV?d00001 diff --git a/documentation/current/eiffelstudio/_images/AutoTest_testing_pane_after_generation_01.png.data b/documentation/current/eiffelstudio/_images/AutoTest_testing_pane_after_generation_01.png.data new file mode 100644 index 00000000..5e21c00d --- /dev/null +++ b/documentation/current/eiffelstudio/_images/AutoTest_testing_pane_after_generation_01.png.data @@ -0,0 +1,3 @@ +title=AutoTest testing pane after generation +author=halw +path=content/autotest-testing-pane-after-generation diff --git a/documentation/current/eiffelstudio/eiffelstudio-guided-tour/using-autotest/using-generated-tests.wiki b/documentation/current/eiffelstudio/eiffelstudio-guided-tour/using-autotest/using-generated-tests.wiki index 5d06d831..11ac1995 100644 --- a/documentation/current/eiffelstudio/eiffelstudio-guided-tour/using-autotest/using-generated-tests.wiki +++ b/documentation/current/eiffelstudio/eiffelstudio-guided-tour/using-autotest/using-generated-tests.wiki @@ -7,7 +7,7 @@ Generated tests fill a different role from either extracted or manual tests. The #For any routine, what argument values are valid #For the execution of any routine, what resulting states are acceptable -The first bit of knowledge comes from the ''preconditions'' of target routines. The second comes from ''postconditions'' of target routines and the ''invariants'' of target classes. Armed with this knowledge, we should be able to generate a series of invocations of target routines using random argument values, and evaluate the results. This is what is done by an internal facility of AutoTest that builds generated tests (this facility is often also referred to itself as AutoTest). After many of these randomly generated invocations, AutoTest attempts to synthesize the results of these feature calls into new test classes. The tests in these new test classes contain the calls leading up and including calls that fail. AutoTest will attempt to create only one test from each unique type of failure, so that your test directory doesn't get loaded with lots of duplicates. +The first bit of knowledge comes from the ''preconditions'' of target routines. The second comes from ''postconditions'' of target routines and the ''invariants'' of target classes. Armed with this knowledge, we should be able to generate a series of invocations of target routines using random argument values, and evaluate the results. This is what is done by an internal facility of AutoTest that builds generated tests (this facility is often also referred to itself as AutoTest). After many of these randomly generated invocations, AutoTest attempts to synthesize the results of these feature calls into new test classes. The tests in these new test classes contain the calls leading up and including calls that fail. AutoTest will attempt to create only one test from each unique type of failure, so that your test directory doesn't get loaded with lots of duplicate tests. You may look at a generated test class and think that it seems to be very long and to contain lots of stuff that you doubt is relevant. This is a fair assessment. The processes that AutoTest uses to build and minimize generated tests are constantly being improved. But for now, generated tests, although useful, retain a certain amount of that randomness that was used in their creation. @@ -27,21 +27,19 @@ If you've been through the discussion of the creation of [[Create a manual test| In the drop-down menu for the '''Create new test''' button, choose the item '''Generate tests for custom types'''. -The second pane is the now familiar pane that asks you to provide a class name for the new test class and designate a cluster for it. In the case of generated tests, the class name you enter is actually a prefix, that will have a sequential number appended to it. This means that for the BANK_ACCOUNT example, if we might choose a test class name like TEST_BANK_ACCOUNT_GENERATED, the first test class with that prefix would be named TEST_BANK_ACCOUNT_GENERATED_001: + +[[Image:AutoTest create new test]] -[[Image:AutoTest new test wizard 02S 01]] +At this point, you'll see the '''Test Generation''' wizard pane. This pane allows you to specify which classes you want to generate tests for. You can also adjust the values of certain parameters used in the test generation. + +Let's type the class name BANK_ACCOUNT into the box labeled '''Class or type name''' and click the "'''+'''" button to added it to the list. Of course you can remove an item from the list by selecting it and clicking "'''-'''". -In the third pane, you are asked to configure certain options for the generation of generated tests: +[[Image:AutoTest Test Generation pane]] -[[Image:AutoTest new test wizard 03S 01]] - - -This is where you declare target class(es) for the generated tests. You type a class name into the box labeled '''Class or type name''' and click the "'''+'''" button to added it to the list. Of course you can remove an item from the list by selecting it and clicking "'''-'''". - -On the right side of the pane you can configure certain options for the test generation process. +The rest of the pane is used to configure certain options for the test generation process. '''Cutoff (minutes)''' lets you specify a number of minutes for AutoTest to run random invocations of the routines in your target class(es). @@ -51,9 +49,13 @@ On the right side of the pane you can configure certain options for the test gen '''Random number generation seed''' provides a way for you to control the seeding of the random number generator used by AutoTest. When the value is '''0''', as shown here, the seed is created from the system clock. This is adequate in most cases, but this option is provided because there might be some cases in which you would want to try to reproduce a previous test generation run. And to do that, you would have to set the seed to the same value for multiple runs. -The two check boxes '''Use slicing for minimization''' and '''Use ddmin for minimization''' allow you to select the approach that you want to use for minimizing the size of generated tests. Generally, the default value here is adequate. '''Slicing''' and '''ddmin''' are two different ways of doing minimization. Tests are generated after running many randomly generated calls to routines in your target class. Tests are generated for calls that fail. So, there may have been many randomized calls leading up to the failed call. Minimization helps to eliminate the majority of the unrelated randomly generated calls, leaving the test code as short as possible. You will notice that minimization processing is memory and processor intensive. +The two check boxes '''Slice minimization''' and '''DDmin for minimization''' allow you to select the approach that you want to use for minimizing the size of generated tests. Generally, the default value here is adequate. '''Slicing''' and '''ddmin''' are two different ways of doing minimization. Tests are generated after running many randomly generated calls to routines in your target class. Tests are generated for calls that fail. So, there may have been many randomized calls leading up to the failed call. Minimization helps to eliminate the majority of the unrelated randomly generated calls, leaving the test code as short as possible. You will notice that minimization processing is memory and processor intensive. + +The last check box, '''HTML statistics''' gives you the option of having AutoTest record the results of a test generation run in a set of files that you can review with a web browser. + +We can allow all these to remain their default values, with one exception. Let's check the '''HTML statistics''' box. + -The last check box, '''Create HTML output''' give you the option of having AutoTest record the results of a test generation run in a set of files that you can review with a web browser. During the test generation you can watch the random invocations of your class's routines being logged in the Testing pane of the Outputs tool. When the generation completes, AutoTest directs you to the location of the results: