SlideShare a Scribd company logo
1 of 51
Testing of Spring
Mattias Severson
Mattias
http://blog.jayway.com/
Agenda
• Basic Spring Testing
• Embedded Database
• Transactions
• Profiles
• Controller Test
Bank App
AccountRepository AccountEntity
AccountRepository
AccountService
AccountEntity
ImmutableAccount
AccountRepository
AccountService
BankController
AccountEntity
ImmutableAccount
Basics
jUnit test
public class ExampleTest {
Example example;
@Before
public void setUp() {
example = new ExampleImpl();
}
@Test
public void testDoSomething() {
example.doSomething();
// verify ...
}
}
@Autowired
public class ExampleTest {
@Autowired
Example example;
@Test
public void testDoSomething() {
example.doSomething();
// verify ...
}
}
@ContextConfiguration
@ContextConfiguration("/application-context.xml")
public class ExampleTest {
@Autowired
Example example;
@Test
public void testDoSomething() {
example.doSomething();
// verify ...
}
}
public class ExampleTest {
@Autowired
Example example;
@Test
public void testDoSomething() {
example.doSomething();
// verify ...
}
}
@ContextConfiguration
@ContextConfiguration("classes=TestConfig.class")
public class ExampleTest {
@Autowired
Example example;
@Test
public void testDoSomething() {
example.doSomething();
// verify ...
}
}
@ContextConfiguration
@ContextConfiguration("/application-context.xml")
public class ExampleTest {
@Autowired
Example example;
@Test
public void testDoSomething() {
example.doSomething();
// verify ...
}
}
SpringJUnit4ClassRunner
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("/application-context.xml")
public class ExampleTest {
@Autowired
Example example;
@Test
public void testDoSomething() {
example.doSomething();
// verify ...
}
}
@ContextConfiguration("/application-context.xml")
public class ExampleTest {
@Autowired
Example example;
@Test
public void testDoSomething() {
example.doSomething();
// verify ...
}
}
@ContextConfiguration
• Caches ApplicationContext
• unique context configuration
• within the same test suite
• All tests execute in the same JVM
@ContextConfiguration
• @Before / @After
• Mockito.reset(mockObject)
• EasyMock.reset(mockObject)
• @DirtiesContext
Embedded DB
AccountRepository AccountEntity
XML Config
<jdbc:embedded-database id="dataSource" type="HSQL">
<jdbc:script location="classpath:db-schema.sql"/>
<jdbc:script location="classpath:db-test-data.sql"/>
</jdbc:embedded-database>
Demo
Java Config
@Configuration
public class EmbeddedDbConfig {
@Bean
public DataSource dataSource() {
return new EmbeddedDatabaseBuilder()
.setType(EmbeddedDatabaseType.HSQL)
.addScript(“classpath:db-schema.sql”)
.addScript(“classpath:db-test-data.sql”)
.build();
}
}
Transactions
Tx Test
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("/application-context.xml")
public class ExampleTest {
@Test
public void testDoSomething() {
// call DB
}
}
@Transactional
@Test
public void testDoSomething() {
// call DB
}
Tx Annotations
@TransactionConfiguration
@BeforeTransaction
@AfterTransaction
@Rollback
Demo
Spring Profiles
XML Profiles
<beans ...>
<bean id="dataSource">
<!-- Test data source -->
</bean>
<bean id="dataSource">
<!-- Production data source -->
</bean>
</beans>
<beans profile="testProfile">
</beans>
<beans profile="prodProfile">
</beans>
Java Config Profile
@Configuration
public class EmbeddedDbConfig {
@Bean
public DataSource dataSource() {
return new EmbeddedDatabaseBuilder().
// ...
}
}
@Profile(“testProfile”)
Component Profile
@Component
public class SomeClass implements SomeInterface {
}
@Profile(“testProfile”)
Tests and Profiles
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(“/application-context.xml”)
public class SomeTest {
@Autowired
SomeClass someClass;
@Test
public void testSomething() { ... }
}
@ActiveProfiles("testProfile")
Demo
AccountRepository
AccountService
AccountEntity
ImmutableAccount
web.xml
<web-app ...>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
</web-app>
<context-param>
<param-name>spring.profiles.active</param-name>
<param-value>someProfile</param-value>
</context-param>
ApplicationContext
AnnotationConfigApplicationContext ctx =
new AnnotationConfigApplicationContext();
ctx.getEnvironment().setActiveProfiles("someProfile");
ctx.register(SomeConfig.class);
ctx.scan("com.jayway.demo");
ctx.refresh();
Env Property
System.getProperty(“spring.profiles.active”);
mvn -Dspring.profiles.active=testProfile
Default profiles
ctx.getEnvironment().setDefaultProfiles("...");
<beans profile="default">
<!-- Default beans -->
</beans>
System.getProperty("spring.profiles.default");
Test Controller
AccountRepository
AccountService
BankController
AccountEntity
ImmutableAccount
Demo
spring-test-mvc
XML config
MockMvc mockMvc = MockMvcBuilders
.xmlConfigSetup("classpath:appContext.xml")
.activateProfiles(...)
.configureWebAppRootDir(warDir, false)
.build();
Java config
MockMvc mockMvc = MockMvcBuilders
.annotationConfigSetup(WebConfig.class)
.activateProfiles(...)
.configureWebAppRootDir(warDir, false)
.build();
Manual config
MockMvc mockMvc = MockMvcBuilders
.standaloneSetup(new BankController())
.setMessageConverters(...)
.setValidator(...)
.setConversionService(...)
.addInterceptors(...)
.setViewResolver(...)
.setLocaleResolver(...)
.build();
Test
mockMvc.perform(get("/")
.accept(MediaType.APPLICATION_JSON))
.andExpect(response().status().isOk())
.andExpect(response().contentType(MediaType))
.andExpect(response().content().xpath(String).exists())
.andExpect(response().redirectedUrl(String))
.andExpect(model().hasAttributes(String...));
Demo
Integration tests
jetty-maven-plugin
<executions>
<execution>
<id>start-jetty</id>
<phase>pre-integration-test</phase>
<goals>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>stop-jetty</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
maven-failsafe-plugin
IT*.java
*IT.java
*ITCase.java
REST Assured
@Test
public void shouldGetSingleAccount() {
expect().
statusCode(HttpStatus.SC_OK).
contentType(ContentType.JSON).
body("accountNumber", is(1)).
body("balance", is(100)).
when().
get("/account/1");
}
Conclusions
• Basic Spring Testing
• Embedded database
• Transactions
• Profiles
• Controller Test
Questions?
http://blog.jayway.com/

