| <?xml version="1.0" encoding="UTF-8"?> |
| <!DOCTYPE html PUBLIC "-//W3C/DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd"> |
| <!-- VERSION rmc:7.1.0 --> |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> |
| <!-- START NON-TRANSLATABLE --> |
| <title>\xp\tasks\automate_acceptance_test.xmi</title> |
| </head> |
| <!-- WARNING: do not modify the generated comments in this file below this line. They are used as markers for the import process. --> |
| <body> |
| Element Name: automate_acceptance_test.xmi<br/><br/> |
| <!-- END NON-TRANSLATABLE --> |
| <br/><br/><br/> |
| <!-- START NON-TRANSLATABLE --> |
| Attribute: presentationName<br/><br/> |
| <!-- END NON-TRANSLATABLE --> |
| <!-- START:presentationName,{E614ED93-AE72-4FD1-B459-C508CE1C536F} CRC: 3311427424 -->Automate Customer Test<!-- END:presentationName,{E614ED93-AE72-4FD1-B459-C508CE1C536F} --> |
| <br/><br/><br/> |
| <!-- START NON-TRANSLATABLE --> |
| Attribute: purpose<br/><br/> |
| <!-- END NON-TRANSLATABLE --> |
| <!-- START:purpose,-fm-gBePbdl_WMsE5NxEreQ CRC: 284304686 --><a id="XE_automate_customer_test__activity_definition" name="XE_automate_customer_test__activity_definition"></a> |
| <ul> |
| <li> |
| Transform the acceptance criteria of a user story into executable form. |
| </li> |
| </ul><!-- END:purpose,-fm-gBePbdl_WMsE5NxEreQ --> |
| <br/><br/><br/> |
| <!-- START NON-TRANSLATABLE --> |
| Attribute: name<br/><br/> |
| <!-- END NON-TRANSLATABLE --> |
| <!-- START:name,_oNCOIGE-EdqnIZeW8YpHcA CRC: 2265408975 --> General <!-- END:name,_oNCOIGE-EdqnIZeW8YpHcA --> |
| <br/><br/><br/> |
| <!-- START NON-TRANSLATABLE --> |
| Attribute: sectionDescription<br/><br/> |
| <!-- END NON-TRANSLATABLE --> |
| <!-- START:sectionDescription,_oNCOIGE-EdqnIZeW8YpHcA CRC: 1732889242 --><a id="Prep" name="Prep"></a> |
| <p> |
| XP teams represent detailed requirements as automated customer tests. Automating the tests insures they are detailed, |
| unambiguous, and executable. Typically, each acceptance criteria is translated into at least one automated test. |
| </p> |
| <p> |
| There are lots of ways to do this: |
| </p> |
| <ul> |
| <li> |
| For a batch program reading inputs and producing outputs: create test input files, capture actual output, and |
| compare it against expected output. |
| </li> |
| <li> |
| Write functional tests as programs. You can use a unit testing framework as a base or create a little scripting |
| language the programmers can use. |
| </li> |
| <li> |
| Allow the customer to easily specify tests (spreadsheets, flat text files) and create a small tool to read the |
| input and expected output. The tool runs the input against the system and checks that the actual output matches the |
| expected output. |
| </li> |
| <li> |
| Build an input recorder to allow customers to define the tests. |
| </li> |
| <li> |
| Use simple file-based tools to check the results. |
| </li> |
| </ul> |
| <p> |
| It is important to build the automation simply and incrementally as you need it. It is too easy to lose control and |
| invest too much time in test automation instead of business value. Don't overdo it. |
| </p><!-- END:sectionDescription,_oNCOIGE-EdqnIZeW8YpHcA --> |
| </body> |
| </html> |