Arquillian

1,141 views

Published on

Framework for integration testing

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,141
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Arquillian

  1. 1. ARQUILLIAN Jakub Kubrynski jkubrynski@gmail.com
  2. 2. ------------------------------------------- WHOAMI - PayU.isHeadOfSoftwareDevelopment() - write less get more - import java.unit.concurrent.* - import sun.misc.Unsafe
  3. 3. ------------------------------------------- TO TEST OR NOT TO TEST - waste of time - my code always rocks - it's too hard - in fact we're testing easy things instead of important ones
  4. 4. ------------------------------------------- CORE PRINCIPLES - tests should be portable to any supported container - tests should be executable from both IDE and build tool - the platform should extend or integrate existing test frameworks
  5. 5. ------------------------------------------- TESTING GAP - unit vs integration vs functional - totally different level of abstraction - integration is hard to test
  6. 6. ------------------------------------------- BUILD - Maven - BillOfMaterial - Gradle - Ant + Ivy
  7. 7. ------------------------------------------- TEST FRAMEWORKS - JUnit - TestNG - Spock - JBehave - Cucumber
  8. 8. ------------------------------------------- SHRINKWRAP - artifacts assembly - archiver - JavaArchive - WebArchive - EnterpriseArchive - resolver - MavenResolver
  9. 9. ------------------------------------------- SHRINKWRAP - tests matrix - Tomcat + Jboss + GlassFish - Hibernate 3.x + 4.x - Spring 3.0 + 3.1 + 3.2 - MySQL + PosgreSQL + Oracle - Chrome + Firefox + Opera
  10. 10. ------------------------------------------- CONTAINERS - embedded, managed, remote - JavaEE: JBoss, WAS, WLS, GlassFish - servlet container: Jetty, Tomcat - standalone: OpenEJB, Weld SE
  11. 11. ------------------------------------------- RUNNERS - in container - inject datasource into test - inject connection factory - at client - untestable deployment
  12. 12. ------------------------------------------- TOOLING - Forge - JBoss tools - JRebel - Jacoco - Byteman
  13. 13. ------------------------------------------- WEB TESTING - why not bare selenium? - life cycle management - multiple browsers in a single test - configuration outside of the code
  14. 14. ------------------------------------------- WEB TESTING - Drone 1 and 2 - Graphene 1 and 2 - jQuery API - wait until - elementPresent, testEquals, alertPresent, elementNotVisible - drag & drop
  15. 15. ------------------------------------------- EXTENSIONS - JSF - Seam - REST - Mobile Android / iOS– - Spring Framework - Performance
  16. 16. ------------------------------------------- PERSISTENCE - based on DBUnit - supports YAML, JSON, XML, XLS - transactions - custom SQL scripts
  17. 17. ------------------------------------------- WARP - combines container and client executions in single test method - Warp.initiate(...).inspect(...)
  18. 18. ------------------------------------------- DRAWBACKS - Maven hell - one test class per @Deployment - too much capabilities - strange client/server behaviour
  19. 19. ------------------------------------------- FUTURE - client modularity - decoupled event model - polyglot (scala, clojure, jS, .NET, PHP) - mobile support (Android, iOS)
  20. 20. ------------------------------------------- CONTEST
  21. 21. ------------------------------------------- CONTEST ebook
  22. 22. ------------------------------------------- CONTEST Surefire vs Failsafe
  23. 23. ------------------------------------------- DEMO - let's check if it actually works - let's check if it actually works - let's check if it actually works - let's check if it actually works - let's check if it actually works - let's check if it actually works - let's check if it actually works
  24. 24. ------------------------------------------- MATERIALS - www.arquillian.org - http://docs.jboss.org/author/display/ ARQ/Reference+Guide - www.github.com/arquillian - community.jboss.org/en/arquillian? view=discussions
  25. 25. THANKS!! :)

×