SlideShare a Scribd company logo
1 of 74
Integration Testing
How-to
Nicolas
Fränkel
März 2015
2https://leanpub.com/integrationtest
Me, myself and I
Developer & Architect as consultant
Wide range of businesses & customers
Teacher & Trainer
Speaker
Blogger
http://blog.frankel.ch/
http://morevaadin.com/
3https://leanpub.com/integrationtest
Also an author
4https://leanpub.com/integrationtest
hybris employee
E-commerce company
Rocks
Sends employees to Oktoberfest
5https://leanpub.com/integrationtest
Plan
Integration Testing
What is that?
Challenges
Solution hints
Testing with resource dependencies
Database
Web Services
Testing In-container
Spring & Spring MVC
JavaEE
Basics
7https://leanpub.com/integrationtest
There are many different kinds of testing
Unit Testing
Mutation Testing
GUI Testing
Performance Testing
Load Testing
Stress Testing
Endurance Testing
Security Testing
etc.
8https://leanpub.com/integrationtest
Unit Testing vs. Integration Testing
Unit Testing
Testing a unit in isolation
Integration Testing
Testing the collaboration of
multiple units
"Savatefouettéfigure1"byDaniel-PhotoDaniel.
9https://leanpub.com/integrationtest
A concrete example
Let’s take an example
A prototype car
"2011NissanLeafWAS20111040"byMariordoMarioRobertoDuranOrtiz-Ownwork
10https://leanpub.com/integrationtest
Unit Testing
Akin to testing each nut
and bolt separately
11https://leanpub.com/integrationtest
Integration Testing
Akin to going on a test
drive
"URE05e"byMarvinRaaijmakers-Ownwork.
12https://leanpub.com/integrationtest
Unit Testing + Integration Testing
Approaches are not
exclusive but
complementary
Would you take a prototype
car on test drive without
having tested only nuts and
bolts?
Would you manufacture a car
from a prototype having only
tested nuts and bolts but
without having tested it on
numerous test drives?
13https://leanpub.com/integrationtest
System Under Test
The SUT is what get
tested
Techniques from Unit
Testing can be re-used
Dependency Injection
Test doubles
14https://leanpub.com/integrationtest
Testing is about ROI
The larger the SUT
The more fragile the test
The less maintainable the test
The less the ROI
Thus, tests have to be
organized in a pyramidal
way
The bigger the SUT
The less the number of tests
Integration Testing
Test standard cases
Generally not error cases
http://martinfowler.com/bliki/TestPyramid.html
15https://leanpub.com/integrationtest
Integration Testing Challenges
Brittle
Dependent on external
resources
 Database(s)
 etc.
Slow
Dependent on external
resources
Hard to diagnose
16https://leanpub.com/integrationtest
How to cope
Separate Integration
Tests from Unit Tests
Fake required
infrastructure resources
Test in-container
17https://leanpub.com/integrationtest
But IT are still slow?!
Separating UT & IT
doesn’t make IT run
faster
But you can uncover
errors from UT faster
Fail Fast
It will speed testing
"Gepardjagt2(Acinonyxjubatus)"byMaleneThyssen-Ownwork.
18https://leanpub.com/integrationtest
Integration Testing and build
Available tools
Ant
Maven
Gradle
etc.
NewDevelopmentRecentlyFinishedonBristol'sCityCentrebyBrizzleboy
19https://leanpub.com/integrationtest
Maven lifecycle
…
compile
…
test
…
pre-integration-test
integration-test
post-integration-test
verify
…
20https://leanpub.com/integrationtest
Reminder on Surefire
Bound to the test phase
Runs by default
*Test
Test*
*TestCase
21https://leanpub.com/integrationtest
Failsafe
“Copy” of Surefire
Different defaults
*IT
IT*
*ITCase
One goal per lifecycle
phase
pre-integration-test
integration-test
post-integration-test
verify
Must be bound explicitly
22https://leanpub.com/integrationtest
Binding Failsafe - sample
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.17</version>
<executions>
<execution>
<id>integration-test</id>
<goals>
<goal>integration-test</goal>
</goals>
<phase>integration-test</phase>
</execution>
<execution>
<id>verify</id>
<goals>
<goal>verify</goal>
</goals>
<phase>verify</phase>
</execution>
</executions>
</plugin>
23https://leanpub.com/integrationtest
Continuous Integration
Needs a build configured
Suggestions
Unit Tests run at each commit
Integration Tests run “regularly”
 Daily
 Hourly
 Depending on the context
Infrastructure dependencies
25https://leanpub.com/integrationtest
Infrastructure dependencies
Database
Filesystem
Time
Message Oriented
Middleware
Mail server
FTP server
etc.
26https://leanpub.com/integrationtest
Mocks and infrastructure dependencies
To test your Service
Mock your DAO/repository
 Mockito
To test your DAO/repository
Mock your database???
27https://leanpub.com/integrationtest
Simple database use-case
Oracle database
Use an in-memory datasource
and hope for the best
Use Oracle Express and hope
for the best
Use a dedicated remote
schema for each developer
 And your DBAs will hate you
28https://leanpub.com/integrationtest
Reducing database gap risk
In-memory databases are easy to
setup
h2 is such a database
(successor of HSQL)
Compatibility modes for most
widespread DB
 jdbc:h2:mem:test;MODE=Oracle
29https://leanpub.com/integrationtest
Integration Testing with Web Services
Web Services also are an
infrastructure resource
Hosted on-site
Or outside
Different Web Services
types have different
solutions
RESTful
SOAP
30https://leanpub.com/integrationtest
Faking RESTful WS
Require an HTTP server
Requirements
Easy setup
Standalone
Embeddable in tests
Spring MVC?
Requires a servlet container
 (Not with Spring Boot)