More Related Content

Viewers also liked

The RSS Revolution: Using Blogs and Podcasts to Distribute Learning Centent
The RSS Revolution: Using Blogs and Podcasts to Distribute Learning CententThe RSS Revolution: Using Blogs and Podcasts to Distribute Learning Centent
The RSS Revolution: Using Blogs and Podcasts to Distribute Learning CententJason Rhode
 
“Change the game for tigers”
“Change the game for tigers”  “Change the game for tigers”
“Change the game for tigers” Sadman Samad Sad
 
Big Data and Next Generation Mental Health
Big Data and Next Generation Mental HealthBig Data and Next Generation Mental Health
Big Data and Next Generation Mental HealthCloudera, Inc.
 
LSA-ing Wikipedia with Apache Spark
LSA-ing Wikipedia with Apache SparkLSA-ing Wikipedia with Apache Spark
LSA-ing Wikipedia with Apache SparkCloudera, Inc.
 
Agile - Community of Practice
Agile - Community of PracticeAgile - Community of Practice
Agile - Community of PracticeBHASKAR CHAUDHURY
 
Practical Test Strategy Using Heuristics
Practical Test Strategy Using HeuristicsPractical Test Strategy Using Heuristics
Practical Test Strategy Using HeuristicsTEST Huddle
 
#MayoInOz Opening Keynote
#MayoInOz Opening Keynote#MayoInOz Opening Keynote
#MayoInOz Opening KeynoteLee Aase
 
Suku kata kvk
Suku kata kvkSuku kata kvk
Suku kata kvkSolar Yee
 
Dimitar Voinov Art
Dimitar Voinov ArtDimitar Voinov Art
Dimitar Voinov ArtCachi Chien
 
Streebo Manufacturing Apps Suite
Streebo Manufacturing Apps SuiteStreebo Manufacturing Apps Suite
Streebo Manufacturing Apps SuiteStreebo
 

Viewers also liked (15)

