HandlesMessages Keyboard / mouse eventsTests – simulating user behavior
With or without handlesDefault and custom messagesSynchronous and asynchronous callsMouse, keyboard usage
Creation order (Z), IDsCustom components – support neededComponents without handlesHelpers : IAccessible, IWebBrowser2, …
Caption, classIndentifying windows – Winspector, Spy++Window state – visible, hidden, modalDealing with unwanted windows
Custom components, inaccessible components need special actions Support on application side, custom message calls (or COM components ?) on test side DEVs - messages, code examples QAs / SDETs – add calls in tests Documents, early identification, communication
Build validation. Can unit tests do the job ? Reduce integration risks and build confidence in own product Deal with geographically divided teams Continuous integration. How about continuous testing ? CI tools, triggers. Continuous integration for automation tests. Why do we need it ?
Testing environment: virtualization technologies Automation environment: testing software products in same conditions You need a control board. Hudson can do it ! Results ? What to do with them ? E-mail ? Alerts ? Validation vs. testing. Validate each build, test important ones
UI changes. Biggest threat for our tests So it happened. They changed the UI. Again. How do we react ? How about a backup ? API testing, unit tests Is there anything to do in order to be prepared for these events ? The cost of UI changes should include automation updates
Create models for your application Mapping UI elements with own classes. Hide implementation details Avoid using “map elements” directly in tests Adding abstraction layers can help you Functionality testing Testing framework vs. tests. SDET or QA ?
Data driven testing Can we keep only the logic in testing scripts ? Why store data in special files ? Is it even entirely possible ? Extend test coverage Open QA framework to all QAs. Enable them to write automation tests. In theory.
Build entire team confidence in automation tests Test and detect problems early. Maybe before commit ? Indentify problems before they get in the build Custom testing for developers