Unraveling The Enigma of Automated Testing

What is Test Automation

Test Automation is the use of software to control the execution of tests and the comparison of actual outcomes with predicted outcomes.

Using software to test business rules

Why do we need Test Automaton

Our System is NOT Orthogonal

Our System is Complex

Orthogonal Design

Non-Orthogonal Design

Craziness of Flying the Chopper

More Craziness

Unit Testing

  • Checks to ensure a single component's logic is correct
  • EX: I want to test the gas gauge in a car
  • I fill the tank with 2.5 gallons; I expect the gauge to read 25% Full
  • I empty the tank; I expect the gauge to read empty
  • I fill the tank with 5 gallons of water and 5 gallons of gas; I expect the gauge to read 100% full

Integration Testing

  • Checks to ensure different components when combined work properly
  • EX: I want to test the engine can run
  • I fill the tank with 2.5 gallons of gas;  I crank the engine, and it runs
  • I have an empty tank; I crank the engine it doesn't start
  • I fill tank with 5 gallons gas and 5 gallons water; I crank the engine and it conks out

Functional UI Testing

  • Browser (Chrome,Firefox, IE) driven checks that verify user usability by running checks on the application or system itself
  • EX: I want to check to ensure the car can accelerate from 0-60 in 12 seconds 
  • I fill the tank with 2.5 gallons of gas,  I crank the car, and it runs (Integration tests ensured our car will run)
    • I start my stop watch
    • I press and hold down the gas pedal
    • I watch the speedometer
    • when it reaches 60 I stop my stop watch and verify results

Where we are now

Where we will be after DTH

What we are working towards

Unit Test Status

Functional UI Test Status

Q&A

deck

By Butch Mayhew

deck

  • 409