projeto_escola_alimenta
projeto_escola_alimentaprojeto_escola_alimenta
projeto_escola_alimenta
 
The RSS Revolution: Using Blogs and Podcasts to Distribute Learning Centent
The RSS Revolution: Using Blogs and Podcasts to Distribute Learning CententThe RSS Revolution: Using Blogs and Podcasts to Distribute Learning Centent
The RSS Revolution: Using Blogs and Podcasts to Distribute Learning Centent
 
“Change the game for tigers”
“Change the game for tigers”  “Change the game for tigers”
“Change the game for tigers”
 
Big Data and Next Generation Mental Health
Big Data and Next Generation Mental HealthBig Data and Next Generation Mental Health
Big Data and Next Generation Mental Health
 
LSA-ing Wikipedia with Apache Spark
LSA-ing Wikipedia with Apache SparkLSA-ing Wikipedia with Apache Spark
LSA-ing Wikipedia with Apache Spark
 
Human Alphabets 3 (new)
Human Alphabets 3 (new)Human Alphabets 3 (new)
Human Alphabets 3 (new)
 
Agile - Community of Practice
Agile - Community of PracticeAgile - Community of Practice
Agile - Community of Practice
 
Pilobolus Dance Theater
Pilobolus Dance TheaterPilobolus Dance Theater
Pilobolus Dance Theater
 
Practical Test Strategy Using Heuristics
Practical Test Strategy Using HeuristicsPractical Test Strategy Using Heuristics
Practical Test Strategy Using Heuristics
 
#MayoInOz Opening Keynote
#MayoInOz Opening Keynote#MayoInOz Opening Keynote
#MayoInOz Opening Keynote
 
Pólipos uterinos: endometriales y endocervicales
Pólipos uterinos: endometriales y endocervicalesPólipos uterinos: endometriales y endocervicales
Pólipos uterinos: endometriales y endocervicales
 
Patología endometrial
Patología endometrialPatología endometrial
Patología endometrial
 
Suku kata kvk
Suku kata kvkSuku kata kvk
Suku kata kvk
 
Dimitar Voinov Art
Dimitar Voinov ArtDimitar Voinov Art
Dimitar Voinov Art
 
Streebo Manufacturing Apps Suite
Streebo Manufacturing Apps SuiteStreebo Manufacturing Apps Suite
Streebo Manufacturing Apps Suite
 

Similar to Software Passion Summit 2012 - Testing of Spring

SpringOne 2GX 2013 - Spring Testing
SpringOne 2GX 2013 - Spring TestingSpringOne 2GX 2013 - Spring Testing
SpringOne 2GX 2013 - Spring TestingMattias Severson
 
WordPress Acceptance Testing, Solved!
WordPress Acceptance Testing, Solved!WordPress Acceptance Testing, Solved!
WordPress Acceptance Testing, Solved!Taylor Lovett
 
Apex Testing and Best Practices
Apex Testing and Best PracticesApex Testing and Best Practices
Apex Testing and Best PracticesJitendra Zaa
 
Unit test candidate solutions
Unit test candidate solutionsUnit test candidate solutions
Unit test candidate solutionsbenewu
 
Dependency injection - the right way
Dependency injection - the right wayDependency injection - the right way
Dependency injection - the right wayThibaud Desodt
 
Spring 3: What's New
Spring 3: What's NewSpring 3: What's New
Spring 3: What's NewTed Pennings
 
Testing Web Apps with Spring Framework 3.2
Testing Web Apps with Spring Framework 3.2Testing Web Apps with Spring Framework 3.2
Testing Web Apps with Spring Framework 3.2Sam Brannen
 
Test strategy for web development
Test strategy for web developmentTest strategy for web development
Test strategy for web developmentalice yang
 
Mastering Mock Objects - Advanced Unit Testing for Java
Mastering Mock Objects - Advanced Unit Testing for JavaMastering Mock Objects - Advanced Unit Testing for Java
Mastering Mock Objects - Advanced Unit Testing for JavaDenilson Nastacio
 
Test Pyramid in Microservices Context
Test Pyramid in Microservices ContextTest Pyramid in Microservices Context
Test Pyramid in Microservices ContextDhaval Dalal
 
Qtp Training
Qtp TrainingQtp Training
Qtp Trainingmehramit
 
