SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
11 - 15 DECEMBER  ANTWERP  BELGIUM
www.javapolis.com
Automatic testing of Enterprise
Applications...
...using Open Source tools :)
Bruno Bossola
Lead Coordinator
JUG Torino
11 - 15 DECEMBER  ANTWERP  BELGIUM
The Goal
Learn how to test your enterprise
system using open source
technologies
...or at least get an idea :)
11 - 15 DECEMBER  ANTWERP  BELGIUM
About me
C Developer since 1988
Java developer since 1996
XP Coach during 2000-2001
Lead coordinator and co-founder
of JUG Torino in 2001
Sun Java Champion since 2005
11 - 15 DECEMBER  ANTWERP  BELGIUM
Agenda
Test... duh?
Enterprise systems
Acceptance test tools
FitNesse
FitNesse Live demo!
Selenium
Selenium Live demos!
Q&A Advisor: this won't
be a tutorial!
11 - 15 DECEMBER  ANTWERP  BELGIUM
Test... duh?
Tests are part of development cycle
They may be used to drive development
(TDD)
They're used to block regressions
Two kind of tests:
 Unit Tests
 Acceptance Tests
Sometimes they mean just time used to
handle project delays :(
11 - 15 DECEMBER  ANTWERP  BELGIUM
Unit Tests
Development and anti-regression
Specific tool for each language
Characteristics:
 written by a developer
 executed by a developer
 data are self-contained inside tests
 don't drive UI
Writing unit tests require java knowledge
11 - 15 DECEMBER  ANTWERP  BELGIUM
Unit Tests: tools
The most known tools in Java:
Jetif
TestNG
JUnit
In these days JUnit is a de-facto standard
11 - 15 DECEMBER  ANTWERP  BELGIUM
Question
Who wrote JUnit?
11 - 15 DECEMBER  ANTWERP  BELGIUM
JUnit
Built by
 Kent Beck (XP “father”)
 Erich Gamma (GOF star)
Tests are developed as Java classes
Built-in in most famous IDEs
Works in text and graphic mode
May produce HTML reports
May be used also for integration or
functional testing
11 - 15 DECEMBER  ANTWERP  BELGIUM
Junit
Live Demo?
No, please :)
11 - 15 DECEMBER  ANTWERP  BELGIUM
Acceptance tests
Functional tests on:
 business functions
 use cases
They interacts with
 User interfaces
 Application services
Written by an analyst or, better, directly by
a customer
Must run automatically, eventually by non-
technical people
11 - 15 DECEMBER  ANTWERP  BELGIUM
Enterprise systems
Database
Stored
Procedures
Tables
J2EE / Server (EJB)
EJB
DAO
J2EE / Client (MVC)
Actions
JSP
POJOs
POJOs
External system
XY
Web
Services
External system
WK
EJB
How do we test
all this stuff??
11 - 15 DECEMBER  ANTWERP  BELGIUM
Database
Enterprise systems
Stored
Procedures
Tables
J2EE / Server (EJB)
EJB
DAO
J2EE / Client (MVC)
Actions
JSP
POJOs
POJOs
External system
XY
Web
Services
External system
WK
EJB
Unit tests
11 - 15 DECEMBER  ANTWERP  BELGIUM
Database
Enterprise systems
Stored
Procedures
Tables
J2EE / Server (EJB)
EJB
DAO
J2EE / Client (MVC)
Actions
JSP
POJOs
POJOs
External system
XY
Web
Services
External system
WK
EJB
Unit tests
Acceptance tests (SVCs)
11 - 15 DECEMBER  ANTWERP  BELGIUM
Database
Enterprise systems
Stored
Procedures
Tables
J2EE / Server (EJB)
EJB
DAO
J2EE / Client (MVC)
Actions
JSP
POJOs
POJOs
External system
XY
Web
Services
External system
WK
EJB
Unit tests
Acceptance tests (SVCs)
Acceptance tests (UI)
11 - 15 DECEMBER  ANTWERP  BELGIUM
Acceptance tests: tools
More than 50 tools are available!
Designed for:
fat-client applications
web applications
services oriented systems
general purpose
...
All open source :)
11 - 15 DECEMBER  ANTWERP  BELGIUM
Acceptance tests: tools
Selenium
IE Automation
WebTst
WebInject
Watir e Watij
TextTest
TestGen4Web
TclWebTest
Solex
Staf
SoapUI
FitNesse
Samie
Sahi
Qat
Pounder
Abbot
MaxQ
Latka
JWebUnit
Jamaleon
Jacobie
11 - 15 DECEMBER  ANTWERP  BELGIUM
Break!
ITALY
FIFA WORLD CHAMPION 2006
11 - 15 DECEMBER  ANTWERP  BELGIUM
FitNesse
It's a collaboration tool
It's a tool to manage tests
 you define tests
 you launch tests clicking a button and results
