Professional Documents
Culture Documents
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 Tool
Image Capturing. Absolutely positioning. Easy to script. Easy to learn. Fast implementation.
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
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
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