Spring 3.1 and MVC Testing Support
Spring 3.1 and MVC Testing SupportSpring 3.1 and MVC Testing Support
Spring 3.1 and MVC Testing SupportSam Brannen
 
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
 
Rapid prototyping of eclipse rcp applications - Eclipsecon Europe 2017
Rapid prototyping of eclipse rcp applications - Eclipsecon Europe 2017Rapid prototyping of eclipse rcp applications - Eclipsecon Europe 2017
Rapid prototyping of eclipse rcp applications - Eclipsecon Europe 2017Patrik Suzzi
 
We Are All Testers Now: The Testing Pyramid and Front-End Development
We Are All Testers Now: The Testing Pyramid and Front-End DevelopmentWe Are All Testers Now: The Testing Pyramid and Front-End Development
We Are All Testers Now: The Testing Pyramid and Front-End DevelopmentAll Things Open
 
Qtp Presentation
Qtp PresentationQtp Presentation
Qtp Presentationtechgajanan
 
Testing ASP.NET - Progressive.NET
Testing ASP.NET - Progressive.NETTesting ASP.NET - Progressive.NET
Testing ASP.NET - Progressive.NETBen Hall
 

Similar to Software Passion Summit 2012 - Testing of Spring (20)

SpringOne 2GX 2013 - Spring Testing
SpringOne 2GX 2013 - Spring TestingSpringOne 2GX 2013 - Spring Testing
SpringOne 2GX 2013 - Spring Testing
 
WordPress Acceptance Testing, Solved!
WordPress Acceptance Testing, Solved!WordPress Acceptance Testing, Solved!
WordPress Acceptance Testing, Solved!
 
Apex Testing and Best Practices
Apex Testing and Best PracticesApex Testing and Best Practices
Apex Testing and Best Practices
 
Unit test candidate solutions
Unit test candidate solutionsUnit test candidate solutions
Unit test candidate solutions
 
Dependency injection - the right way
Dependency injection - the right wayDependency injection - the right way
Dependency injection - the right way
 
Spring 3: What's New
Spring 3: What's NewSpring 3: What's New
Spring 3: What's New
 
Testing Web Apps with Spring Framework 3.2
Testing Web Apps with Spring Framework 3.2Testing Web Apps with Spring Framework 3.2
Testing Web Apps with Spring Framework 3.2
 
Test strategy for web development
Test strategy for web developmentTest strategy for web development
Test strategy for web development
 
Mastering Mock Objects - Advanced Unit Testing for Java
Mastering Mock Objects - Advanced Unit Testing for JavaMastering Mock Objects - Advanced Unit Testing for Java
Mastering Mock Objects - Advanced Unit Testing for Java
 
Test Pyramid in Microservices Context
Test Pyramid in Microservices ContextTest Pyramid in Microservices Context
Test Pyramid in Microservices Context
 
Qtp Training
Qtp TrainingQtp Training
Qtp Training
 
Spring 3.1 and MVC Testing Support
Spring 3.1 and MVC Testing SupportSpring 3.1 and MVC Testing Support
Spring 3.1 and MVC Testing Support
 
QTP Online Training
QTP Online TrainingQTP Online Training
QTP Online Training
 
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
 
Rapid prototyping of eclipse rcp applications - Eclipsecon Europe 2017
Rapid prototyping of eclipse rcp applications - Eclipsecon Europe 2017Rapid prototyping of eclipse rcp applications - Eclipsecon Europe 2017
Rapid prototyping of eclipse rcp applications - Eclipsecon Europe 2017
 
We Are All Testers Now: The Testing Pyramid and Front-End Development
We Are All Testers Now: The Testing Pyramid and Front-End DevelopmentWe Are All Testers Now: The Testing Pyramid and Front-End Development
We Are All Testers Now: The Testing Pyramid and Front-End Development
 
Qtp Presentation
Qtp PresentationQtp Presentation
Qtp Presentation
 
Unit testing 101
Unit testing 101Unit testing 101
Unit testing 101
 
Testing ASP.NET - Progressive.NET
Testing ASP.NET - Progressive.NETTesting ASP.NET - Progressive.NET
Testing ASP.NET - Progressive.NET
 
Clean tests good tests
Clean tests   good testsClean tests   good tests
Clean tests good tests
 

Recently uploaded

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 

Recently uploaded (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

Software Passion Summit 2012 - Testing of Spring