are immediately showed
It's a Wiki
 allows you also to share information within
tests
It's web server
 no setup, click'n'run!
11 - 15 DECEMBER  ANTWERP  BELGIUM
FitNesse
Integration and functional tests
Tests are written as tables in a Wiki
It's possible to import / export such tables
as Excel sheets
Java knowledge is needed to write test
skeleton (fixture)
When writing or executing test cases Java
knowledge is not needed
11 - 15 DECEMBER  ANTWERP  BELGIUM
FitNesse
Web Server,
Wiki engine
Runner
Standard
Fixtures
Custom
Fixtures
Application
under test
FitNesse
Repository
QAs
Developers
Write Java Fixture
(also .NET is supported)
Write tables in Wiki
pages
FIT
HTML
pages
Results
Application specific
invocations
Fit
Server
11 - 15 DECEMBER  ANTWERP  BELGIUM
Question
Who wrote FitNesse?
11 - 15 DECEMBER  ANTWERP  BELGIUM
Answer
Fit was written (mainly) by:
• Ward Cunningham
FitNesse was written (mainly) by:
• Robert C. Martin
• Micah Martin
11 - 15 DECEMBER  ANTWERP  BELGIUM
FitNesse
It may be used to test:
 business logic
 application services, internal or external
 stored procedures
It's possible to manage test chains
hierarchically
Tests can executed directly from the Wiki
It produces detailed HTML reports
It may be automated by an ANT task
www.javapolis.com
DEMO
(Fitnesse)
11 - 15 DECEMBER  ANTWERP  BELGIUM
Selenium
Functional test on web applications
Java knowledge is not needed to write and
execute tests
Tests are automatically recorded by a
Firefox plug-in
Tests may be executed on most browsers /
OS
Tests are recorded as HTML files
It's possible to import tables written in
Excel
11 - 15 DECEMBER  ANTWERP  BELGIUM
Selenium
It's written in Javascript / DHTML
Uses a javascript bot “injected” in
application HTML pages under test
Allows you to:
 send commands to browser
 interact with widgets as a user
 execute javascript code
 localize page elements in different ways
Extensible using javascript
It may be automated by an ANT task
11 - 15 DECEMBER  ANTWERP  BELGIUM
Selenium tools
Selenium IDE
 a complete IDE implemented as a Firefox
extension, allows test record, edit and debug.
Selenium core
 web application to execute test suites with
high degree of control
Selenium Remote Control
 allows you to write automated web application
