Here are a few references to some of the scripts that we went over in this sublesson.


In this step of the acceptance stage, it’s really describing the other steps you can perform in an acceptance stage. In this reference implementation, we’re not running all of these types of test. In these steps of the acceptance stage, you’ll run “longer-running” automated tests which may include tests such as integration, acceptance, system (or end-to-end) and functional tests. To reiterate: all the tests run in this stage are automated and headless – meaning a human is not required to be at the keyboard to enter commands to run the tests.

  • Integration Tests – are automated tests that verify behavior with heavyweight resources such as a database and file servers
  • Acceptance Tests – are automated specification tests that verify behavior and don’t require a GUI
  • Functional Tests – are automated functional tests run using a GUI (note that these types of tests are often brittle)
  • System Tests – are end-to-end automated tests across the entire system and across systems

Other steps in the acceptance stage

While we’re not performing these steps in the reference implementation used in this course, there are several other steps (or jobs) that you might choose to run as part of your acceptance stage.

  • You might run a step to create Amazon Machine Images (AMIs) of the environments create in the earlier step in the acceptance stage. The reason you might do this is so that you don’t need to repeat the same steps in latter stages or in a self-service deployment. This way, you create the environment one time and run the entire environment (with the deployment) multiple times for a particular code commit to the version-control repository
  • You might also include a step to generate any automated system documentation. This might include diagrams based on committed code, code documentation, etc. Some examples include Entity Relationship Diagrams (ERD), UML diagrams, API documentation and other auto-generated documentation
  • Once the image is created in the create_images step (which is not a part of this reference implementation), all environment resources can be automatically terminated. This does occur in the reference implementation