Some code to write
Author:DwightSiplerfromStow,MA,USA
31https://leanpub.com/integrationtest
Spark to the rescue
Micro web framework
A la Sinatra
http://www.sparkjava.com/
Very few lines of code
Just wire to serve JSON files
32https://leanpub.com/integrationtest
Spark sample
import static spark.Spark.*;
import spark.*;
public class SparkSample{
public static void main(String[] args) {
setPort(5678);
get("/hello", (request, response) -> {
return "Hello World!";
});
get("/users/:name", (request, response) -> {
return "User: " + request.params(":name");
});
get("/private", (request, response) -> {
response.status(401);
return "Go Away!!!";
});
}
}
33https://leanpub.com/integrationtest
Faking SOAP web service
Possible to use Spark for SOAP
But unwieldy
34https://leanpub.com/integrationtest
SOAPUI
SOAPUI is the framework to test SOAP WS
Has a GUI
Good documentation
Understands
 Authentication
 Headers
 Etc.
Can be used to Fake SOAP WS
35https://leanpub.com/integrationtest
SOAPUI usage
Get WSDL
Either online
Or from a file
Create MockService
Craft the adequate response
Run the service
Point the dependency to localhost
36https://leanpub.com/integrationtest
Challenges to the previous scenario
Craft the adequate response?
More likely get one from the real WS
And tweak it
Running in an automated way
Save the project
Get the SOAPUI jar
Read the project and launch
37https://leanpub.com/integrationtest
SOAPUI automation
WsdlProject project = new WsdlProject();
String wsdlFile = "file:src/test/resources/ip2geo.wsdl";
WsdlInterface wsdlInterface =
importWsdl(project, wsdlFile, true)[0];
WsdlMockService fakeService =
project.addNewMockService("fakeService");
WsdlOperation wsdlOp =
wsdlInterface.getOperationByName("ResolveIP");
MockOperation fakeOp =
fakeService.addNewMockOperation(wsdlOp);
MockResponse fakeResponse =
fakeOp.addNewMockResponse("fakeResponse");
fakeResponse.setResponseContent(
"<soapenv:Envelope ...</soapenv:Envelope>");
runner = fakeService.start();
38https://leanpub.com/integrationtest
Faking Web Service in real-life
Use the same rules as for UT
Keep validation simple
Test one thing
 One Assert
 Or a set of related ones
Keep setup simple
Don’t put complex logic
 Don’t put too much logic
 Don’t put logic at all
Duplicate setup in each test
 Up to a point
Author:I,rolfB
In-container Testing
40https://leanpub.com/integrationtest
Upping the ante
Testing collaboration is nice
Faking infrastructure dependencies is nice
But didn’t we forget the most important
dependency?
41https://leanpub.com/integrationtest
The container!
“Proprietary” container
Spring
Application Server
Tomcat
JBoss
<Place your favorite one here>
42https://leanpub.com/integrationtest
Spring
So far, we can test:
Beans which dependencies can be mocked (or not)
 Service
Beans that depend on fake resources
 Repository
What about the configuration?
In Unit Tests, we set dependencies
 The real configuration is not used
 Ergo, not tested!
43https://leanpub.com/integrationtest
Testing configuration
Configuration cannot be monolithic
Break down into fragments
Each fragment contains a set of either
 Real beans
 Fake beans
RudstonMonolithMay2013byAngelaFindlay
44https://leanpub.com/integrationtest
Data source configuration fragment management example
Different configuration
fragments
Production JNDI fragment
Test in-memory fragment
45https://leanpub.com/integrationtest
Data source configuration sample
<beans ...>
<jee:jndi-lookup id="ds" jndi-name="jdbc/MyDS" />
</beans>
<beans ...>
<bean id="ds" class="o.a.t.jdbc.pool.DataSource">
<property name="driverClassName”
value="org.h2.Driver" />
<property name="url" value="jdbc:h2:~/test" />
<property name="username" value="sa" />
<property name="maxActive" value="1" />
</bean>
</beans>
46https://leanpub.com/integrationtest
Fragment structure
1. Main fragment
Repository
Service
etc.
2. Prod DB fragment
3. Test DB fragment
47https://leanpub.com/integrationtest
Tips
Prevent coupling
No fragments reference in fragments
Use top-level assembly instead
 Tests
 Application Context
 Webapps
Pool exhaustion check
Set the maximum number of connections in the
pool to 1
Compile-time safety
Use JavaConfig
Not related to testing 
48https://leanpub.com/integrationtest
And now, how to test?
Get access to both
The entry point
The “end” point
Spring Test to the rescue
Integration with common
Testing frameworks
 JUnit
 TestNG
StLouisGatewayArch1916"byDirkBeyer-Ownwork.
49https://leanpub.com/integrationtest
Favor TestNG
Extra grouping
Per layer
Per use-case
Name your own
Extra lifecycle hooks
Better parameterization
Data Provider
Ordering of test methods
50https://leanpub.com/integrationtest
Spring TestNG integration
AbstractTestNGSpringContextTests
AbstractTransactionalTestNGSpringContextTests
Configurable context fragments
@ContextConfiguration
Inject any bean in the test class
If necessary, applicatonContext member from
superclass
51https://leanpub.com/integrationtest
Sample TestNG test with Spring
@ContextConfiguration(
classes = { MainCfg.class, AnotherCfg.class })
public class OrderIT extends
AbstractTestNGSpringContextTests {
@Autowired
private OrderService orderService;
@Test
public void should_do_this_and_that() {
orderService.order();
Assert.assertThat(...)
}
}
52https://leanpub.com/integrationtest
Testing with the DB (or other transactional resources)
Transactions
Bound to business
functionality
Implemented on Service layer
With DAO
Use explicit transaction
management
@Transactional
53https://leanpub.com/integrationtest
Transaction management tip
Tests fail… sometimes
How to audit state?
By default, Spring rollbacks
transactions
General configuration
@TransactionConfiguration(
defaultRollback = false
)
Can be overridden on a per-
method basis
 @Rollback(true)
