A build is an application that was created at a certain point in time; in the case of iOS, it is a zipped ".app" bundle. Ideally, it should be uniquely identified by a build number, but it is not required and the same version can coexist.
A scenario is a series of steps (taps, swipes, etc.) that define a behavior in an application. A scenario can start with a new installation of the application or, using the step groups described below, with the last step defined in that step group. In the second case, it depends on the other (preceding) step group. For example, a scenario to log in to a service might look like this
- Launch the application (Launch)
- Click on the email address entry field.
- Type "email@example.com"
- Press the password entry field.
- Type "password."
- Click the Login button.
A step group is a group of things that are common to each scenario, and can be used in each scenario. For example, a scenario where a user logs in (step group) and logs out would look like this
- Step group (to log in)
1-1. Launch the application (Launch)
1-2. Click on the email address entry field.
1-3. Type "firstname.lastname@example.org"
1-4. Press the password entry field.
1-5. Type "password."
1-6. Click the Login button.
- Press the Account tab.
- Click the Logout button.
A test plan is a mechanism to efficiently execute tests in a cohesive manner with build files, execution environments, and scenarios. In a test plan, multiple execution environments and multiple scenarios can be executed for a single build file.
The test result is the result of executing the test plan. It is the result of the steps of the scenario being executed in order. The steps can be captured at the time of recording, or the previous successful capture and the current result can be compared.