Thien-An Mac QA consultant / Ghostbugster
“Test automation is the use of special software (separate from the software being tested) to control the execution of tests and the comparison of actual outcomes with predicted outcomes.” QTP iMacros Selenium WebDriver Jasmine Xunit
Source:
Saves us a lot of time Repeatable Less error prone Reliable
GUI Testing Code-driven Testing Allow users to interactively record user actions and replay them back any number of times Pros: Easy to pick up Create test scenarios quickly Cons: Not maintainable Have to wait for the code to be completed Write code to script the actions Pros: Maintainable Organized code Cons: Can become very difficult to maintain Knowledge of basic programming is necessary
Selenium WebDriver accepts commands (via a Client API) and sends them to a browser. This is implemented through a browser-specific browser driver, which sends commands to a browser, and retrieves results. Source:
- DO automate as much as you can and prioritize the common “happy paths” - DON’T treat automated tests as 3 rd world code - DON’T have non-deterministic tests (aka “flaky” tests) - DON’T make your tests depend on each other - DO clean up your test data