54https://leanpub.com/integrationtest
Sample Transaction management
@ContextConfiguration
@TransactionConfiguration(defaultRollback = false)
public class OverrideDefaultRollbackSpringTest extends
AbstractTransactionalTestNGSpringContextTests {
@Test
@Rollback(true)
public void transaction_will_be_rollbacked() { ... }
@Test
public void transaction_wont_be_rollbacked() {
...
}
}
55https://leanpub.com/integrationtest
Spring MVC webapps Testing
Require a context hierachy
Parent as main context
Child as webapp context
@ContextHierarchy
Require a webapp configuration
@WebAppConfiguration
56https://leanpub.com/integrationtest
Spring MVC test sample
@WebAppConfiguration
@ContextHierarchy({
@ContextConfiguration(classes = MainConfig.class),
@ContextConfiguration(classes = WebConfig.class)
})
public class SpringWebApplicationTest
extends AbstractTestNGSpringContextTests {
...
}
57https://leanpub.com/integrationtest
Tools for testing webapps
HTML testing tools
Interact with HTML/CSS
 Fill this field
 Click on that button
HTTP testing tools
 Send HTTP requests
 Get HTTP responses
58https://leanpub.com/integrationtest
Drawback of previous approaches
Very low-level
Fragile!
Remember that testing is
about ROI
 Breaking tests with every
HTML/CSS change is the worst
way to have positive ROI
 (There are mitigation
techniques  out of scope)
Attribution:©MilanNykodym,CzechRepublic
59https://leanpub.com/integrationtest
Drawback of Testing with controllers as entry point
Bypass many URL-
related features
Interceptors
Spring Security
etc.
ControllerSCSI.JPGbyRosco
60https://leanpub.com/integrationtest
Spring Test to the rescue
Spring Test has a large
chunk dedicated to MVC
Since 3.2
Can test with URL as
entry-points
Fluent API with static
imports
CoastguardHelicopter(8016050677)"byPaulLucasfromLeicestershire,UK-CoastguardHelicopter
61https://leanpub.com/integrationtest
Spring MVC Test overview
62https://leanpub.com/integrationtest
MockMvc class responsibilities
Request builder
Configures the Fake request
Request matcher
Misc. assertions
Request handler
Do something
 OOB logger
63https://leanpub.com/integrationtest
Available configuration on Request Builder
HTTP method
GET
POST
etc.
HTTP related stuff
Headers
Parameters
Content
JavaEE related stuff
Request attributes
Session
etc.
64https://leanpub.com/integrationtest
Request Builder sample
MockHttpServletRequestBuilder builder =
get("/customer/{id}", 1234L)
.accept("text/html")
.param("lang", "en")
.secure(true);
GET /customer/1234?lang=en HTTP/1.1
Accept: text/html
65https://leanpub.com/integrationtest
Some matchers
Checks result is a
Forward
 Either exact
 Or regexp
Redirect
 Either exact
 Or regexp
JSON payload
asafetywaxmatchboxandmatchesbyAathavanjaffna
66https://leanpub.com/integrationtest
Some other matchers
Request class
Handler class
Controller
Content class
Cookie class
Status class
HTTP code
Flash class
(Attributes, not the techno)
View class
Model class
"OvejasenPatagonia-Argentina"bywrittecarlosantonio
67https://leanpub.com/integrationtest
The JavaEE world
JavaEE has unique
challenges
CDI has no explicit wiring
 You can @Veto you own
classes
 But no compiled ones
Different application servers
 Same specifications
 Different implementations
68https://leanpub.com/integrationtest
Deploy only what you want
Standalone API to deploy
only resources relevant
to the test
Just pick and choose
Maven Integration
Gradle too…
69https://leanpub.com/integrationtest
Shrinkwrap sample
String srcMainWebapp = "src/main/webapp/";
ShrinkWrap.create(WebArchive.class, "myWar.war")
.addClass(MyService.class)
.addPackage(MyModel.class.getPackage())
.addAsWebInfResource("persistence.xml",
"classes/META-INF/persistence.xml")
.addAsWebInfResource(
new File(srcMainWebapp, "WEB-INF/page/my.jsp"),
"page/my.jsp")
.addAsWebResource(
new File(srcMainWebapp, "script/my.js"),
"script/my.js")
.setWebXML("web.xml");
70https://leanpub.com/integrationtest
Maven integration sample
File[] libs = Maven.resolver()
.loadPomFromFile("pom.xml")
.importDependencies(COMPILE, RUNTIME).resolve()
.withTransitivity().asFile();
ShrinkWrap.create(WebArchive.class, "myWar.war")
.addAsLibraries(libs);
71https://leanpub.com/integrationtest
Different application servers
Abstraction layer to
Download
Deploy applications
Test
Container adapters
TomEE
JBoss
Weld
etc.
Full Maven integration
72https://leanpub.com/integrationtest
Arquillian Test sample
public class ArquillianSampleIT extends Arquillian {
@Inject
private MyService myService;
@Deployment
public static JavaArchive createDeployment() {
return ...;
}
@Test
public void should_handle_service() {
Object value = myService.handle();
Assert.assertThat(...);
}
}
73https://leanpub.com/integrationtest
Arquillian configuration sample
<arquillian xmlns="http://jboss.org/schema/arquillian"
xmlns:xsi="..."
xsi:schemaLocation="
http://jboss.org/schema/arquillian
http://jboss.org/schema/arquillian/arquillian_1_0.xsd">
<container qualifier="tomee" default="true">
<configuration>
<property name="httpPort">-1</property>
<property name="stopPort">-1</property>
</configuration>
</arquillian>
https://leanpub.com/integrationtest
Twitter: @itfromtrenches

More Related Content

What's hot

JNation - Integration Testing from the Trenches Rebooted
JNation - Integration Testing from the Trenches RebootedJNation - Integration Testing from the Trenches Rebooted
JNation - Integration Testing from the Trenches RebootedNicolas Fränkel
 
