diff --git a/documentation/current/eiffelstudio/_images/AutoTest_General_pane.png b/documentation/current/eiffelstudio/_images/AutoTest_General_pane.png
new file mode 100644
index 00000000..ccd9a268
Binary files /dev/null and b/documentation/current/eiffelstudio/_images/AutoTest_General_pane.png differ
diff --git a/documentation/current/eiffelstudio/_images/AutoTest_General_pane.png.data b/documentation/current/eiffelstudio/_images/AutoTest_General_pane.png.data
new file mode 100644
index 00000000..51360963
--- /dev/null
+++ b/documentation/current/eiffelstudio/_images/AutoTest_General_pane.png.data
@@ -0,0 +1,3 @@
+title=AutoTest General pane
+author=halw
+path=content/autotest-general-pane
diff --git a/documentation/current/eiffelstudio/_images/AutoTest_General_pane_empty.png b/documentation/current/eiffelstudio/_images/AutoTest_General_pane_empty.png
new file mode 100644
index 00000000..36287dd1
Binary files /dev/null and b/documentation/current/eiffelstudio/_images/AutoTest_General_pane_empty.png differ
diff --git a/documentation/current/eiffelstudio/_images/AutoTest_General_pane_empty.png.data b/documentation/current/eiffelstudio/_images/AutoTest_General_pane_empty.png.data
new file mode 100644
index 00000000..15199354
--- /dev/null
+++ b/documentation/current/eiffelstudio/_images/AutoTest_General_pane_empty.png.data
@@ -0,0 +1,3 @@
+title=AutoTest General pane empty
+author=halw
+path=content/autotest-general-pane-empty
diff --git a/documentation/current/eiffelstudio/_images/AutoTest_add_cluster_dialog.png b/documentation/current/eiffelstudio/_images/AutoTest_add_cluster_dialog.png
new file mode 100644
index 00000000..7ae45718
Binary files /dev/null and b/documentation/current/eiffelstudio/_images/AutoTest_add_cluster_dialog.png differ
diff --git a/documentation/current/eiffelstudio/_images/AutoTest_add_cluster_dialog.png.data b/documentation/current/eiffelstudio/_images/AutoTest_add_cluster_dialog.png.data
new file mode 100644
index 00000000..12d37d44
--- /dev/null
+++ b/documentation/current/eiffelstudio/_images/AutoTest_add_cluster_dialog.png.data
@@ -0,0 +1,3 @@
+title=AutoTest Add Cluster dialog
+author=halw
+path=content/autotest-add-cluster-dialog
diff --git a/documentation/current/eiffelstudio/eiffelstudio-guided-tour/using-autotest/create-manual-test.wiki b/documentation/current/eiffelstudio/eiffelstudio-guided-tour/using-autotest/create-manual-test.wiki
index bdbd3084..505aa758 100644
--- a/documentation/current/eiffelstudio/eiffelstudio-guided-tour/using-autotest/create-manual-test.wiki
+++ b/documentation/current/eiffelstudio/eiffelstudio-guided-tour/using-autotest/create-manual-test.wiki
@@ -169,35 +169,93 @@ Now you should see the coverage tag in the list of '''Tags used in new test'''.
That takes care of adding our coverage tag, so let's click '''Next''' to go to the next wizard pane, the '''General''' pane.
-[[Image: AutoTest General pane]]
+==The General Pane==
+[[Image: AutoTest General pane empty|The General Pane]]
+
We will use this wizard pane to name our test class and let AutoTest know where we want the test class to reside. You can give a test class any name you wish, as long as it doesn't conflict with another class name in your system. If you try to type in a class name that already exists, the wizard will let you know right away by changing the text color to red. There is a convention that has arisen around test class names. If possible make the test class name the name of the target class, prefixed with TEST_. So in our case, we want to build a test against a feature of the BANK_ACCOUNT class, so we will name our test class TEST_BANK_ACCOUNT.
-Now, for the question of where the tests should be kept. Again, you can keep them anywhere you wish, but there are some advantages to keeping the test classes in a '''test cluster''' separate from your target classes. For example, it will be easier for you to deliver your application or library classes if the testing classes are mixed it. A '''test cluster''' is just a cluster of classes that EiffelStudio and AutoTest expect to contain test classes. So we want to create a new testing cluster as a subcluster of the cluster in which the classes APPLICATION and BANK_ACCOUNT reside.
+Now, for the question of where the tests should be kept.
-Notice the '''New cluster''' button ( [[Image:16x16--new-cluster-icon]] ) on the wizard pane above. We click that button to add a new test cluster. The '''Add Cluster''' dialog box appears:
+By default, tests will be stored in a subdirectory of the EIGENs directory that is generated by the Eiffel compiler. Because it's the default, it's the quickest, easiest way to house tests. But it may not be the best for you in the long run. For example, if you manually delete the EIFGENs directory, which is occasionally necessary, you will lose your tests.
+
+You could include them in the same cluster as some of your application classes. But there are some advantages to keeping the test classes in a '''test cluster''' separate from your target classes. For example, it will be easier for you to deliver your application or library classes if the testing classes aren't mixed with your domain classes. A '''test cluster''' is just a cluster of classes that EiffelStudio and AutoTest expect to contain test classes. So, in our case, let's create a new testing cluster as a subcluster of the cluster in which the classes APPLICATION and BANK_ACCOUNT reside.
+
+First, uncheck the box labeled '''Use EIFGENs cluster'''.
+
+Notice the '''New cluster''' link on the General pane. We click that link to add a new test cluster. The '''Add Cluster''' dialog box appears:
-[[Image:AutoTest new test wizard Add Cluster 01]]
+[[Image:AutoTest Add Cluster dialog]]
-As with test class names, there is an emerging convention for the name of a test cluster: tests . So we will name our test cluster tests and make it a subcluster to our root cluster accounts. Notice that there is a '''test cluster''' check box on the dialog. It is checked and disabled, so at this point in the wizard you would always create a test cluster. Once the test cluster is created, we're back to the second wizard pane which now looks like this:
+We can name our test cluster tests, the default, and make it a subcluster to our root cluster accounts. Notice that there is a '''test cluster''' check box on the dialog. It is checked and disabled, so at this point in the wizard you would always create a test cluster. Let's also check the box labeled '''recursive'''. Once the test cluster is created, we're back to the General pane which now looks like this:
-[[Image:AutoTest new test wizard 02M 02]]
+[[Image:AutoTest General pane]]
+
+
+At this point we have provided all the information necessary for AutoTest to create the shell for a manual test on the deposit feature of the BANK_ACCOUNT class.
+
+So, now we click '''Launch''', and AutoTest creates our test set and test.
+==Writing a test==
-After clicking '''Next''', we see the third pane of the wizard. In this pane, we will describe our manual test routine. It looks like this:
+Let's look at the class TEST_BANK_ACCOUNT:
+
+note
+ description: "[
+ Eiffel tests that can be executed by testing tool.
+ ]"
+ author: "EiffelStudio test wizard"
+ date: "$Date$"
+ revision: "$Revision$"
+ testing: "type/manual"
-[[Image:AutoTest new test wizard 03M 01]]
+class
+ TEST_BANK_ACCOUNT
+inherit
+ EQA_TEST_SET
-Here we will name our test. Let's say that we plan to write this test against the feature {BANK_ACCOUNT}.deposit. Like the naming convention for test classes, we'll give this test the name test_deposit_01. The prefix test_ before the feature name it will test, and the suffix _01 so that we have a framework for adding more tests against deposit. Again, you can choose any naming scheme that makes sense to you. You may want to try to describe the test in its name. For example, test_deposit_very_large_amount.
+feature -- Test routines
+
+ test_deposit_01
+ -- New test routine
+ note
+ testing: "covers/{BANK_ACCOUNT}.deposit"
+ do
+ assert ("not_implemented", False)
+ end
+
+end
+
+
+We can see that the feature test_deposit_01 exists, but doesn't really test anything. So, let's change that. We'll alter test_deposit_01 so that it creates an instance of BANK_ACCOUNT and then makes a deposit to that account.
+
+So, test_deposit_01 now looks like this:
+
+
+ test_deposit_01
+ -- New test routine
+ note
+ testing: "covers/{BANK_ACCOUNT}.deposit"
+ local
+ l_ba: BANK_ACCOUNT
+ do
+ create l_ba
+ l_ba.deposit (500)
+ end
+
+
+Now we have created and written a manual test using AutoTest.
+
+Next let's look into the notion of '''Tags''' in a little more detail, then see what it takes to execute a test.
==About Tags==
@@ -278,58 +336,3 @@ execution/serial/group_2
then AutoTest will not run any group_1 tagged test concurrently with any other group_1 test, and likewise for tests tagged group_2.
-==Writing a test==
-
-Let's look at the class TEST_BANK_ACCOUNT:
-
-
-note
- description: "[
- Eiffel tests that can be executed by testing tool.
- ]"
- author: "EiffelStudio test wizard"
- date: "$Date$"
- revision: "$Revision$"
- testing: "type/manual"
-
-class
- TEST_BANK_ACCOUNT
-
-inherit
- EQA_TEST_SET
-
-feature -- Test routines
-
- test_deposit_01
- -- New test routine
- note
- testing: "covers/{BANK_ACCOUNT}.deposit"
- do
- assert ("not_implemented", False)
- end
-
-end
-
-
-We can see that the feature test_deposit_01 exists, but doesn't really test anything. So, let's change that. We'll alter test_deposit_01 so that it creates an instance of BANK_ACCOUNT and then makes a deposit to that account.
-
-So, test_deposit_01 now looks like this:
-
-
- test_deposit_01
- -- New test routine
- note
- testing: "covers/{BANK_ACCOUNT}.deposit"
- local
- l_ba: BANK_ACCOUNT
- do
- create l_ba
- l_ba.deposit (500)
- end
-
-
-Now we have created and written a manual test using AutoTest.
-
-Next let's see what it takes to execute a test.
-
-