UI tests in any programming language against
any HTTP website
www.javapolis.com
DEMO
Selenium IDE
(10')
www.javapolis.com
DEMO
Selenium CORE
(5')
www.javapolis.com
DEMO
Selenium & ANT
(1' 30”)
Featuring Selenium RC
11 - 15 DECEMBER  ANTWERP  BELGIUM
Summary
Start using FitNesse today!
 Download and install in minutes
 http://www.fitnesse.org
Start using Selenium today!
 Start grabbing the IDE
 http://www.openqa.org/selenium
 Next go ahead and move to CORE
Start testing your enterprise apps!
11 - 15 DECEMBER  ANTWERP  BELGIUM
“Untested Code is the Dark Matter of
Software”
Robert C. Martin
“...and anyway you should now when you're
shipping something that won't work :)”
www.javapolis.com
Q&A
11 - 15 DECEMBER  ANTWERP  BELGIUM
Thank you for your attention!

Contenu connexe

Tendances

Testing Design System Changes Across Your Application -- Intuit Use Case -- w...
Testing Design System Changes Across Your Application -- Intuit Use Case -- w...Testing Design System Changes Across Your Application -- Intuit Use Case -- w...
Testing Design System Changes Across Your Application -- Intuit Use Case -- w...
Applitools
 

Tendances (20)

Mca 02 year_exp_unit_automation_testing_ldra_rtrt_c -
Mca 02 year_exp_unit_automation_testing_ldra_rtrt_c -Mca 02 year_exp_unit_automation_testing_ldra_rtrt_c -
Mca 02 year_exp_unit_automation_testing_ldra_rtrt_c -
 
Web Accessibility Testing Trends and Shift Left Testing of accessibility usin...
Web Accessibility Testing Trends and Shift Left Testing of accessibility usin...Web Accessibility Testing Trends and Shift Left Testing of accessibility usin...
Web Accessibility Testing Trends and Shift Left Testing of accessibility usin...
 
Appium vs Espresso and XCUI Test
Appium vs Espresso and XCUI TestAppium vs Espresso and XCUI Test
Appium vs Espresso and XCUI Test
 
DevOps and Visual Studio Team Services
DevOps and Visual Studio Team Services DevOps and Visual Studio Team Services
DevOps and Visual Studio Team Services
 
Behaviour testing for single-page applications and API’s
Behaviour testing for single-page applications and API’sBehaviour testing for single-page applications and API’s
Behaviour testing for single-page applications and API’s
 
deliver:agile - Enable your Agile Team with Continuous Delivery Pipelines
deliver:agile - Enable your Agile Team with Continuous Delivery Pipelinesdeliver:agile - Enable your Agile Team with Continuous Delivery Pipelines
deliver:agile - Enable your Agile Team with Continuous Delivery Pipelines
 
Containerizing legacy applications
Containerizing legacy applicationsContainerizing legacy applications
Containerizing legacy applications
 
Introduction to SoapUI day 1
Introduction to SoapUI day 1Introduction to SoapUI day 1
Introduction to SoapUI day 1
 
Using The Page Object Pattern
Using The Page Object PatternUsing The Page Object Pattern
Using The Page Object Pattern
 
Visual Studio 2010 Testing for Developers
Visual Studio 2010 Testing for DevelopersVisual Studio 2010 Testing for Developers
Visual Studio 2010 Testing for Developers
 
Clean Code: Successive Refinement
Clean Code: Successive RefinementClean Code: Successive Refinement
Clean Code: Successive Refinement
 
Tales from the Dark Side: Ori Bendet Selenium Conference India 2016
Tales from the Dark Side: Ori Bendet Selenium Conference India 2016Tales from the Dark Side: Ori Bendet Selenium Conference India 2016
Tales from the Dark Side: Ori Bendet Selenium Conference India 2016
 
Automated Acceptance Tests in .NET
Automated Acceptance Tests in .NETAutomated Acceptance Tests in .NET
Automated Acceptance Tests in .NET
 
Integration Testing in AEM
Integration Testing in AEMIntegration Testing in AEM
Integration Testing in AEM
 
Testing Design System Changes Across Your Application -- Intuit Use Case -- w...
Testing Design System Changes Across Your Application -- Intuit Use Case -- w...Testing Design System Changes Across Your Application -- Intuit Use Case -- w...
Testing Design System Changes Across Your Application -- Intuit Use Case -- w...
 
Automated Testing – Web, Mobile, Desktop - Challenges and Successes
Automated Testing – Web, Mobile, Desktop - Challenges and SuccessesAutomated Testing – Web, Mobile, Desktop - Challenges and Successes
Automated Testing – Web, Mobile, Desktop - Challenges and Successes
 
Cloud load testing with Visual Studio Team Services
Cloud load testing with Visual Studio Team ServicesCloud load testing with Visual Studio Team Services
Cloud load testing with Visual Studio Team Services
 
АННА ТИМОФІЄВА & СЕРГІЙ МАЛИНОВСЬКИЙ «Tools and Tips of video connection test...
АННА ТИМОФІЄВА & СЕРГІЙ МАЛИНОВСЬКИЙ «Tools and Tips of video connection test...АННА ТИМОФІЄВА & СЕРГІЙ МАЛИНОВСЬКИЙ «Tools and Tips of video connection test...
АННА ТИМОФІЄВА & СЕРГІЙ МАЛИНОВСЬКИЙ «Tools and Tips of video connection test...
 
Testing PHP with Codeception
Testing PHP with CodeceptionTesting PHP with Codeception
Testing PHP with Codeception
 
Test driven development_continuous_integration
Test driven development_continuous_integrationTest driven development_continuous_integration
Test driven development_continuous_integration
 

En vedette

Microcrédito Produtivo Orientado - um estudo sobre políticas públicas no Bras...
Microcrédito Produtivo Orientado - um estudo sobre políticas públicas no Bras...Microcrédito Produtivo Orientado - um estudo sobre políticas públicas no Bras...
Microcrédito Produtivo Orientado - um estudo sobre políticas públicas no Bras...
Maria Alice Cabral Maia
 
FINANCIAMENTO DA PRODUÇÃO AGRÍCOLA SUSTENTÁVEL FAMILIAR NO BRASIL E NA FRANÇA...
FINANCIAMENTO DA PRODUÇÃO AGRÍCOLA SUSTENTÁVEL FAMILIAR NO BRASIL E NA FRANÇA...FINANCIAMENTO DA PRODUÇÃO AGRÍCOLA SUSTENTÁVEL FAMILIAR NO BRASIL E NA FRANÇA...
FINANCIAMENTO DA PRODUÇÃO AGRÍCOLA SUSTENTÁVEL FAMILIAR NO BRASIL E NA FRANÇA...
Maria Alice Cabral Maia
 
Agile09: The Product Manager/Owner Dilemma
Agile09: The Product Manager/Owner DilemmaAgile09: The Product Manager/Owner Dilemma
Agile09: The Product Manager/Owner Dilemma
Rich Mironov
 

En vedette (13)

Microcrédito Produtivo Orientado - um estudo sobre políticas públicas no Bras...
Microcrédito Produtivo Orientado - um estudo sobre políticas públicas no Bras...Microcrédito Produtivo Orientado - um estudo sobre políticas públicas no Bras...
Microcrédito Produtivo Orientado - um estudo sobre políticas públicas no Bras...
 
FINANCIAMENTO DA PRODUÇÃO AGRÍCOLA SUSTENTÁVEL FAMILIAR NO BRASIL E NA FRANÇA...
FINANCIAMENTO DA PRODUÇÃO AGRÍCOLA SUSTENTÁVEL FAMILIAR NO BRASIL E NA FRANÇA...FINANCIAMENTO DA PRODUÇÃO AGRÍCOLA SUSTENTÁVEL FAMILIAR NO BRASIL E NA FRANÇA...
FINANCIAMENTO DA PRODUÇÃO AGRÍCOLA SUSTENTÁVEL FAMILIAR NO BRASIL E NA FRANÇA...
 
Android Study Jam - GDG Dois Vizinhos - Primeira Reunião
Android Study Jam - GDG Dois Vizinhos - Primeira ReuniãoAndroid Study Jam - GDG Dois Vizinhos - Primeira Reunião
Android Study Jam - GDG Dois Vizinhos - Primeira Reunião
 
Agile09: The Product Manager/Owner Dilemma
Agile09: The Product Manager/Owner DilemmaAgile09: The Product Manager/Owner Dilemma
Agile09: The Product Manager/Owner Dilemma
 
Basic electronics qp jan_2011
Basic electronics qp jan_2011Basic electronics qp jan_2011
Basic electronics qp jan_2011
 
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...
QA Fes 2016. Василий Сливка. 10 лучших практик для тестирования мобильных при...
 
Викторина для тестировщиков
Викторина для тестировщиковВикторина для тестировщиков
Викторина для тестировщиков
 
QA Fest 2016. Александр Неделяев. Браузерные помощники тестировщика
QA Fest 2016. Александр Неделяев. Браузерные помощники тестировщикаQA Fest 2016. Александр Неделяев. Браузерные помощники тестировщика
QA Fest 2016. Александр Неделяев. Браузерные помощники тестировщика
 
Mindfulness
Mindfulness Mindfulness
Mindfulness
 
Virtual Class Room
Virtual Class RoomVirtual Class Room
Virtual Class Room
 
Consejos igcse spanish-first language
Consejos igcse spanish-first language Consejos igcse spanish-first language
Consejos igcse spanish-first language
 
Agile2009 Product Manager - Product Owner Dilemma
Agile2009 Product Manager - Product Owner DilemmaAgile2009 Product Manager - Product Owner Dilemma
Agile2009 Product Manager - Product Owner Dilemma
 
El género dramático
El género  dramáticoEl género  dramático
El género dramático
 

Similaire à jp06_bossola

Automation Testing on Selenium by Quontra Solutions
Automation Testing on Selenium by Quontra SolutionsAutomation Testing on Selenium by Quontra Solutions
Automation Testing on Selenium by Quontra Solutions
QUONTRASOLUTIONS
 
Sakai10 Selenium Workshop
Sakai10 Selenium WorkshopSakai10 Selenium Workshop
Sakai10 Selenium Workshop
coreyjack
 
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
WSPDC & FEDSPUG
 
Testing apps with MTM and Tea Foundation Service
Testing apps with MTM and Tea Foundation ServiceTesting apps with MTM and Tea Foundation Service
Testing apps with MTM and Tea Foundation Service
Kevin DeRudder
 
Automation Open Source tools
Automation Open Source toolsAutomation Open Source tools
Automation Open Source tools
QA Club Kiev
 

Similaire à jp06_bossola (20)

XP Injection
XP InjectionXP Injection
XP Injection
 
XP Injection
XP InjectionXP Injection
XP Injection
 
Ordina SOFTC Presentation - TFS and JAVA, better together
Ordina SOFTC Presentation - TFS and JAVA, better togetherOrdina SOFTC Presentation - TFS and JAVA, better together
Ordina SOFTC Presentation - TFS and JAVA, better together
 
Deploy applications with TFS Build
Deploy applications with TFS BuildDeploy applications with TFS Build
Deploy applications with TFS Build
 
Expo - Zero to App.pptx
Expo - Zero to App.pptxExpo - Zero to App.pptx
Expo - Zero to App.pptx
 
Improved software testing using Visual Studio and TFS 2010
Improved software testing using Visual Studio and TFS 2010 Improved software testing using Visual Studio and TFS 2010
Improved software testing using Visual Studio and TFS 2010
 
[EclipseCon NA 2014] Integration tests for RCP made easy with SWTBot and Tycho
[EclipseCon NA 2014] Integration tests for RCP made easy with SWTBot and Tycho[EclipseCon NA 2014] Integration tests for RCP made easy with SWTBot and Tycho
[EclipseCon NA 2014] Integration tests for RCP made easy with SWTBot and Tycho
 
International journal of applied sciences and innovation vol 2015 - no 1 - ...
International journal of applied sciences and innovation   vol 2015 - no 1 - ...International journal of applied sciences and innovation   vol 2015 - no 1 - ...
International journal of applied sciences and innovation vol 2015 - no 1 - ...
 
Windows Phone and Windows 8 application development
Windows Phone and Windows 8 application developmentWindows Phone and Windows 8 application development
Windows Phone and Windows 8 application development
 
Automation Testing on Selenium by Quontra Solutions
Automation Testing on Selenium by Quontra SolutionsAutomation Testing on Selenium by Quontra Solutions
Automation Testing on Selenium by Quontra Solutions
 
Sakai10 Selenium Workshop
Sakai10 Selenium WorkshopSakai10 Selenium Workshop
Sakai10 Selenium Workshop
 
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
 
Test Automation at the Speed of Agile: Making It Work Every Build
Test Automation at the Speed of Agile: Making It Work Every BuildTest Automation at the Speed of Agile: Making It Work Every Build
Test Automation at the Speed of Agile: Making It Work Every Build
 
Testing apps with MTM and Tea Foundation Service
Testing apps with MTM and Tea Foundation ServiceTesting apps with MTM and Tea Foundation Service
Testing apps with MTM and Tea Foundation Service
 
Crack mcts.com
Crack mcts.comCrack mcts.com
Crack mcts.com
 
Share Point Web Parts 101
Share Point Web Parts 101Share Point Web Parts 101
Share Point Web Parts 101
 
Developing, building, testing and deploying react native apps
Developing, building, testing and deploying react native appsDeveloping, building, testing and deploying react native apps
Developing, building, testing and deploying react native apps
 
Automated Web Testing With Selenium
Automated Web Testing With SeleniumAutomated Web Testing With Selenium
Automated Web Testing With Selenium
 
Automation Open Source tools
Automation Open Source toolsAutomation Open Source tools
Automation Open Source tools
 
Tutorial test driven development with Visual Studio 2012
Tutorial test driven development with Visual Studio 2012Tutorial test driven development with Visual Studio 2012
Tutorial test driven development with Visual Studio 2012
 

Plus de Bruno Bossola

Plus de Bruno Bossola (8)

Tools to create a secure build pipeline
Tools to create a secure build pipelineTools to create a secure build pipeline
Tools to create a secure build pipeline
 
Distributed Systems
Distributed SystemsDistributed Systems
Distributed Systems
 
Microservices, the lean way
Microservices, the lean wayMicroservices, the lean way
Microservices, the lean way
 
Microservices - the lean way
Microservices - the lean wayMicroservices - the lean way
Microservices - the lean way
 
Geecon11 - Git: a Gentle InTroduction
Geecon11 -  Git: a Gentle InTroductionGeecon11 -  Git: a Gentle InTroduction
Geecon11 - Git: a Gentle InTroduction
 
Git - (a) Gentle InTroduction
Git - (a) Gentle InTroductionGit - (a) Gentle InTroduction
Git - (a) Gentle InTroduction
 
Geecon10: Object Oriented for nonbelievers
Geecon10: Object Oriented for nonbelieversGeecon10: Object Oriented for nonbelievers
Geecon10: Object Oriented for nonbelievers
 
Geecon09: SOLID Design Principles
Geecon09: SOLID Design PrinciplesGeecon09: SOLID Design Principles
Geecon09: SOLID Design Principles
 

jp06_bossola

  • 1. 11 - 15 DECEMBER  ANTWERP  BELGIUM
  • 2. www.javapolis.com Automatic testing of Enterprise Applications... ...using Open Source tools :) Bruno Bossola Lead Coordinator JUG Torino
  • 3. 11 - 15 DECEMBER  ANTWERP  BELGIUM The Goal Learn how to test your enterprise system using open source technologies ...or at least get an idea :)
  • 4. 11 - 15 DECEMBER  ANTWERP  BELGIUM About me C Developer since 1988 Java developer since 1996 XP Coach during 2000-2001 Lead coordinator and co-founder of JUG Torino in 2001 Sun Java Champion since 2005
  • 5. 11 - 15 DECEMBER  ANTWERP  BELGIUM Agenda Test... duh? Enterprise systems Acceptance test tools FitNesse FitNesse Live demo! Selenium Selenium Live demos! Q&A Advisor: this won't be a tutorial!
  • 6. 11 - 15 DECEMBER  ANTWERP  BELGIUM Test... duh? Tests are part of development cycle They may be used to drive development (TDD) They're used to block regressions Two kind of tests:  Unit Tests  Acceptance Tests Sometimes they mean just time used to handle project delays :(
  • 7. 11 - 15 DECEMBER  ANTWERP  BELGIUM Unit Tests Development and anti-regression Specific tool for each language Characteristics:  written by a developer  executed by a developer  data are self-contained inside tests  don't drive UI Writing unit tests require java knowledge
  • 8. 11 - 15 DECEMBER  ANTWERP  BELGIUM Unit Tests: tools The most known tools in Java: Jetif TestNG JUnit In these days JUnit is a de-facto standard
  • 9. 11 - 15 DECEMBER  ANTWERP  BELGIUM Question Who wrote JUnit?
  • 10. 11 - 15 DECEMBER  ANTWERP  BELGIUM JUnit Built by  Kent Beck (XP “father”)  Erich Gamma (GOF star) Tests are developed as Java classes Built-in in most famous IDEs Works in text and graphic mode May produce HTML reports May be used also for integration or functional testing
  • 11. 11 - 15 DECEMBER  ANTWERP  BELGIUM Junit Live Demo? No, please :)
  • 12. 11 - 15 DECEMBER  ANTWERP  BELGIUM Acceptance tests Functional tests on:  business functions  use cases They interacts with  User interfaces  Application services Written by an analyst or, better, directly by a customer Must run automatically, eventually by non- technical people
  • 13. 11 - 15 DECEMBER  ANTWERP  BELGIUM Enterprise systems Database Stored Procedures Tables J2EE / Server (EJB) EJB DAO J2EE / Client (MVC) Actions JSP POJOs POJOs External system XY Web Services External system WK EJB How do we test all this stuff??
  • 14. 11 - 15 DECEMBER  ANTWERP  BELGIUM Database Enterprise systems Stored Procedures Tables J2EE / Server (EJB) EJB DAO J2EE / Client (MVC) Actions JSP POJOs POJOs External system XY Web Services External system WK EJB Unit tests
  • 15. 11 - 15 DECEMBER  ANTWERP  BELGIUM Database Enterprise systems Stored Procedures Tables J2EE / Server (EJB) EJB DAO J2EE / Client (MVC) Actions JSP POJOs POJOs External system XY Web Services External system WK EJB Unit tests Acceptance tests (SVCs)
  • 16. 11 - 15 DECEMBER  ANTWERP  BELGIUM Database Enterprise systems Stored Procedures Tables J2EE / Server (EJB) EJB DAO J2EE / Client (MVC) Actions JSP POJOs POJOs External system XY Web Services External system WK EJB Unit tests Acceptance tests (SVCs) Acceptance tests (UI)
  • 17. 11 - 15 DECEMBER  ANTWERP  BELGIUM Acceptance tests: tools More than 50 tools are available! Designed for: fat-client applications web applications services oriented systems general purpose ... All open source :)
  • 18. 11 - 15 DECEMBER  ANTWERP  BELGIUM Acceptance tests: tools Selenium IE Automation WebTst WebInject Watir e Watij TextTest TestGen4Web TclWebTest Solex Staf SoapUI FitNesse Samie Sahi Qat Pounder Abbot MaxQ Latka JWebUnit Jamaleon Jacobie
  • 19. 11 - 15 DECEMBER  ANTWERP  BELGIUM Break! ITALY FIFA WORLD CHAMPION 2006
  • 20. 11 - 15 DECEMBER  ANTWERP  BELGIUM FitNesse It's a collaboration tool It's a tool to manage tests  you define tests  you launch tests clicking a button and results are immediately showed It's a Wiki  allows you also to share information within tests It's web server  no setup, click'n'run!
  • 21. 11 - 15 DECEMBER  ANTWERP  BELGIUM FitNesse Integration and functional tests Tests are written as tables in a Wiki It's possible to import / export such tables as Excel sheets Java knowledge is needed to write test skeleton (fixture) When writing or executing test cases Java knowledge is not needed
  • 22. 11 - 15 DECEMBER  ANTWERP  BELGIUM FitNesse Web Server, Wiki engine Runner Standard Fixtures Custom Fixtures Application under test FitNesse Repository QAs Developers Write Java Fixture (also .NET is supported) Write tables in Wiki pages FIT HTML pages Results Application specific invocations Fit Server
  • 23. 11 - 15 DECEMBER  ANTWERP  BELGIUM Question Who wrote FitNesse?
  • 24. 11 - 15 DECEMBER  ANTWERP  BELGIUM Answer Fit was written (mainly) by: • Ward Cunningham FitNesse was written (mainly) by: • Robert C. Martin • Micah Martin
  • 25. 11 - 15 DECEMBER  ANTWERP  BELGIUM FitNesse It may be used to test:  business logic  application services, internal or external  stored procedures It's possible to manage test chains hierarchically Tests can executed directly from the Wiki It produces detailed HTML reports It may be automated by an ANT task
  • 27. 11 - 15 DECEMBER  ANTWERP  BELGIUM Selenium Functional test on web applications Java knowledge is not needed to write and execute tests Tests are automatically recorded by a Firefox plug-in Tests may be executed on most browsers / OS Tests are recorded as HTML files It's possible to import tables written in Excel
  • 28. 11 - 15 DECEMBER  ANTWERP  BELGIUM Selenium It's written in Javascript / DHTML Uses a javascript bot “injected” in application HTML pages under test Allows you to:  send commands to browser  interact with widgets as a user  execute javascript code  localize page elements in different ways Extensible using javascript It may be automated by an ANT task
  • 29. 11 - 15 DECEMBER  ANTWERP  BELGIUM Selenium tools Selenium IDE  a complete IDE implemented as a Firefox extension, allows test record, edit and debug. Selenium core  web application to execute test suites with high degree of control Selenium Remote Control  allows you to write automated web application UI tests in any programming language against any HTTP website
  • 32. www.javapolis.com DEMO Selenium & ANT (1' 30”) Featuring Selenium RC
  • 33. 11 - 15 DECEMBER  ANTWERP  BELGIUM Summary Start using FitNesse today!  Download and install in minutes  http://www.fitnesse.org Start using Selenium today!  Start grabbing the IDE  http://www.openqa.org/selenium  Next go ahead and move to CORE Start testing your enterprise apps!
  • 34. 11 - 15 DECEMBER  ANTWERP  BELGIUM “Untested Code is the Dark Matter of Software” Robert C. Martin “...and anyway you should now when you're shipping something that won't work :)”
  • 36. 11 - 15 DECEMBER  ANTWERP  BELGIUM Thank you for your attention!