Visual studio performance testing quick reference guide 3 6
Visual studio performance testing quick reference guide 3 6Visual studio performance testing quick reference guide 3 6
Visual studio performance testing quick reference guide 3 6Srimanta Kumar Sahu
 
Load testing with vs 2013
Load testing with vs 2013Load testing with vs 2013
Load testing with vs 2013Fahad Shiekh
 
vJUG - The JavaFX Ecosystem
vJUG - The JavaFX EcosystemvJUG - The JavaFX Ecosystem
vJUG - The JavaFX EcosystemAndres Almiray
 
Testing with laravel
Testing with laravelTesting with laravel
Testing with laravelDerek Binkley
 
Continuous Integration Testing in Django
Continuous Integration Testing in DjangoContinuous Integration Testing in Django
Continuous Integration Testing in DjangoKevin Harvey
 
Jenkins Evolutions - JEEConf 2012
Jenkins Evolutions - JEEConf 2012Jenkins Evolutions - JEEConf 2012
Jenkins Evolutions - JEEConf 2012Anton Arhipov
 
Testcontainers - Geekout EE 2017 presentation
Testcontainers - Geekout EE 2017 presentationTestcontainers - Geekout EE 2017 presentation
Testcontainers - Geekout EE 2017 presentationRichard North
 
Никита Галкин "Testing in Frontend World"
Никита Галкин "Testing in Frontend World"Никита Галкин "Testing in Frontend World"
Никита Галкин "Testing in Frontend World"Fwdays
 
Selenium-Browser-Based-Automated-Testing-for-Grails-Apps
Selenium-Browser-Based-Automated-Testing-for-Grails-AppsSelenium-Browser-Based-Automated-Testing-for-Grails-Apps
Selenium-Browser-Based-Automated-Testing-for-Grails-Appschrisb206 chrisb206
 
Test-Driven JavaScript Development (JavaZone 2010)
Test-Driven JavaScript Development (JavaZone 2010)Test-Driven JavaScript Development (JavaZone 2010)
Test-Driven JavaScript Development (JavaZone 2010)Christian Johansen
 
Automated Testing in Angular Slides
Automated Testing in Angular SlidesAutomated Testing in Angular Slides
Automated Testing in Angular SlidesJim Lynch
 
Testing Java Web Apps With Selenium
Testing Java Web Apps With SeleniumTesting Java Web Apps With Selenium
Testing Java Web Apps With SeleniumMarakana Inc.
 
Selenium Clinic Eurostar 2012 WebDriver Tutorial
Selenium Clinic Eurostar 2012 WebDriver TutorialSelenium Clinic Eurostar 2012 WebDriver Tutorial
Selenium Clinic Eurostar 2012 WebDriver TutorialAlan Richardson
 
Using Selenium to Improve a Teams Development Cycle
Using Selenium to Improve a Teams Development CycleUsing Selenium to Improve a Teams Development Cycle
Using Selenium to Improve a Teams Development Cycleseleniumconf
 
Take Control of your Integration Testing with TestContainers
Take Control of your Integration Testing with TestContainersTake Control of your Integration Testing with TestContainers
Take Control of your Integration Testing with TestContainersNaresha K
 
Testing for fun in production Into The Box 2018
Testing for fun in production Into The Box 2018Testing for fun in production Into The Box 2018
Testing for fun in production Into The Box 2018Ortus Solutions, Corp
 

What's hot (20)

JNation - Integration Testing from the Trenches Rebooted
JNation - Integration Testing from the Trenches RebootedJNation - Integration Testing from the Trenches Rebooted
JNation - Integration Testing from the Trenches Rebooted
 
Visual studio performance testing quick reference guide 3 6
Visual studio performance testing quick reference guide 3 6Visual studio performance testing quick reference guide 3 6
Visual studio performance testing quick reference guide 3 6
 
Load testing with vs 2013
Load testing with vs 2013Load testing with vs 2013
Load testing with vs 2013
 
vJUG - The JavaFX Ecosystem
vJUG - The JavaFX EcosystemvJUG - The JavaFX Ecosystem
vJUG - The JavaFX Ecosystem
 
Testing with laravel
Testing with laravelTesting with laravel
Testing with laravel
 
Continuous Integration Testing in Django
Continuous Integration Testing in DjangoContinuous Integration Testing in Django
Continuous Integration Testing in Django
 
Jenkins Evolutions - JEEConf 2012
Jenkins Evolutions - JEEConf 2012Jenkins Evolutions - JEEConf 2012
Jenkins Evolutions - JEEConf 2012
 
Testcontainers - Geekout EE 2017 presentation
Testcontainers - Geekout EE 2017 presentationTestcontainers - Geekout EE 2017 presentation
Testcontainers - Geekout EE 2017 presentation
 
Никита Галкин "Testing in Frontend World"
Никита Галкин "Testing in Frontend World"Никита Галкин "Testing in Frontend World"
Никита Галкин "Testing in Frontend World"
 
Jbehave selenium
Jbehave seleniumJbehave selenium
Jbehave selenium
 
Selenium-Browser-Based-Automated-Testing-for-Grails-Apps
Selenium-Browser-Based-Automated-Testing-for-Grails-AppsSelenium-Browser-Based-Automated-Testing-for-Grails-Apps
Selenium-Browser-Based-Automated-Testing-for-Grails-Apps
 
Test-Driven JavaScript Development (JavaZone 2010)
Test-Driven JavaScript Development (JavaZone 2010)Test-Driven JavaScript Development (JavaZone 2010)
Test-Driven JavaScript Development (JavaZone 2010)
 
Create, test, secure, repeat
Create, test, secure, repeatCreate, test, secure, repeat
Create, test, secure, repeat
 
Automated Testing in Angular Slides
Automated Testing in Angular SlidesAutomated Testing in Angular Slides
Automated Testing in Angular Slides
 
Testing Java Web Apps With Selenium
Testing Java Web Apps With SeleniumTesting Java Web Apps With Selenium
Testing Java Web Apps With Selenium
 
