You are on page 1of 25

Automation Testing

Choose the tool

Main Questions
Why? What? When? Who?

HOW?
What next?

Why?
Fast Test Execution Reproducibility Improve Quality

What?
Regression Tests Load, Performance, Stress Tests Unit and Non-UI Functional Tests Compatibility Tests

When?

Who?

How?
Existent frameworks Specialized API and libraries Develop custom test tools

UI Testing Tools

Capture based tool.

DOM based tool.

Capture Tool
Image Capturing. Absolutely positioning. Easy to script. Easy to learn. Fast implementation.

Screen Capture based Tool

Image Capturing
Real time/On demand Customizable quality Full screen, rectangular regions

Absolutely positioning
12 functions to emulate User actions High/Low -level emulation

Easy to script
Recording User Actions

Easy to learn

Verification and Analysis of Test Results


Image Comparison Optical character recognition

Fast implementation
Readability Extensibility, agility Maintainability Simplicity Readability, Clarity Testability Reusability

Smart design

DOM Tool
Object positioning. Scripting Language. Big set of predefined objects and actions. Flexible way to create big test sets.

DOM Tool

Predefined Objects
UIAActionSheet UIAActivityIndicator UIAAlert UIAApplication UIAButton UIAEditingMenu UIAElement UIAElementArray UIAKey UIAKeyboard UIALink UIALogger UIANavigationBar UIAPageIndicator UIAPicker UIAPickerWheel UIAPopover UIAProgressIndicator UIAScrollView UIASearchBar UIASecureTextField UIASegmentedControl UIASlider UIAStaticText UIAStatusBar UIASwitch UIATabBar UIATableCell UIATableGroup UIATableView UIATarget UIATextField UIAToolbar UIAWebView UIAWindow

Predefined Actions
Tap Touch And Hold Double Tap Two Finger Tap Tap With Options Drag Inside With Options Flick Inside With

Options Scroll To Visible Check Is Valid Wait For Invalid

Test Scripts

Test Scripts
#import "Lib/TestSet.js"; #import "Lib/Logger.js"; #import "Tests/SmokeTest.js"; //Logger Init var log = new Logger(true, false); log.start("Smoke Test"); //Test Set filling var testSet = new TestSet(); testSet.addTests(new SmokeTest(), log); //Test Results tests = testSet.getTestSet(); for(test in tests) if (tests[test].getResult()) log.pass(tests[test].getName()); else log.fail(tests[test].getName()); if(testSet.getResult()) log.message("Test Set has completed successfully."); else log.message("Test Set has completed unsuccessfully.");

Capture?

What Next

Test Sets CIT Coverage Refactoring

You might also like