Transcript
  • 1. Integration-tests for RCP applications made easy with SWTBot and Tycho Mickael Istria @mickaelistria EclipseCon NA 2014 CC-BY 4.0

2. Integration-tests Run on the whole application Interact with application at the user-level, directly with exposed UI elements Basically can repeat and verify usage scenarios Synonyms/related? UI-test, Functional-test, usage-test, macro, scenario, bot, monkey... 3. RCP app already exists Challenges: How to write tests targeting existing RCP app? PDE Target-Platform Anything easier and more efficient to produce tests? SWTBot APIs, and Test Recorder & Generator How to run tests against an existing RCP app? Tycho Surefire, or SWTBot/PDE Launch Configuration 4. RCP app already exists This talk answers: How to write tests targeting existing RCP app? PDE Target-Platform Anything easier and more efficient to produce tests? SWTBot APIs, and Test Recorder & Generator How to run tests against an existing RCP app? Tycho Surefire, or SWTBot/PDE Launch Configuration 5. How to write tests targeting existing RCP app? The PDE way: Test cases are in bundles (or fragments) At dev-time, your application under test (AUT) is configured in the Target Platform, which lists available pieces to consume and available for PDE. 6. Target-Platform Test-specific APIs Your product 7. Anything easier and more efficient to produce tests? Provide easier Natural language Test Case translation Manipulates user-level UI concepts, so no need to know much of internals of Eclipse Black-box testing, using PDE tests http://www.eclipse.org/swtbot http://wiki.eclipse.org/SWTBot 8. SWTBot APIs in Action APIs for SWT, Forms, Workbench, GEF and family 9. Recording Monitor user activity and record it as a SWTBot test case Record == Generate Java code https://wiki.eclipse.org/SWTBot/Recorder 10. Dev IDE Your product 11. Target Application 12. Recording is just about Rules Rules match UI events (actions, widgets) and deduce related code It's easy to write and contribute a rule: https://wiki.eclipse.org/SWTBot/Recorder#Extending_it 13. Run tests on existing application When PDE Target-Platform is set, it's just a matter of using SWTBot Launch Configuration From IDE: Your product 14. Run tests on existing application From Tycho: Tycho-surefire-plugin allows to use an installed application https://wiki.eclipse.org/Tycho/Testing_with_Surefire#p2Installed_on_provisioned_RCP_application 15. Questions? Contribute during tonight Hackaton! Please give feedback at eclipsecon.org ! Mickael Istria @mickaelistria EclipseCon NA 2014 CC-BY 4.0


Top Related