Selenium Clinic Eurostar 2012 WebDriver Tutorial
Selenium Clinic Eurostar 2012 WebDriver TutorialSelenium Clinic Eurostar 2012 WebDriver Tutorial
Selenium Clinic Eurostar 2012 WebDriver Tutorial
 
Using Selenium to Improve a Teams Development Cycle
Using Selenium to Improve a Teams Development CycleUsing Selenium to Improve a Teams Development Cycle
Using Selenium to Improve a Teams Development Cycle
 
Take Control of your Integration Testing with TestContainers
Take Control of your Integration Testing with TestContainersTake Control of your Integration Testing with TestContainers
Take Control of your Integration Testing with TestContainers
 
Testing for fun in production Into The Box 2018
Testing for fun in production Into The Box 2018Testing for fun in production Into The Box 2018
Testing for fun in production Into The Box 2018
 
Arquillian
ArquillianArquillian
Arquillian
 

Viewers also liked

JavaLand 2014 - Ankor.io Presentation
JavaLand 2014 - Ankor.io PresentationJavaLand 2014 - Ankor.io Presentation
JavaLand 2014 - Ankor.io Presentationmanolitto
 
Stateless authentication for microservices applications - JavaLand 2015
Stateless authentication for microservices applications -  JavaLand 2015Stateless authentication for microservices applications -  JavaLand 2015
Stateless authentication for microservices applications - JavaLand 2015Alvaro Sanchez-Mariscal
 
Joomladay Netherlands 2012 - Joomla in the Cloud
Joomladay Netherlands 2012  - Joomla in the CloudJoomladay Netherlands 2012  - Joomla in the Cloud
Joomladay Netherlands 2012 - Joomla in the CloudJohan Janssens
 
NoSQL Riak MongoDB Elasticsearch - All The Same?
NoSQL Riak MongoDB Elasticsearch - All The Same?NoSQL Riak MongoDB Elasticsearch - All The Same?
NoSQL Riak MongoDB Elasticsearch - All The Same?Eberhard Wolff
 
Cassandra Troubleshooting (for 2.0 and earlier)
Cassandra Troubleshooting (for 2.0 and earlier)Cassandra Troubleshooting (for 2.0 and earlier)
Cassandra Troubleshooting (for 2.0 and earlier)J.B. Langston
 
Docker for (Java) Developers
Docker for (Java) DevelopersDocker for (Java) Developers
Docker for (Java) DevelopersRafael Benevides
 
Legacy lambda code
Legacy lambda codeLegacy lambda code
Legacy lambda codePeter Lawrey
 
Cassandra 3.0 advanced preview
Cassandra 3.0 advanced previewCassandra 3.0 advanced preview
Cassandra 3.0 advanced previewPatrick McFadin
 
Monitoring Highly Dynamic and Distributed Systems with NGINX Amplify
Monitoring Highly Dynamic and Distributed Systems with NGINX AmplifyMonitoring Highly Dynamic and Distributed Systems with NGINX Amplify
Monitoring Highly Dynamic and Distributed Systems with NGINX AmplifyNGINX, Inc.
 
Continuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applicationsContinuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applicationsSunil Dalal
 
Docker for Java Developers
Docker for Java DevelopersDocker for Java Developers
Docker for Java DevelopersNGINX, Inc.
 
Anwendungsfälle für Elasticsearch JavaLand 2015
Anwendungsfälle für Elasticsearch JavaLand 2015Anwendungsfälle für Elasticsearch JavaLand 2015
Anwendungsfälle für Elasticsearch JavaLand 2015Florian Hopf
 
Docker for Java Developers
Docker for Java DevelopersDocker for Java Developers
Docker for Java DevelopersImesh Gunaratne
 

Viewers also liked (14)

JavaLand 2014 - Ankor.io Presentation
JavaLand 2014 - Ankor.io PresentationJavaLand 2014 - Ankor.io Presentation
JavaLand 2014 - Ankor.io Presentation
 
Stateless authentication for microservices applications - JavaLand 2015
Stateless authentication for microservices applications -  JavaLand 2015Stateless authentication for microservices applications -  JavaLand 2015
Stateless authentication for microservices applications - JavaLand 2015
 
Joomladay Netherlands 2012 - Joomla in the Cloud
Joomladay Netherlands 2012  - Joomla in the CloudJoomladay Netherlands 2012  - Joomla in the Cloud
Joomladay Netherlands 2012 - Joomla in the Cloud
 
NoSQL Riak MongoDB Elasticsearch - All The Same?
NoSQL Riak MongoDB Elasticsearch - All The Same?NoSQL Riak MongoDB Elasticsearch - All The Same?
NoSQL Riak MongoDB Elasticsearch - All The Same?
 
Javaland keynote final
Javaland keynote finalJavaland keynote final
Javaland keynote final
 
Cassandra Troubleshooting (for 2.0 and earlier)
Cassandra Troubleshooting (for 2.0 and earlier)Cassandra Troubleshooting (for 2.0 and earlier)
Cassandra Troubleshooting (for 2.0 and earlier)
 
Docker for (Java) Developers
Docker for (Java) DevelopersDocker for (Java) Developers
Docker for (Java) Developers
 
Legacy lambda code
Legacy lambda codeLegacy lambda code
Legacy lambda code
 
Cassandra 3.0 advanced preview
Cassandra 3.0 advanced previewCassandra 3.0 advanced preview
Cassandra 3.0 advanced preview
 
Monitoring Highly Dynamic and Distributed Systems with NGINX Amplify
Monitoring Highly Dynamic and Distributed Systems with NGINX AmplifyMonitoring Highly Dynamic and Distributed Systems with NGINX Amplify
Monitoring Highly Dynamic and Distributed Systems with NGINX Amplify
 
Continuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applicationsContinuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applications
 
Docker for Java Developers
Docker for Java DevelopersDocker for Java Developers
Docker for Java Developers
 
