SlideShare ist ein Scribd-Unternehmen logo
1 von 103
How to Test Enterprise Java Applications
Alex Soto Bueno
Computer Engineer
World Is Changing

The World Is Changing So Fast




            {text/html}




   Client   Protocol      Server   Persistence

                                                 2
World Is Changing

The World Is Changing So Fast




            {text/html}




   Client   Protocol      Server   Persistence

                                                 2
World Is Changing

The World Is Changing So Fast




            {text/html}




   Client   Protocol      Server   Persistence

                                                 2
World Is Changing

The World Is Changing So Fast




            {text/html}
            {app/json}




   Client   Protocol      Server   Persistence

                                                 2
World Is Changing

The World Is Changing So Fast




            {text/html}
            {app/json}
            {app/xml}




   Client   Protocol      Server   Persistence

                                                 2
World Is Changing

The World Is Changing So Fast




            {text/html}
            {app/json}
            {app/xml}




   Client   Protocol      Server   Persistence

                                                 2
World Is Changing

The World Is Changing So Fast




            {text/html}
            {app/json}
            {app/xml}




   Client   Protocol      Server   Persistence

                                                 2
World Is Changing



     Testing Frameworks are
        Changing Too



                              3
Bio




      Alex Soto Bueno

      Computer Engineer
      Diagnostic Grifols
      Compiler Tutor
      Active Blogger & Speaker
                                 4
Overview


     Unit Tests   - 80 % of code




                                   5
Overview


     Unit Tests               - 80 % of code



      Integration Tests - 15 % of code




                                               5
Overview


     Unit Tests                         - 80 % of code



      Integration Tests - 15 % of code
           Acceptance Tests - 5 % of code




                                                         5
Unit Tests

  Tests small pieces of production code




                                          6
Unit Tests

  Tests small pieces of production code

             Confidence to Change




                                          6
Unit Tests

  Tests small pieces of production code

             Confidence to Change

               Quick Feedback




                                          6
Unit Tests

  Tests small pieces of production code

             Confidence to Change

               Quick Feedback

               Documentation




                                          6
Unit Tests

   FIRST Important Rules




                           7
Unit Tests

       Fast




              8
Unit Tests

       Fast

        Resist Temptation




                            8
Unit Tests

       Isolation




                   9
Unit Tests

       Repeatable




                    10
Unit Tests

       Self-Validating




                         11
Unit Tests

       Timely




                12
Unit Tests




Different Layers - Different Frameworks




                                          13
Client Side

 JS TestDriver xUnit approach to Javascript
Apache License 2.0




                                              14
Client Side

 JS TestDriver xUnit approach to Javascript
Apache License 2.0




          code




                                              14
Client Side

 JS TestDriver xUnit approach to Javascript
Apache License 2.0




          code




       fixtures




                                              14
Client Side

 JS TestDriver xUnit approach to Javascript
Apache License 2.0




          code




       fixtures




   configuration                               14
Client Side

 JS TestDriver xUnit approach to Javascript
Apache License 2.0




          code




       fixtures
                     JSTestDriver Server




   configuration                               14
Client Side

 JS TestDriver xUnit approach to Javascript
Apache License 2.0




          code




       fixtures
                     JSTestDriver Server   browsers




   configuration                                       14
Client Side

Sinon.js mocking library for Javascript
BSD License




                                          15
Client Side

Sinon.js mocking library for Javascript
BSD License




sinon.stub(jQuery,
“ajax”).yieldsTo(“success”,’{“name”:”Alex”}’);




                                                 15
Demo




       16
Server Side

Unit Test Framework for Java
                               Common Public License




                                                       17
Server Side

Hamcrest is about expressiveness

                                   New BSD License




                                                     18
Server Side

Hamcrest is about expressiveness

                                          New BSD License




String officerRank = getRankByDate(officer);
List<String> ranks = [(“Captain”, “Commander”)];

assertEquals(true, ranks.contains(officerRank));




                                                            18
Server Side

Hamcrest is about expressiveness

                                   New BSD License




                                                     18
Server Side

Hamcrest is about expressiveness

                                          New BSD License




String officerRank = getRankByDate(officer);

assertThat(officerRank,
isOneOf(“Captain”,”Commander”));