Anwendungsfälle für Elasticsearch JavaLand 2015
Anwendungsfälle für Elasticsearch JavaLand 2015Anwendungsfälle für Elasticsearch JavaLand 2015
Anwendungsfälle für Elasticsearch JavaLand 2015
 
Docker for Java Developers
Docker for Java DevelopersDocker for Java Developers
Docker for Java Developers
 

Similar to JavaLand - Integration Testing How-to

Testing Big in JavaScript
Testing Big in JavaScriptTesting Big in JavaScript
Testing Big in JavaScriptRobert DeLuca
 
Easy integration of Bluemix services with your applications
Easy integration of Bluemix services with your applicationsEasy integration of Bluemix services with your applications
Easy integration of Bluemix services with your applicationsJack-Junjie Cai
 
DevOps Tooling - Pop-up Loft TLV 2017
DevOps Tooling - Pop-up Loft TLV 2017DevOps Tooling - Pop-up Loft TLV 2017
DevOps Tooling - Pop-up Loft TLV 2017Amazon Web Services
 
Coldbox developer training – session 4
Coldbox developer training – session 4Coldbox developer training – session 4
Coldbox developer training – session 4Billie Berzinskas
 
Evaluating Test Driven Development And Parameterized Unit Testing In Dot Net ...
Evaluating Test Driven Development And Parameterized Unit Testing In Dot Net ...Evaluating Test Driven Development And Parameterized Unit Testing In Dot Net ...
Evaluating Test Driven Development And Parameterized Unit Testing In Dot Net ...mdfachowdhury
 
Stopping the Rot - Putting Legacy C++ Under Test
Stopping the Rot - Putting Legacy C++ Under TestStopping the Rot - Putting Legacy C++ Under Test
Stopping the Rot - Putting Legacy C++ Under TestSeb Rose
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAmazon Web Services
 
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Emerson Eduardo Rodrigues Von Staffen
 
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...Amazon Web Services
 
Spring boot
Spring bootSpring boot
Spring bootsdeeg
 
How to set up an ASP.NET 5 Continuous Delivery Pipeline using IBM Bluemix Dev...
How to set up an ASP.NET 5 Continuous Delivery Pipeline using IBM Bluemix Dev...How to set up an ASP.NET 5 Continuous Delivery Pipeline using IBM Bluemix Dev...
How to set up an ASP.NET 5 Continuous Delivery Pipeline using IBM Bluemix Dev...Richard Johansson
 
Developing Java Web Applications
Developing Java Web ApplicationsDeveloping Java Web Applications
Developing Java Web Applicationshchen1
 
Tips for Developing and Testing IBM HATS Applications
Tips for Developing and Testing IBM HATS ApplicationsTips for Developing and Testing IBM HATS Applications
Tips for Developing and Testing IBM HATS ApplicationsStrongback Consulting
 
Ben ford intro
Ben ford introBen ford intro
Ben ford introPuppet
 
Telemetry doesn't have to be scary; Ben Ford
Telemetry doesn't have to be scary; Ben FordTelemetry doesn't have to be scary; Ben Ford
Telemetry doesn't have to be scary; Ben FordPuppet
 
We continue checking Microsoft projects: analysis of PowerShell
We continue checking Microsoft projects: analysis of PowerShellWe continue checking Microsoft projects: analysis of PowerShell
We continue checking Microsoft projects: analysis of PowerShellPVS-Studio
 
A report on mvc using the information
A report on mvc using the informationA report on mvc using the information
A report on mvc using the informationToushik Paul
 
The Quest for Continuous Delivery at Pluralsight
The Quest for Continuous Delivery at PluralsightThe Quest for Continuous Delivery at Pluralsight
The Quest for Continuous Delivery at PluralsightMike Clement
 

Similar to JavaLand - Integration Testing How-to (20)

Testing Big in JavaScript
Testing Big in JavaScriptTesting Big in JavaScript
Testing Big in JavaScript
 
Easy integration of Bluemix services with your applications
Easy integration of Bluemix services with your applicationsEasy integration of Bluemix services with your applications
Easy integration of Bluemix services with your applications
 
DevOps Tooling - Pop-up Loft TLV 2017
DevOps Tooling - Pop-up Loft TLV 2017DevOps Tooling - Pop-up Loft TLV 2017
DevOps Tooling - Pop-up Loft TLV 2017
 
Coldbox developer training – session 4
Coldbox developer training – session 4Coldbox developer training – session 4
Coldbox developer training – session 4
 
Evaluating Test Driven Development And Parameterized Unit Testing In Dot Net ...
Evaluating Test Driven Development And Parameterized Unit Testing In Dot Net ...Evaluating Test Driven Development And Parameterized Unit Testing In Dot Net ...
Evaluating Test Driven Development And Parameterized Unit Testing In Dot Net ...
 
Micro service architecture
Micro service architectureMicro service architecture
Micro service architecture
 
Stopping the Rot - Putting Legacy C++ Under Test
Stopping the Rot - Putting Legacy C++ Under TestStopping the Rot - Putting Legacy C++ Under Test
Stopping the Rot - Putting Legacy C++ Under Test
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for Government
 
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
 
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
 
Spring boot
Spring bootSpring boot
Spring boot
 
How to set up an ASP.NET 5 Continuous Delivery Pipeline using IBM Bluemix Dev...
How to set up an ASP.NET 5 Continuous Delivery Pipeline using IBM Bluemix Dev...How to set up an ASP.NET 5 Continuous Delivery Pipeline using IBM Bluemix Dev...
How to set up an ASP.NET 5 Continuous Delivery Pipeline using IBM Bluemix Dev...
 
Grails Advanced
Grails Advanced Grails Advanced
Grails Advanced
 
Developing Java Web Applications
Developing Java Web ApplicationsDeveloping Java Web Applications
Developing Java Web Applications
 
Tips for Developing and Testing IBM HATS Applications
Tips for Developing and Testing IBM HATS ApplicationsTips for Developing and Testing IBM HATS Applications
Tips for Developing and Testing IBM HATS Applications
 
Ben ford intro
Ben ford introBen ford intro
Ben ford intro
 
Telemetry doesn't have to be scary; Ben Ford
Telemetry doesn't have to be scary; Ben FordTelemetry doesn't have to be scary; Ben Ford
Telemetry doesn't have to be scary; Ben Ford
 
We continue checking Microsoft projects: analysis of PowerShell
We continue checking Microsoft projects: analysis of PowerShellWe continue checking Microsoft projects: analysis of PowerShell
We continue checking Microsoft projects: analysis of PowerShell
 
A report on mvc using the information
A report on mvc using the informationA report on mvc using the information
A report on mvc using the information
 
The Quest for Continuous Delivery at Pluralsight
The Quest for Continuous Delivery at PluralsightThe Quest for Continuous Delivery at Pluralsight
The Quest for Continuous Delivery at Pluralsight
 

More from Nicolas Fränkel

SnowCamp - Adding search to a legacy application
SnowCamp - Adding search to a legacy applicationSnowCamp - Adding search to a legacy application
SnowCamp - Adding search to a legacy applicationNicolas Fränkel
 
Un CV de dévelopeur toujours a jour
Un CV de dévelopeur toujours a jourUn CV de dévelopeur toujours a jour
Un CV de dévelopeur toujours a jourNicolas Fränkel
 
Zero-downtime deployment on Kubernetes with Hazelcast
Zero-downtime deployment on Kubernetes with HazelcastZero-downtime deployment on Kubernetes with Hazelcast
Zero-downtime deployment on Kubernetes with HazelcastNicolas Fränkel
 
jLove - A Change-Data-Capture use-case: designing an evergreen cache
jLove - A Change-Data-Capture use-case: designing an evergreen cachejLove - A Change-Data-Capture use-case: designing an evergreen cache
jLove - A Change-Data-Capture use-case: designing an evergreen cacheNicolas Fränkel
 
BigData conference - Introduction to stream processing
BigData conference - Introduction to stream processingBigData conference - Introduction to stream processing
BigData conference - Introduction to stream processingNicolas Fränkel
 
ADDO - Your own Kubernetes controller, not only in Go
ADDO - Your own Kubernetes controller, not only in GoADDO - Your own Kubernetes controller, not only in Go
ADDO - Your own Kubernetes controller, not only in GoNicolas Fränkel
 
TestCon Europe - Mutation Testing to the Rescue of Your Tests
TestCon Europe - Mutation Testing to the Rescue of Your TestsTestCon Europe - Mutation Testing to the Rescue of Your Tests
TestCon Europe - Mutation Testing to the Rescue of Your TestsNicolas Fränkel
 
OSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java application
OSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java applicationOSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java application
OSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java applicationNicolas Fränkel
 
GeekcampSG 2020 - A Change-Data-Capture use-case: designing an evergreen cache
GeekcampSG 2020 - A Change-Data-Capture use-case: designing an evergreen cacheGeekcampSG 2020 - A Change-Data-Capture use-case: designing an evergreen cache
GeekcampSG 2020 - A Change-Data-Capture use-case: designing an evergreen cacheNicolas Fränkel
 
JavaDay Istanbul - 3 improvements in your microservices architecture
JavaDay Istanbul - 3 improvements in your microservices architectureJavaDay Istanbul - 3 improvements in your microservices architecture
JavaDay Istanbul - 3 improvements in your microservices architecture Nicolas Fränkel
 
OSCONF Hyderabad - Shorten all URLs!
OSCONF Hyderabad - Shorten all URLs!OSCONF Hyderabad - Shorten all URLs!
OSCONF Hyderabad - Shorten all URLs!Nicolas Fränkel
 
Devclub.lv - Introduction to stream processing
Devclub.lv - Introduction to stream processingDevclub.lv - Introduction to stream processing
Devclub.lv - Introduction to stream processingNicolas Fränkel
 
OSCONF Koshi - Zero downtime deployment with Kubernetes, Flyway and Spring Boot
OSCONF Koshi - Zero downtime deployment with Kubernetes, Flyway and Spring BootOSCONF Koshi - Zero downtime deployment with Kubernetes, Flyway and Spring Boot
OSCONF Koshi - Zero downtime deployment with Kubernetes, Flyway and Spring BootNicolas Fränkel
 
JOnConf - A CDC use-case: designing an Evergreen Cache
JOnConf - A CDC use-case: designing an Evergreen CacheJOnConf - A CDC use-case: designing an Evergreen Cache
JOnConf - A CDC use-case: designing an Evergreen CacheNicolas Fränkel
 
London In-Memory Computing Meetup - A Change-Data-Capture use-case: designing...
London In-Memory Computing Meetup - A Change-Data-Capture use-case: designing...London In-Memory Computing Meetup - A Change-Data-Capture use-case: designing...
London In-Memory Computing Meetup - A Change-Data-Capture use-case: designing...Nicolas Fränkel
 
JUG Tirana - Introduction to data streaming
JUG Tirana - Introduction to data streamingJUG Tirana - Introduction to data streaming
JUG Tirana - Introduction to data streamingNicolas Fränkel
 
Java.IL - Your own Kubernetes controller, not only in Go!
Java.IL - Your own Kubernetes controller, not only in Go!Java.IL - Your own Kubernetes controller, not only in Go!
Java.IL - Your own Kubernetes controller, not only in Go!Nicolas Fränkel
 
vJUG - Introduction to data streaming
vJUG - Introduction to data streamingvJUG - Introduction to data streaming
vJUG - Introduction to data streamingNicolas Fränkel
 
London Java Community - An Experiment in Continuous Deployment of JVM applica...
London Java Community - An Experiment in Continuous Deployment of JVM applica...London Java Community - An Experiment in Continuous Deployment of JVM applica...
London Java Community - An Experiment in Continuous Deployment of JVM applica...Nicolas Fränkel
 