assertThat(age, is(10));
assertThat(name, is(not(“Alex”));
assertThat(calculated, isNotANumber());
                                                            18
Server Side

Simple & Clean Mock API
                          MIT License




                                        19
Server Side

Simple & Clean Mock API
                                        MIT License



@Mock private OfficerDao officerDao;
...
MockitoAnnotations.initMocks(this);
...

when(officerDao.findOfficerByAge(22))
    .thenReturn(newOfficer);

when(officerDao.findOfficerByAge(greaterThan(50)))
    .thenThrow(new OldOfficerException());

                                                      19
Persistence Side


       RDBMS are Homogeneous

       NoSQL are Heterogeneous




                                 20
Persistence Side (SQL)

Avoid HIT   Database




                         21
Persistence Side (SQL)

Avoid HIT   Database

              In-Memory
               Databases



                           21
Persistence Side (SQL)

Avoid HIT      Database

                           In-Memory
                            Databases

      Apache License 2.0     BSD License *
                                             MPL 1.1 & EPL 1.0




                                                                 21
Persistence Side (SQL)

    Isolation problem with Database
          Insert-Delete Problem




                                      22
Persistence Side (SQL)

    Isolation problem with Database
          Insert-Delete Problem


               GNU LGPL 2.1




                                      22
Persistence Side (SQL)

    Isolation problem with Database
          Insert-Delete Problem


               GNU LGPL 2.1



         Define base data set




                                      22
Persistence Side (SQL)

          Isolation problem with Database
                Insert-Delete Problem


                     GNU LGPL 2.1



               Define base data set

@Before

DatabaseOperation.CLEAN_INSERT.execute(connection,
dataSet);
                                                 22
Persistence Side (NoSQL)




                           23
Persistence Side (NoSQL)


 GNU AGPL v3.0




        No Embedded (in-memory) Mode
        (SERVER - 1153)
        No Test Isolation Framework




                                       24
Persistence Side (NoSQL)


GPL v3 & AGPL v3




            Embedded (in-memory) Mode
            Partially supported




                                        25
Persistence Side (NoSQL)

  DBUnit for NOSQL
                      Apache License 2.0




                                           26
Persistence Side (NoSQL)

  DBUnit for NOSQL

    MongoDb
                      Apache License 2.0




    Neo4J

    CouchDb

    Cassandra



                                           26
Demo




       27
Integration Tests

  Test Collaboration Between Components




                                          28
Integration Tests

  Test Collaboration Between Components

     Database
     IO system
     Special Environment Configuration




                                          28
Integration Tests

  Common Problems in JEE 6

     CDI - @EJB, @Inject, @PersistenceContext




                                            29
Integration Tests

  Common Problems in JEE 6

     CDI - @EJB, @Inject, @PersistenceContext



     Container Lifecyle Management

     Create Deployment Archive


                                            29
Integration Tests

  Common Problems in JEE 6




                       k
                    oc
     CDI - @EJB, @Inject, @PersistenceContext




                   M
                T
     Container Lifecyle Management
           NO

     Create Deployment Archive
      Do



                                            29
Integration Tests

Arquillian brings tests to runtime

      Manage Lifecycle of Container     Apache License 2.0




  Create/Deploy MicroDeployments

              Enriching Test Classes

Run Tests Inside/Against Container

                         IDE Friendly
                                                    30
Integration Tests

Arquillian brings tests to runtime


                               ks
      Manage Lifecycle of Container
                             c
                                        Apache License 2.0




                         o
                      M Classes
 Create/Deploy MicroDeployments

             o  r e
              Enriching Test

     o   M
  N
Run Tests Inside/Against Container

                         IDE Friendly
                                                    30
Integration tests




                    31
Integration tests




                    31
Integration tests




                    31
Integration tests




                    31
Integration tests




                    31
Integration tests




                    31
Demo




       32
Acceptance Tests

  Test Customer Requirements




                               33
Acceptance Tests

  User Story

     everyday language sentence

     adds business values




                                  34
Acceptance Tests

  User Story

     everyday language sentence

     adds business values

  As administrator, I want to add new books
  to a collection, so users can borrow them



                                              34
Acceptance Tests

  Acceptance Criteria

     story completeness




                          35
Acceptance Tests

  Acceptance Criteria

      story completeness



Administrator can add new books.
Administrator can categorise books.
User can borrow books added by administrator.

                                                35
Acceptance Tests

     Concrete Examples

1. Create Lord of the Rings
Book.

2. Assign J.R.R Tolkien as
author.

3. Set Book Description.

4. Add Book to System.

5. Check that Book is shown
in screen.



                              36
Acceptance Tests




                   37
Acceptance Tests

  JEE UI is Web

     How to access to web elements




                                     37
Acceptance Tests

  JEE UI is Web

     How to access to web elements


  AT categorised by user stories

     How to organize user stories and specs



                                         37
Acceptance Tests

  Thucydides
                   Apache License 2.0




                                        38
Acceptance Tests

  Thucydides

     Selenium 2 Extension
                            Apache License 2.0




                                                 38
Acceptance Tests

  Thucydides

     Selenium 2 Extension
                                  Apache License 2.0




     Organise tests and stories




                                                       38
Acceptance Tests

  Thucydides

     Selenium 2 Extension
                                    Apache License 2.0




     Organise tests and stories

     Record/Report test execution




                                                         38
Acceptance Tests

  Thucydides

     Selenium 2 Extension
                                    Apache License 2.0




     Organise tests and stories

     Record/Report test execution

     Measure Functional Cover


                                                         38
Acceptance Tests


    Choose a user story




                          39
Acceptance Tests


    Choose a user story

      Implement PageObject/s




                               39
Acceptance Tests


    Choose a user story

      Implement PageObject/s

         Implement Test Step Library




                                       39
Acceptance Tests


    Choose a user story

      Implement PageObject/s

         Implement Test Step Library

            Implement User Story following A.C




                                                 39
Demo




       40
Continuous Integration

  Different Kind of Tests Exist




                                  41
Continuous Integration

  Different Kind of Tests Exist

     Only Unit tests are run by developers




                                             41
Continuous Integration

  Different Kind of Tests Exist

     Only Unit tests are run by developers
     Continuous Integration System




                                             41
Continuous Integration

  Provides CI services

     Build Jobs are Tasks

                            MIT License




                                          42
Continuous Integration

  Build Pipeline Plugin




                          43
Continuous Integration

  Build Pipeline Plugin

     Create chains of build jobs.




                                    43
Continuous Integration

  Build Pipeline Plugin

     Create chains of build jobs.




                                    43
Last Note


    No Time No Tests




                       44
Last Note


    No Time No Tests

      Fix an error during Production Time




                                            44
Last Note


    No Time No Tests

      Fix an error during Production Time
    Continuous Delivery




                                            44
Thanks




         45
Questions



                                               Questions ?




How many nights I prayed for this, to let my work begin First we take Manhattan, then we take Berlin - Leonard Cohen
                                                                                                                  46
Questions



                                               Questions ?

                                                                    Alex Soto Bueno

                                                                    asotobu@gmail.com
                                                                    www.lordofthejars.com
                                                                    @alexsotob
How many nights I prayed for this, to let my work begin First we take Manhattan, then we take Berlin - Leonard Cohen
                                                                                                                  46
Credits
http://www.flickr.com/photos/55182004@N04/5518854399/sizes/o/in/photostream/

http://www.flickr.com/photos/wildlifewanderer/6133286089/sizes/o/in/photostream/

http://www.flickr.com/photos/luccawithcheese/3180399980/sizes/o/in/photostream/

http://www.flickr.com/photos/wildlifewanderer/6133286089/sizes/o/in/photostream/

http://www.flickr.com/photos/joachim_s_mueller/6913623388/sizes/o/in/photostream/

http://www.flickr.com/photos/dieselpower83/7078627097/sizes/o/in/pool-62802336@N00/

http://www.flickr.com/photos/soyignatius/2476388983/sizes/o/in/photostream/

http://www.flickr.com/photos/flatbushgardener/440319534/

http://www.flickr.com/photos/justinwkern/3597152639/

http://www.flickr.com/photos/tolgasoran/5154570906/

http://www.flickr.com/photos/pennuja/5363515039/

http://www.flickr.com/photos/350org/5069209808/sizes/o/in/photostream/

http://www.flickr.com/photos/lliurealbir/3484066523/sizes/o/in/photostream/

http://www.flickr.com/photos/windsordi/3467758700/sizes/o/in/photostream/




                                                                                     47
How to Test Enterprise Java Applications
Alex Soto Bueno
Computer Engineer

Weitere ähnliche Inhalte

Was ist angesagt?

Python + GDB = Javaデバッガ
Python + GDB = JavaデバッガPython + GDB = Javaデバッガ
Python + GDB = JavaデバッガKenji Kazumura
 
50 new features of Java EE 7 in 50 minutes
50 new features of Java EE 7 in 50 minutes50 new features of Java EE 7 in 50 minutes
50 new features of Java EE 7 in 50 minutesAntonio Goncalves
 
Gradle - time for another build
Gradle - time for another buildGradle - time for another build
Gradle - time for another buildIgor Khotin
 
Making Exceptions on Exception Handling (WEH 2012 Keynote Speech)
Making Exceptions on  Exception Handling (WEH 2012 Keynote Speech)Making Exceptions on  Exception Handling (WEH 2012 Keynote Speech)
Making Exceptions on Exception Handling (WEH 2012 Keynote Speech)Tao Xie
 
In the Brain of Hans Dockter: Gradle
In the Brain of Hans Dockter: GradleIn the Brain of Hans Dockter: Gradle
In the Brain of Hans Dockter: GradleSkills Matter
 
Hierarchy Viewer Internals
Hierarchy Viewer InternalsHierarchy Viewer Internals
Hierarchy Viewer InternalsKyungmin Lee
 
Conf soat tests_unitaires_Mockito_jUnit_170113
Conf soat tests_unitaires_Mockito_jUnit_170113Conf soat tests_unitaires_Mockito_jUnit_170113
Conf soat tests_unitaires_Mockito_jUnit_170113SOAT
 
OSGi-enabled Java EE Applications using GlassFish
OSGi-enabled Java EE Applications using GlassFishOSGi-enabled Java EE Applications using GlassFish
OSGi-enabled Java EE Applications using GlassFishArun Gupta
 
5050 dev nation
5050 dev nation5050 dev nation
5050 dev nationArun Gupta
 
Using Grails to power your electric car
Using Grails to power your electric carUsing Grails to power your electric car
Using Grails to power your electric carMarco Pas
 
Defcon_Oracle_The_Making_of_the_2nd_sql_injection_worm
Defcon_Oracle_The_Making_of_the_2nd_sql_injection_wormDefcon_Oracle_The_Making_of_the_2nd_sql_injection_worm
Defcon_Oracle_The_Making_of_the_2nd_sql_injection_wormguest785f78
 
Gradle talk, Javarsovia 2010
Gradle talk, Javarsovia 2010Gradle talk, Javarsovia 2010
Gradle talk, Javarsovia 2010Tomek Kaczanowski
 
Resilence patterns kr
Resilence patterns krResilence patterns kr
Resilence patterns krJisung Ahn
 
Vaadin7 modern-web-apps-in-java
Vaadin7 modern-web-apps-in-javaVaadin7 modern-web-apps-in-java
Vaadin7 modern-web-apps-in-javaJoonas Lehtinen
 
Jggug ws 15th LT 20110224
Jggug ws 15th LT 20110224Jggug ws 15th LT 20110224
Jggug ws 15th LT 20110224Uehara Junji
 
Pure Java RAD and Scaffolding Tools Race
Pure Java RAD and Scaffolding Tools RacePure Java RAD and Scaffolding Tools Race
Pure Java RAD and Scaffolding Tools RaceBaruch Sadogursky
 

Was ist angesagt? (20)

Python + GDB = Javaデバッガ
Python + GDB = JavaデバッガPython + GDB = Javaデバッガ
Python + GDB = Javaデバッガ
 
Java On Speed
Java On SpeedJava On Speed
Java On Speed
 
50 new features of Java EE 7 in 50 minutes
50 new features of Java EE 7 in 50 minutes50 new features of Java EE 7 in 50 minutes
50 new features of Java EE 7 in 50 minutes
 
Gradle - time for another build
Gradle - time for another buildGradle - time for another build
Gradle - time for another build
 
Keynote HotSWUp 2012
Keynote HotSWUp 2012Keynote HotSWUp 2012
Keynote HotSWUp 2012
 
Making Exceptions on Exception Handling (WEH 2012 Keynote Speech)
Making Exceptions on  Exception Handling (WEH 2012 Keynote Speech)Making Exceptions on  Exception Handling (WEH 2012 Keynote Speech)
Making Exceptions on Exception Handling (WEH 2012 Keynote Speech)
 
In the Brain of Hans Dockter: Gradle
In the Brain of Hans Dockter: GradleIn the Brain of Hans Dockter: Gradle
In the Brain of Hans Dockter: Gradle
 
Hierarchy Viewer Internals
Hierarchy Viewer InternalsHierarchy Viewer Internals
Hierarchy Viewer Internals
 
Conf soat tests_unitaires_Mockito_jUnit_170113
Conf soat tests_unitaires_Mockito_jUnit_170113Conf soat tests_unitaires_Mockito_jUnit_170113
Conf soat tests_unitaires_Mockito_jUnit_170113
 
OSGi-enabled Java EE Applications using GlassFish
OSGi-enabled Java EE Applications using GlassFishOSGi-enabled Java EE Applications using GlassFish
OSGi-enabled Java EE Applications using GlassFish
 
5050 dev nation
5050 dev nation5050 dev nation
5050 dev nation
 
Using Grails to power your electric car
Using Grails to power your electric carUsing Grails to power your electric car
Using Grails to power your electric car
 
Qt Network Explained (Portuguese)
Qt Network Explained (Portuguese)Qt Network Explained (Portuguese)
Qt Network Explained (Portuguese)
 
Defcon_Oracle_The_Making_of_the_2nd_sql_injection_worm
Defcon_Oracle_The_Making_of_the_2nd_sql_injection_wormDefcon_Oracle_The_Making_of_the_2nd_sql_injection_worm
Defcon_Oracle_The_Making_of_the_2nd_sql_injection_worm
 
Gradle talk, Javarsovia 2010
Gradle talk, Javarsovia 2010Gradle talk, Javarsovia 2010
Gradle talk, Javarsovia 2010
 
Resilence patterns kr
Resilence patterns krResilence patterns kr
Resilence patterns kr
 
Vaadin7 modern-web-apps-in-java
Vaadin7 modern-web-apps-in-javaVaadin7 modern-web-apps-in-java
Vaadin7 modern-web-apps-in-java
 
Jggug ws 15th LT 20110224
Jggug ws 15th LT 20110224Jggug ws 15th LT 20110224
Jggug ws 15th LT 20110224
 
Pure Java RAD and Scaffolding Tools Race
Pure Java RAD and Scaffolding Tools RacePure Java RAD and Scaffolding Tools Race
Pure Java RAD and Scaffolding Tools Race
 
De Java 8 a Java 17
De Java 8 a Java 17De Java 8 a Java 17
De Java 8 a Java 17
 

Andere mochten auch

Resistance is futile mocks will be assimilated
Resistance is futile mocks will be assimilatedResistance is futile mocks will be assimilated
Resistance is futile mocks will be assimilatedAlex Soto
 
03. empaquetado de aplicaciones jee
03. empaquetado de aplicaciones jee03. empaquetado de aplicaciones jee
03. empaquetado de aplicaciones jeeyennylou
 
Mocks, Stubs and Fakes. ¿What Else?
Mocks, Stubs and Fakes. ¿What Else?Mocks, Stubs and Fakes. ¿What Else?
Mocks, Stubs and Fakes. ¿What Else?Alex Soto
 
Testing Polyglot Persistence Done Right
Testing Polyglot Persistence Done RightTesting Polyglot Persistence Done Right
Testing Polyglot Persistence Done RightAlex Soto
 
Arquillian - Integration Testing Made Easy
Arquillian - Integration Testing Made EasyArquillian - Integration Testing Made Easy
Arquillian - Integration Testing Made EasyJBUG London
 
Desarrollo de pruebas en entornos Java EE
Desarrollo de pruebas en entornos Java EEDesarrollo de pruebas en entornos Java EE
Desarrollo de pruebas en entornos Java EEJosé Manuel López
 
Jenkins Docker
Jenkins DockerJenkins Docker
Jenkins DockerAlex Soto
 
Tomcat y Java EE con TomEE {y mucho más}
Tomcat y Java EE con TomEE {y mucho más}Tomcat y Java EE con TomEE {y mucho más}
Tomcat y Java EE con TomEE {y mucho más}Alex Soto
 
Tablet types and Excipients
Tablet  types and ExcipientsTablet  types and Excipients
Tablet types and ExcipientsKomal Haleem
 
Pharmaceutical excipients
Pharmaceutical excipients Pharmaceutical excipients
Pharmaceutical excipients Nahid Hasan
 

Andere mochten auch (11)

Resistance is futile mocks will be assimilated
Resistance is futile mocks will be assimilatedResistance is futile mocks will be assimilated
Resistance is futile mocks will be assimilated
 
03. empaquetado de aplicaciones jee
03. empaquetado de aplicaciones jee03. empaquetado de aplicaciones jee
03. empaquetado de aplicaciones jee
 
Mocks, Stubs and Fakes. ¿What Else?
Mocks, Stubs and Fakes. ¿What Else?Mocks, Stubs and Fakes. ¿What Else?
Mocks, Stubs and Fakes. ¿What Else?
 
Testing Polyglot Persistence Done Right
Testing Polyglot Persistence Done RightTesting Polyglot Persistence Done Right
Testing Polyglot Persistence Done Right
 
Arquillian - Integration Testing Made Easy
Arquillian - Integration Testing Made EasyArquillian - Integration Testing Made Easy
Arquillian - Integration Testing Made Easy
 
Desarrollo de pruebas en entornos Java EE
Desarrollo de pruebas en entornos Java EEDesarrollo de pruebas en entornos Java EE
Desarrollo de pruebas en entornos Java EE
 
Jenkins Docker
Jenkins DockerJenkins Docker
Jenkins Docker
 
Tomcat y Java EE con TomEE {y mucho más}
Tomcat y Java EE con TomEE {y mucho más}Tomcat y Java EE con TomEE {y mucho más}
Tomcat y Java EE con TomEE {y mucho más}
 
Types of tablets
Types of tabletsTypes of tablets
Types of tablets
 
Tablet types and Excipients
Tablet  types and ExcipientsTablet  types and Excipients
Tablet types and Excipients
 
Pharmaceutical excipients
Pharmaceutical excipients Pharmaceutical excipients
Pharmaceutical excipients
 

Ähnlich wie How to Test Enterprise Java Applications

Apache Tomcat 7 by Filip Hanik
Apache Tomcat 7 by Filip HanikApache Tomcat 7 by Filip Hanik
Apache Tomcat 7 by Filip HanikEdgar Espina
 
Parsing and Type checking all 2^10000 configurations of the Linux kernel
Parsing and Type checking all 2^10000 configurations of the Linux kernelParsing and Type checking all 2^10000 configurations of the Linux kernel
Parsing and Type checking all 2^10000 configurations of the Linux kernelchk49
 
Resilience Testing
Resilience Testing Resilience Testing
Resilience Testing Ran Levy
 
Squeak DBX
Squeak DBXSqueak DBX
Squeak DBXESUG
 
How to upgrade to MongoDB 4.0 - Percona Europe 2018
How to upgrade to MongoDB 4.0 - Percona Europe 2018How to upgrade to MongoDB 4.0 - Percona Europe 2018
How to upgrade to MongoDB 4.0 - Percona Europe 2018Antonios Giannopoulos
 
Update from android kk to android l
Update from android kk to android lUpdate from android kk to android l
Update from android kk to android lBin Yang
 
점진적인 레거시 웹 애플리케이션 개선 과정
점진적인 레거시 웹 애플리케이션 개선 과정점진적인 레거시 웹 애플리케이션 개선 과정
점진적인 레거시 웹 애플리케이션 개선 과정Arawn Park
 
VMworld 2013: Virtualizing and Tuning Large Scale Java Platforms
VMworld 2013: Virtualizing and Tuning Large Scale Java Platforms VMworld 2013: Virtualizing and Tuning Large Scale Java Platforms
VMworld 2013: Virtualizing and Tuning Large Scale Java Platforms VMworld
 
Java EE 7 in practise - OTN Hyderabad 2014
Java EE 7 in practise - OTN Hyderabad 2014Java EE 7 in practise - OTN Hyderabad 2014
Java EE 7 in practise - OTN Hyderabad 2014Jagadish Prasath
 
Madrid JAM limitaciones - dificultades
Madrid JAM limitaciones - dificultadesMadrid JAM limitaciones - dificultades
Madrid JAM limitaciones - dificultadesJavier Delgado Garrido
 
GeeCON 2017 - TestContainers. Integration testing without the hassle
GeeCON 2017 - TestContainers. Integration testing without the hassleGeeCON 2017 - TestContainers. Integration testing without the hassle
GeeCON 2017 - TestContainers. Integration testing without the hassleAnton Arhipov
 
Isomorphic JavaScript with Nashorn
Isomorphic JavaScript with NashornIsomorphic JavaScript with Nashorn
Isomorphic JavaScript with NashornMaxime Najim
 
A Look into the Mirror: Patterns and Best Practices for MirrorMaker2 | Cliff ...
A Look into the Mirror: Patterns and Best Practices for MirrorMaker2 | Cliff ...A Look into the Mirror: Patterns and Best Practices for MirrorMaker2 | Cliff ...
A Look into the Mirror: Patterns and Best Practices for MirrorMaker2 | Cliff ...HostedbyConfluent
 
Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...
Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...
Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...Joonas Lehtinen
 
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogicRakuten Group, Inc.
 
Android RenderScript on LLVM
Android RenderScript on LLVMAndroid RenderScript on LLVM
Android RenderScript on LLVMJohn Lee
 
InduSoft VBScript Webinar
 InduSoft VBScript Webinar InduSoft VBScript Webinar
InduSoft VBScript WebinarAVEVA
 

Ähnlich wie How to Test Enterprise Java Applications (20)

Apache Tomcat 7 by Filip Hanik
Apache Tomcat 7 by Filip HanikApache Tomcat 7 by Filip Hanik
Apache Tomcat 7 by Filip Hanik
 
Parsing and Type checking all 2^10000 configurations of the Linux kernel
Parsing and Type checking all 2^10000 configurations of the Linux kernelParsing and Type checking all 2^10000 configurations of the Linux kernel
Parsing and Type checking all 2^10000 configurations of the Linux kernel
 
Resilience Testing
Resilience Testing Resilience Testing
Resilience Testing
 
Squeak DBX
Squeak DBXSqueak DBX
Squeak DBX
 
How to upgrade to MongoDB 4.0 - Percona Europe 2018
How to upgrade to MongoDB 4.0 - Percona Europe 2018How to upgrade to MongoDB 4.0 - Percona Europe 2018
How to upgrade to MongoDB 4.0 - Percona Europe 2018
 
Update from android kk to android l
Update from android kk to android lUpdate from android kk to android l
Update from android kk to android l
 
From Code to Kubernetes
From Code to KubernetesFrom Code to Kubernetes
From Code to Kubernetes
 
점진적인 레거시 웹 애플리케이션 개선 과정
점진적인 레거시 웹 애플리케이션 개선 과정점진적인 레거시 웹 애플리케이션 개선 과정
점진적인 레거시 웹 애플리케이션 개선 과정
 
VMworld 2013: Virtualizing and Tuning Large Scale Java Platforms
VMworld 2013: Virtualizing and Tuning Large Scale Java Platforms VMworld 2013: Virtualizing and Tuning Large Scale Java Platforms
VMworld 2013: Virtualizing and Tuning Large Scale Java Platforms
 
Java EE 7 in practise - OTN Hyderabad 2014
Java EE 7 in practise - OTN Hyderabad 2014Java EE 7 in practise - OTN Hyderabad 2014
Java EE 7 in practise - OTN Hyderabad 2014
 
Madrid JAM limitaciones - dificultades
Madrid JAM limitaciones - dificultadesMadrid JAM limitaciones - dificultades
Madrid JAM limitaciones - dificultades
 
AKS: k8s e azure
AKS: k8s e azureAKS: k8s e azure
AKS: k8s e azure
 
GlassFish v3 : En Route Java EE 6
GlassFish v3 : En Route Java EE 6GlassFish v3 : En Route Java EE 6
GlassFish v3 : En Route Java EE 6
 
GeeCON 2017 - TestContainers. Integration testing without the hassle
GeeCON 2017 - TestContainers. Integration testing without the hassleGeeCON 2017 - TestContainers. Integration testing without the hassle
GeeCON 2017 - TestContainers. Integration testing without the hassle
 
Isomorphic JavaScript with Nashorn
Isomorphic JavaScript with NashornIsomorphic JavaScript with Nashorn
Isomorphic JavaScript with Nashorn
 
A Look into the Mirror: Patterns and Best Practices for MirrorMaker2 | Cliff ...
A Look into the Mirror: Patterns and Best Practices for MirrorMaker2 | Cliff ...A Look into the Mirror: Patterns and Best Practices for MirrorMaker2 | Cliff ...
A Look into the Mirror: Patterns and Best Practices for MirrorMaker2 | Cliff ...
 
Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...
Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...
Vaadin - Rich Web Applications in Server-side Java without Plug-ins or JavaSc...
 
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
[Rakuten TechConf2014] [C-5] Ichiba Architecture on ExaLogic
 
Android RenderScript on LLVM
Android RenderScript on LLVMAndroid RenderScript on LLVM
Android RenderScript on LLVM
 
InduSoft VBScript Webinar
 InduSoft VBScript Webinar InduSoft VBScript Webinar
InduSoft VBScript Webinar
 

Mehr von Alex Soto

Kubernetes Native Java
Kubernetes Native JavaKubernetes Native Java
Kubernetes Native JavaAlex Soto
 
Reactive Programming for Real Use Cases
Reactive Programming for Real Use CasesReactive Programming for Real Use Cases
Reactive Programming for Real Use CasesAlex Soto
 
Chaos Engineering Kubernetes
Chaos Engineering KubernetesChaos Engineering Kubernetes
Chaos Engineering KubernetesAlex Soto
 
Chaos Engineering Kubernetes
Chaos Engineering KubernetesChaos Engineering Kubernetes
Chaos Engineering KubernetesAlex Soto
 
Microservices testing and automation
Microservices testing and automationMicroservices testing and automation
Microservices testing and automationAlex Soto
 
Testing in Production: From DevTestOops to DevTestOps
Testing in Production: From DevTestOops to DevTestOpsTesting in Production: From DevTestOops to DevTestOps
Testing in Production: From DevTestOops to DevTestOpsAlex Soto
 
Supersonic Subatomic Java
Supersonic Subatomic JavaSupersonic Subatomic Java
Supersonic Subatomic JavaAlex Soto
 
From DevTestOops to DevTestOps
From DevTestOops to DevTestOpsFrom DevTestOops to DevTestOps
From DevTestOops to DevTestOpsAlex Soto
 
Istio service mesh & pragmatic microservices architecture
Istio service mesh & pragmatic microservices architectureIstio service mesh & pragmatic microservices architecture
Istio service mesh & pragmatic microservices architectureAlex Soto
 
Zero Downtime Deployment in Microservices era
Zero Downtime Deployment in Microservices eraZero Downtime Deployment in Microservices era
Zero Downtime Deployment in Microservices eraAlex Soto
 
Service Mesh Patterns
Service Mesh PatternsService Mesh Patterns
Service Mesh PatternsAlex Soto
 
Supersonic, Subatomic Java
Supersonic, Subatomic JavaSupersonic, Subatomic Java
Supersonic, Subatomic JavaAlex Soto
 
Zero Downtime Deployment in Microservices era
Zero Downtime Deployment in Microservices eraZero Downtime Deployment in Microservices era
Zero Downtime Deployment in Microservices eraAlex Soto
 
Long Live and Prosper To Monolith
Long Live and Prosper To MonolithLong Live and Prosper To Monolith
Long Live and Prosper To MonolithAlex Soto
 
Sail in the cloud - An intro to Istio commit
Sail in the cloud - An intro to Istio commitSail in the cloud - An intro to Istio commit
Sail in the cloud - An intro to Istio commitAlex Soto
 
KubeBoot - Spring Boot deployment on Kubernetes
KubeBoot - Spring Boot deployment on KubernetesKubeBoot - Spring Boot deployment on Kubernetes
KubeBoot - Spring Boot deployment on KubernetesAlex Soto
 
Sail in the Cloud - An intro to Istio
Sail in the Cloud  - An intro to IstioSail in the Cloud  - An intro to Istio
Sail in the Cloud - An intro to IstioAlex Soto
 
Testing XXIst Century
Testing XXIst CenturyTesting XXIst Century
Testing XXIst CenturyAlex Soto
 
Arquillian Constellation
Arquillian ConstellationArquillian Constellation
Arquillian ConstellationAlex Soto
 
Testing for Unicorns
Testing for UnicornsTesting for Unicorns
Testing for UnicornsAlex Soto
 

Mehr von Alex Soto (20)

Kubernetes Native Java
Kubernetes Native JavaKubernetes Native Java
Kubernetes Native Java
 
Reactive Programming for Real Use Cases
Reactive Programming for Real Use CasesReactive Programming for Real Use Cases
Reactive Programming for Real Use Cases
 
Chaos Engineering Kubernetes
Chaos Engineering KubernetesChaos Engineering Kubernetes
Chaos Engineering Kubernetes
 
Chaos Engineering Kubernetes
Chaos Engineering KubernetesChaos Engineering Kubernetes
Chaos Engineering Kubernetes
 
Microservices testing and automation
Microservices testing and automationMicroservices testing and automation
Microservices testing and automation
 
Testing in Production: From DevTestOops to DevTestOps
Testing in Production: From DevTestOops to DevTestOpsTesting in Production: From DevTestOops to DevTestOps
Testing in Production: From DevTestOops to DevTestOps
 
Supersonic Subatomic Java
Supersonic Subatomic JavaSupersonic Subatomic Java
Supersonic Subatomic Java
 
From DevTestOops to DevTestOps
From DevTestOops to DevTestOpsFrom DevTestOops to DevTestOps
From DevTestOops to DevTestOps
 
Istio service mesh & pragmatic microservices architecture
Istio service mesh & pragmatic microservices architectureIstio service mesh & pragmatic microservices architecture
Istio service mesh & pragmatic microservices architecture
 
Zero Downtime Deployment in Microservices era
Zero Downtime Deployment in Microservices eraZero Downtime Deployment in Microservices era
Zero Downtime Deployment in Microservices era
 
Service Mesh Patterns
Service Mesh PatternsService Mesh Patterns
Service Mesh Patterns
 
Supersonic, Subatomic Java
Supersonic, Subatomic JavaSupersonic, Subatomic Java
Supersonic, Subatomic Java
 
Zero Downtime Deployment in Microservices era
Zero Downtime Deployment in Microservices eraZero Downtime Deployment in Microservices era
Zero Downtime Deployment in Microservices era
 
Long Live and Prosper To Monolith
Long Live and Prosper To MonolithLong Live and Prosper To Monolith
Long Live and Prosper To Monolith
 
Sail in the cloud - An intro to Istio commit
Sail in the cloud - An intro to Istio commitSail in the cloud - An intro to Istio commit
Sail in the cloud - An intro to Istio commit
 
KubeBoot - Spring Boot deployment on Kubernetes
KubeBoot - Spring Boot deployment on KubernetesKubeBoot - Spring Boot deployment on Kubernetes
KubeBoot - Spring Boot deployment on Kubernetes
 
Sail in the Cloud - An intro to Istio
Sail in the Cloud  - An intro to IstioSail in the Cloud  - An intro to Istio
Sail in the Cloud - An intro to Istio
 
Testing XXIst Century
Testing XXIst CenturyTesting XXIst Century
Testing XXIst Century
 
Arquillian Constellation
Arquillian ConstellationArquillian Constellation
Arquillian Constellation
 
Testing for Unicorns
Testing for UnicornsTesting for Unicorns
Testing for Unicorns
 

Kürzlich hochgeladen

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 

Kürzlich hochgeladen (20)

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 

How to Test Enterprise Java Applications

Hinweis der Redaktion

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n
  89. \n
  90. \n
  91. \n
  92. \n
  93. \n
  94. \n
  95. \n
  96. \n
  97. \n
  98. \n
  99. \n
  100. \n
  101. \n
  102. \n
  103. \n
  104. \n
  105. \n
  106. \n
  107. \n
  108. \n