OSCONF - Your own Kubernetes controller: not only in Go
OSCONF - Your own Kubernetes controller: not only in GoOSCONF - Your own Kubernetes controller: not only in Go
OSCONF - Your own Kubernetes controller: not only in GoNicolas Fränkel
 

More from Nicolas Fränkel (20)

SnowCamp - Adding search to a legacy application
SnowCamp - Adding search to a legacy applicationSnowCamp - Adding search to a legacy application
SnowCamp - Adding search to a legacy application
 
Un CV de dévelopeur toujours a jour
Un CV de dévelopeur toujours a jourUn CV de dévelopeur toujours a jour
Un CV de dévelopeur toujours a jour
 
Zero-downtime deployment on Kubernetes with Hazelcast
Zero-downtime deployment on Kubernetes with HazelcastZero-downtime deployment on Kubernetes with Hazelcast
Zero-downtime deployment on Kubernetes with Hazelcast
 
jLove - A Change-Data-Capture use-case: designing an evergreen cache
jLove - A Change-Data-Capture use-case: designing an evergreen cachejLove - A Change-Data-Capture use-case: designing an evergreen cache
jLove - A Change-Data-Capture use-case: designing an evergreen cache
 
BigData conference - Introduction to stream processing
BigData conference - Introduction to stream processingBigData conference - Introduction to stream processing
BigData conference - Introduction to stream processing
 
ADDO - Your own Kubernetes controller, not only in Go
ADDO - Your own Kubernetes controller, not only in GoADDO - Your own Kubernetes controller, not only in Go
ADDO - Your own Kubernetes controller, not only in Go
 
TestCon Europe - Mutation Testing to the Rescue of Your Tests
TestCon Europe - Mutation Testing to the Rescue of Your TestsTestCon Europe - Mutation Testing to the Rescue of Your Tests
TestCon Europe - Mutation Testing to the Rescue of Your Tests
 
OSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java application
OSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java applicationOSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java application
OSCONF Jaipur - A Hitchhiker's Tour to Containerizing a Java application
 
GeekcampSG 2020 - A Change-Data-Capture use-case: designing an evergreen cache
GeekcampSG 2020 - A Change-Data-Capture use-case: designing an evergreen cacheGeekcampSG 2020 - A Change-Data-Capture use-case: designing an evergreen cache
GeekcampSG 2020 - A Change-Data-Capture use-case: designing an evergreen cache
 
JavaDay Istanbul - 3 improvements in your microservices architecture
JavaDay Istanbul - 3 improvements in your microservices architectureJavaDay Istanbul - 3 improvements in your microservices architecture
JavaDay Istanbul - 3 improvements in your microservices architecture
 
OSCONF Hyderabad - Shorten all URLs!
OSCONF Hyderabad - Shorten all URLs!OSCONF Hyderabad - Shorten all URLs!
OSCONF Hyderabad - Shorten all URLs!
 
Devclub.lv - Introduction to stream processing
Devclub.lv - Introduction to stream processingDevclub.lv - Introduction to stream processing
Devclub.lv - Introduction to stream processing
 
OSCONF Koshi - Zero downtime deployment with Kubernetes, Flyway and Spring Boot
OSCONF Koshi - Zero downtime deployment with Kubernetes, Flyway and Spring BootOSCONF Koshi - Zero downtime deployment with Kubernetes, Flyway and Spring Boot
OSCONF Koshi - Zero downtime deployment with Kubernetes, Flyway and Spring Boot
 
JOnConf - A CDC use-case: designing an Evergreen Cache
JOnConf - A CDC use-case: designing an Evergreen CacheJOnConf - A CDC use-case: designing an Evergreen Cache
JOnConf - A CDC use-case: designing an Evergreen Cache
 
London In-Memory Computing Meetup - A Change-Data-Capture use-case: designing...
London In-Memory Computing Meetup - A Change-Data-Capture use-case: designing...London In-Memory Computing Meetup - A Change-Data-Capture use-case: designing...
London In-Memory Computing Meetup - A Change-Data-Capture use-case: designing...
 
JUG Tirana - Introduction to data streaming
JUG Tirana - Introduction to data streamingJUG Tirana - Introduction to data streaming
JUG Tirana - Introduction to data streaming
 
Java.IL - Your own Kubernetes controller, not only in Go!
Java.IL - Your own Kubernetes controller, not only in Go!Java.IL - Your own Kubernetes controller, not only in Go!
Java.IL - Your own Kubernetes controller, not only in Go!
 
vJUG - Introduction to data streaming
vJUG - Introduction to data streamingvJUG - Introduction to data streaming
vJUG - Introduction to data streaming
 
London Java Community - An Experiment in Continuous Deployment of JVM applica...
London Java Community - An Experiment in Continuous Deployment of JVM applica...London Java Community - An Experiment in Continuous Deployment of JVM applica...
London Java Community - An Experiment in Continuous Deployment of JVM applica...
 
OSCONF - Your own Kubernetes controller: not only in Go
OSCONF - Your own Kubernetes controller: not only in GoOSCONF - Your own Kubernetes controller: not only in Go
OSCONF - Your own Kubernetes controller: not only in Go
 

Recently uploaded

why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 

Recently uploaded (20)

why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 

JavaLand - Integration Testing How-to

Editor's Notes

  1. skinparam dpi 150 class A class B package SUT { class C class D } class E class F A .right.> B B .down.> C C .right.> D D ..> E E .right.> F hide empty members
  2. skinparam dpi 150 package "Test Config" <<Rect>> { class "<bean\nclass='o.a.t.j.p.DataSource'>" as testdb } package "Prod Config" <<Rect>> { class "<jee:jndi-lookup\njndi-name='jdbc/MyDS' />" as jndidb } package "Main Config" <<Rect>> { class Service class Repository class "id=datasource" as dbbean } Service --> "1" Repository Repository --> "1" dbbean testdb -up-|> dbbean jndidb -up-|> dbbean hide circle hide empty members