SlideShare una empresa de Scribd logo
1 de 56
Descargar para leer sin conexión
TDD with DbFit and Oracle
Writing readable,easyto maintain unitand integration testsfor
databasecode
Yavor Nikolov
BGOUG Conference, 2013-05-18
Agenda
#bgoug2013
Concepts (Testing, Test-Driven Development)
DbFit
Demo
2/56
What is a legacy system?
#bgoug2013
You spot an obvious design problem
know how to improve that,
but the thought about consequences gives you a
stomach ache.
source: Gojko Adzic, "Fighting the monster"
3/56
#bgoug2013
source: http://lisacrispin.com/2011/11/08/using-the-agile-testing-quadrants
4/56
Why (automated) testing?
#bgoug2013
Makes application change easier
Safety net - provides confidence/removes fear
Documentation
Help to localize where exactly a defect is located
Reduce the chance of new bugs
Automation enables earlier feedback, saves time,
helps focusing on solving the main problem. (Not
everything is feasible to automate)
5/56
Test Fixture
#bgoug2013
All the things we need to have in place in order to
run a test and expect a particular outcome
The test context
6/56
System Under Test (SUT)
The system that is being tested
#bgoug2013 7/56
Test execution cycle
#bgoug2013
Arrange (set up the Fixture)
Act (exercise the System Under Test)
Assert (verify results are as expected)
Tear Down the fixture (to isolate other tests from
this one)
1.
2.
3.
4.
8/56
Unit test
#bgoug2013
Tests small individual unit (module,
procedure/function)
In isolation (no interaction with other units)
Should run quickly (otherwise people won't run
them)
9/56
Integration test
#bgoug2013
Tests several modules as a group
Slower than unit tests (usually)
10/56
Acceptance test
#bgoug2013
Conducted to determine whether or not a system
satisfies its acceptance criteria
and to enable the customer to determine whether or
not to accept the system.
At least modeled and possibly even written by the
customer
End-to-end (slower than Integration & Unit tests)
11/56
Regression tests
(Regress vs progress)
Performed to make sure that previously working
functionality still works after changes elsewhere in
the system
#bgoug2013 12/56
Refactor
Is the the process of changing a system in such a way
that
Doing refactoring without tests is unsafe
#bgoug2013
doesn't alter external behaviour
and improves it's internal structure (design)
through small steps
13/56
TDD Cycle
#bgoug2013
source: Internet
14/56
Tests are not the main product in TDD
#bgoug2013
TDD is a design technique
The design emerges in small steps
15/56
Why test first?
#bgoug2013
Start with end in mind (think from point of view of
caller)
This perspective helps for better design
Test coverage is useful byproduct
Greatly reduces the need of debugging
16/56
Cost of change (traditional)
#bgoug2013 17/56
Cost of change (test early)
#bgoug2013 18/56
Why testing the Database?
#bgoug2013
For lot of businesses, data held in DB are the most
vital commercial asset they have
Business critical functions rely on this data
So it makes sense to validate that data is stored and
processed correctly
19/56
Challenges of Database testing...
#bgoug2013
Bad tools
Inherently hard to test. Isolation is difficult
Attitude ("it's not my job")
Too much boilerplate code
OO tools not directly applicable for RDBMS
Changes are persistent
Shared environment
Triggers, Constraints
20/56
How to isolate db tests?
Run tests in one transaction
#bgoug2013
Makes them repeatable and independent
When one transaction is not an option - clean up
after tests
21/56
How to isolate db tests (2)?
Dedicated database
#bgoug2013
One db per contributor
Separate schemas
Shared Dev db may work too
As a rule - avoid running tests on top of production
22/56
Other Tips
#bgoug2013
Make tests self-sufficient
Don't count on the order of tests
Prepare everything you need for the test in its set-up
23/56
#bgoug2013
DbFit
24/56
What is DbFit?
#bgoug2013
Initially created by Gojko Adzic:
Enables manipulating database objects and defining
tests in tabular form
Open source https://github.com/benilovj/dbfit
to enable efficient database testing
motivate database developers to use an
automated testing framework
25/56
DbFit, FIT and FitNesse
#bgoug2013
DbFit is based on FIT+FitNesse+DB Fixtures which
enable FIT/Fitnesse tests to execute directly against a
database.
FIT is Acceptance testing framework
FitNesse is Wiki-web based front-end for FIT
customer oriented
tests are described as tables
26/56
FitNesse architecture
#bgoug2013
source: Fittnesse User Guilde - One Minute Description
27/56
What is DbFit Fixture?
#bgoug2013
A fixture is interface between:
In general there is 1:1 mapping between Fit table
and fixture
the test instrumentation (Fit framework),
test cases (Fit tables),
and the system under test (e.g. a database
stored procedure)
28/56
Why DbFit?
#bgoug2013
Easy to use (even for non-technical people)
Provides all the plumbing:
Runs inside FitNesse - already integrated with lots of
other tools/libraries
Tests expressed and managed as tables
Web-Wiki front-end
Transaction management
Features based on meta-data
Parameter mapping
29/56
What is Wiki?
#bgoug2013
The simplest online database that could possibly
work. - Ward Cunningham
Allows users to freely create and edit Web page
content using any Web browser
A group communication mechanisms
Encourages democratic use of the Web and
promotes content composition by nontechnical
users
source: http://wiki.org/wiki.cgi?WhatIsWiki
30/56
Fitnesse Wiki
#bgoug2013
Hierarchies - SubWiki, Test Suites
Page types - Suite, Test, Static
Some special pages:
http://fitnesse.org/FitNesse.UserGuide
PageHeader, PageFooter
SetUp, TearDown, SuiteSetUp, SuiteTearDown
Inherited recurively by default; can be overriden
31/56
A Unit test with DbFit
#bgoug2013
Set up the input data (arrange).
Execute a function or procedure (act).
Run a query and compare actual vs expected data
(assert).
1.
2.
3.
32/56
Basic commands of DbFit
#bgoug2013
Query
Insert
Update
Execute Procedure
Execute
33/56
Advanced features
#bgoug2013
Inspect queries, tables, procedures to auto-generate
test tables and regression tests
Store and compare queries
Standalone mode for full control
34/56
Getting started
#bgoug2013
Needs Java to run
Download: http://benilovj.github.io/dbfit
Unzip
Copy Oracle JDBC driver (ojdbc6.jar) to lib subfolder
Run the startup script (startFitnesse.sh or
startFitnesse.bat)
Access via web browser - http://localhost:8085
1.
2.
3.
4.
5.
6.
35/56
Connecting to the database
Inline configuration:
Using properties file:
#bgoug2013
!|Connect|localhost:1521|username|password|dbname|
!|ConnectUsingFile|DBConnection.properties|
service=localhost:1521
username=username
password=password
database=dbname
36/56
Query
#bgoug2013
!|insert|testtbl|
|n |name |
|1 |NAME1 |
|3 |NAME3 |
|2 |NAME2 |
!|query|select*fromtesttbl|
|n |name |
|1 |NAME1 |
|3 |NAME3 |
|2 |NAME2 |
37/56
Ordered Query
#bgoug2013
!|OrderedQuery|select*fromtesttblorderbyn|
|n |name? |
|1 |NAME1 |
|3 |NAME3 |
|2 |NAME2 |
38/56
Insert
#bgoug2013
!|insert|testtbl|
|n |name |
|1 |NAME1 |
|3 |NAME3 |
|2 |NAME2 |
39/56
Execute Procedure
#bgoug2013
!2Noparameters
!|ExecuteProcedure|do_stuff|
!2Functions-returnvalueswith"?"
!|ExecuteProcedure|zlpad_notrunc |
|p_str |p_padded_len|? |
|'12' |5 |'00012'|
!2OUTparameters-"?"suffix
!|ExecuteProcedure|split_name|
|p_fullname|p_first_name?|p_last_name?|
|MikeyMouse|Mickey |Mouse |
!2INOUTparameters-specifytwice
!|ExecuteProcedure|make_double|
|x|x?|
|3|6|
40/56
Expect exception
#bgoug2013
!2ExpectORA-20013
!|Executeprocedureexpectexception|set_age|20013|
|p_age |
|-5 |
41/56
Parameters and fixture symbols
#bgoug2013
set parameterto set parameter directly
>>paramname- store a value
<<paramname- read the value
!|setparameter|ONE|1|
!|query|selectsysdatemytimefromdual|
|mytime? |
|>>current_time |
!|query|selectcount(*)cntfromdualwheresysdate>=:current_time|
|cnt |
|<<ONE |
42/56
Store Query
#bgoug2013
!|StoreQuery|select1nfromdualunionselect2nfromdual|firsttable|
!|query|<<firsttable|
|n |
|1 |
|2 |
43/56
Compare Stored Queries
#bgoug2013
!|insert|testtbl|
|n |name |
|1 |NAME1 |
|3 |NAME3 |
|2 |NAME2 |
|StoreQuery|select*fromtesttbl|fromtable|
|StoreQuery|!-select1n,'name1'namefromdual|fromdual|
|comparestoredqueries|fromtable|fromdual|
|name |n? |
Use ? suffix for non-key columns
44/56
Working Modes of fixtures
#bgoug2013
Flow
Standalone
45/56
Working Modes of fixtures (2)
Flow mode
#bgoug2013
A DatabaseTest fixture controls the whole page and
coordinates testing
Automatic rollback at the end (manual commit or
rollback is still possible)
Better isolation
Some additional features such as inspections of
stored procedure error results
OracleTest, MysqlTest, DerbyTest, DB2Test, ...
46/56
Working Modes of fixtures (3)
Standalone mode
#bgoug2013
We are responsible for transaction management
Enables more control over the database testing
process
Allows using other individual fixtures
We can supply our own database connection to
make sure that (Java) integration tests are running in
the same transaction
47/56
Connecting to databse
#bgoug2013
!3InFlowmode
!|dbfit.OracleTest|
!|Connect|ourhost:1521|dbusername|dbpassword|mydb|
#Alternatively-TNSdescriptorcanbeused:
#!|Connect|(DESCRIPTION=(ADDRESS=...))|
!3InStandalonemode
|importfixture|
|dbfit.fixture|
!|DatabaseEnvironment|oracle|
|connect|localhost:1521|dbusername|dbpassword|mydb|
48/56
Integration test with SQL*Loader
#bgoug2013
Compile CommandLineFixture (by Bob Martin)
Use it to run a shell script
!3LoadsomedatawithOracleSQL*Loader
|com.objectmentor.fixtures.CommandLineFixture |
|command|${PROJECT_ROOT}/loaderdemo/load_employee.sh|
!|Query|select*fromemployee |
|id |name?|dept? |salary?|
|100 |Thomas|Sales |5000 |
|200 |Jason|Technology|5500 |
|300 |Mayla|Technology|7000 |
|400 |Nisha|Marketing|9500 |
|500 |Randy|Technology|6000 |
|501 |Ritu |Accounting|5400 |
49/56
Automating tests execution
#bgoug2013
Running tests from command line
Run test or suite as RESTful service
http://fitnesse.org/FitNesse.UserGuide.RestfulServices
JUnit
java-jarfitnesse-standalone.jar
-d"${TESTS_DIR}"
-c"BgougDemoSuite?suite&format=text"
50/56
How tests are stored?
#bgoug2013
Simple text files
content.txt - test definition and other Wiki content
properties.xml - metadata (Test, Sute)
Easy to put under version control
51/56
#bgoug2013
Demo
52/56
Summary
#bgoug2013
Changes of database code and schema are often
relatively hard
This makes the systems considered legacy
TDD stimulates designing cleaner and easier to
change code
Development of RDBMS artefacts is lagging when it
comes to engineering practices and tools
DbFit can help
53/56
Resources
#bgoug2013
http://benilovj.github.io/dbfit - with links to:
https://github.com/javornikolov/tdd-with-dbfit-bgoug-201305
http://gojko.net/2007/11/20/fighting-the-monster
http://www.agiledata.org/essays/tdd.html, http://www.agiledata.org
Test Driven Development: By Example, Kent Beck
Refactoring Databases - Evolutionary Database Design, Scott W. Ambler, Pramodkumar J. Sadalage
download DbFit
docs, getting started information
mailing list - don't hesitate to participate and ask questions
code repository at github - reports for problems, suggestions and contributions are welcome
54/56
Thank You!
nikolov dot javor at gmail
Q&A
#bgoug2013 56/56

Más contenido relacionado

La actualidad más candente

Hands on training on DbFit Part-I
Hands on training on DbFit Part-IHands on training on DbFit Part-I
Hands on training on DbFit Part-IBabul Mirdha
 
Full Testing Experience - Visual Studio and TFS 2010
 Full Testing Experience - Visual Studio and TFS 2010 Full Testing Experience - Visual Studio and TFS 2010
Full Testing Experience - Visual Studio and TFS 2010Ed Blankenship
 
Unit vs. Integration Tests
Unit vs. Integration TestsUnit vs. Integration Tests
Unit vs. Integration TestsDavid Völkel
 
Principles and patterns for test driven development
Principles and patterns for test driven developmentPrinciples and patterns for test driven development
Principles and patterns for test driven developmentStephen Fuqua
 
Pitfalls Of Tdd Adoption by Bartosz Bankowski
Pitfalls Of Tdd Adoption by Bartosz BankowskiPitfalls Of Tdd Adoption by Bartosz Bankowski
Pitfalls Of Tdd Adoption by Bartosz BankowskiAgileee
 
Fitnesse Testing Framework
Fitnesse Testing Framework Fitnesse Testing Framework
Fitnesse Testing Framework Ajit Koti
 
Testing in FrontEnd World by Nikita Galkin
Testing in FrontEnd World by Nikita GalkinTesting in FrontEnd World by Nikita Galkin
Testing in FrontEnd World by Nikita GalkinSigma Software
 
Test automation lesson
Test automation lessonTest automation lesson
Test automation lessonSadaaki Emura
 
Unit testing (workshop)
Unit testing (workshop)Unit testing (workshop)
Unit testing (workshop)Foyzul Karim
 
Unit Test + Functional Programming = Love
Unit Test + Functional Programming = LoveUnit Test + Functional Programming = Love
Unit Test + Functional Programming = LoveAlvaro Videla
 
Benefit From Unit Testing In The Real World
Benefit From Unit Testing In The Real WorldBenefit From Unit Testing In The Real World
Benefit From Unit Testing In The Real WorldDror Helper
 
Understanding Unit Testing
Understanding Unit TestingUnderstanding Unit Testing
Understanding Unit Testingikhwanhayat
 
Writing useful automated tests for the single page applications you build
Writing useful automated tests for the single page applications you buildWriting useful automated tests for the single page applications you build
Writing useful automated tests for the single page applications you buildAndrei Sebastian Cîmpean
 
Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.Deepak Singhvi
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven DevelopmentConsulthinkspa
 
An Introduction to Unit Testing
An Introduction to Unit TestingAn Introduction to Unit Testing
An Introduction to Unit TestingJoe Tremblay
 
Test automation engineer
Test automation engineerTest automation engineer
Test automation engineerSadaaki Emura
 
Writing Acceptance Tests Using Fitnesse
Writing Acceptance Tests Using FitnesseWriting Acceptance Tests Using Fitnesse
Writing Acceptance Tests Using FitnesseFacundo Farias
 
TDD And Refactoring
TDD And RefactoringTDD And Refactoring
TDD And RefactoringNaresh Jain
 
Ivan Pashko - Simplifying test automation with design patterns
Ivan Pashko - Simplifying test automation with design patternsIvan Pashko - Simplifying test automation with design patterns
Ivan Pashko - Simplifying test automation with design patternsIevgenii Katsan
 

La actualidad más candente (20)

Hands on training on DbFit Part-I
Hands on training on DbFit Part-IHands on training on DbFit Part-I
Hands on training on DbFit Part-I
 
Full Testing Experience - Visual Studio and TFS 2010
 Full Testing Experience - Visual Studio and TFS 2010 Full Testing Experience - Visual Studio and TFS 2010
Full Testing Experience - Visual Studio and TFS 2010
 
Unit vs. Integration Tests
Unit vs. Integration TestsUnit vs. Integration Tests
Unit vs. Integration Tests
 
Principles and patterns for test driven development
Principles and patterns for test driven developmentPrinciples and patterns for test driven development
Principles and patterns for test driven development
 
Pitfalls Of Tdd Adoption by Bartosz Bankowski
Pitfalls Of Tdd Adoption by Bartosz BankowskiPitfalls Of Tdd Adoption by Bartosz Bankowski
Pitfalls Of Tdd Adoption by Bartosz Bankowski
 
Fitnesse Testing Framework
Fitnesse Testing Framework Fitnesse Testing Framework
Fitnesse Testing Framework
 
Testing in FrontEnd World by Nikita Galkin
Testing in FrontEnd World by Nikita GalkinTesting in FrontEnd World by Nikita Galkin
Testing in FrontEnd World by Nikita Galkin
 
Test automation lesson
Test automation lessonTest automation lesson
Test automation lesson
 
Unit testing (workshop)
Unit testing (workshop)Unit testing (workshop)
Unit testing (workshop)
 
Unit Test + Functional Programming = Love
Unit Test + Functional Programming = LoveUnit Test + Functional Programming = Love
Unit Test + Functional Programming = Love
 
Benefit From Unit Testing In The Real World
Benefit From Unit Testing In The Real WorldBenefit From Unit Testing In The Real World
Benefit From Unit Testing In The Real World
 
Understanding Unit Testing
Understanding Unit TestingUnderstanding Unit Testing
Understanding Unit Testing
 
Writing useful automated tests for the single page applications you build
Writing useful automated tests for the single page applications you buildWriting useful automated tests for the single page applications you build
Writing useful automated tests for the single page applications you build
 
Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
An Introduction to Unit Testing
An Introduction to Unit TestingAn Introduction to Unit Testing
An Introduction to Unit Testing
 
Test automation engineer
Test automation engineerTest automation engineer
Test automation engineer
 
Writing Acceptance Tests Using Fitnesse
Writing Acceptance Tests Using FitnesseWriting Acceptance Tests Using Fitnesse
Writing Acceptance Tests Using Fitnesse
 
TDD And Refactoring
TDD And RefactoringTDD And Refactoring
TDD And Refactoring
 
Ivan Pashko - Simplifying test automation with design patterns
Ivan Pashko - Simplifying test automation with design patternsIvan Pashko - Simplifying test automation with design patterns
Ivan Pashko - Simplifying test automation with design patterns
 

Destacado

Hands on training on DbFit Part-II
Hands on training on DbFit Part-IIHands on training on DbFit Part-II
Hands on training on DbFit Part-IIBabul Mirdha
 
Testing regression
Testing regressionTesting regression
Testing regressionRichie Lee
 
Deliberate Practice (Agile Slovenia 2015)
Deliberate Practice (Agile Slovenia 2015)Deliberate Practice (Agile Slovenia 2015)
Deliberate Practice (Agile Slovenia 2015)Peter Kofler
 
見守りサービスMiimaミーマ 資料
見守りサービスMiimaミーマ 資料見守りサービスMiimaミーマ 資料
見守りサービスMiimaミーマ 資料kaisya_account
 
Open Source BI Overview
Open Source BI Overview Open Source BI Overview
Open Source BI Overview Alex Meadows
 
Trivadis TechEvent 2016 A few thoughts on the subject Continuous integration ...
Trivadis TechEvent 2016 A few thoughts on the subject Continuous integration ...Trivadis TechEvent 2016 A few thoughts on the subject Continuous integration ...
Trivadis TechEvent 2016 A few thoughts on the subject Continuous integration ...Trivadis
 
Lynn Winterboer : Test automation
Lynn Winterboer : Test automation Lynn Winterboer : Test automation
Lynn Winterboer : Test automation AgileDenver
 
Agile Methods and Data Warehousing (2016 update)
Agile Methods and Data Warehousing (2016 update)Agile Methods and Data Warehousing (2016 update)
Agile Methods and Data Warehousing (2016 update)Kent Graziano
 
TDD - Test Driven Dvelopment | Test First Design
TDD -  Test Driven Dvelopment | Test First DesignTDD -  Test Driven Dvelopment | Test First Design
TDD - Test Driven Dvelopment | Test First DesignQuang Nguyễn Bá
 

Destacado (10)

Hands on training on DbFit Part-II
Hands on training on DbFit Part-IIHands on training on DbFit Part-II
Hands on training on DbFit Part-II
 
Testing regression
Testing regressionTesting regression
Testing regression
 
Deliberate Practice (Agile Slovenia 2015)
Deliberate Practice (Agile Slovenia 2015)Deliberate Practice (Agile Slovenia 2015)
Deliberate Practice (Agile Slovenia 2015)
 
見守りサービスMiimaミーマ 資料
見守りサービスMiimaミーマ 資料見守りサービスMiimaミーマ 資料
見守りサービスMiimaミーマ 資料
 
Open Source BI Overview
Open Source BI Overview Open Source BI Overview
Open Source BI Overview
 
Trivadis TechEvent 2016 A few thoughts on the subject Continuous integration ...
Trivadis TechEvent 2016 A few thoughts on the subject Continuous integration ...Trivadis TechEvent 2016 A few thoughts on the subject Continuous integration ...
Trivadis TechEvent 2016 A few thoughts on the subject Continuous integration ...
 
Agile WTF
Agile WTFAgile WTF
Agile WTF
 
Lynn Winterboer : Test automation
Lynn Winterboer : Test automation Lynn Winterboer : Test automation
Lynn Winterboer : Test automation
 
Agile Methods and Data Warehousing (2016 update)
Agile Methods and Data Warehousing (2016 update)Agile Methods and Data Warehousing (2016 update)
Agile Methods and Data Warehousing (2016 update)
 
TDD - Test Driven Dvelopment | Test First Design
TDD -  Test Driven Dvelopment | Test First DesignTDD -  Test Driven Dvelopment | Test First Design
TDD - Test Driven Dvelopment | Test First Design
 

Similar a Test-Driven Development with DbFit and Oracle database, BGOUG Conference, 2013-05-18

Always Be Deploying. How to make R great for machine learning in (not only) E...
Always Be Deploying. How to make R great for machine learning in (not only) E...Always Be Deploying. How to make R great for machine learning in (not only) E...
Always Be Deploying. How to make R great for machine learning in (not only) E...Wit Jakuczun
 
Curious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks ComparisonCurious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks ComparisonHamed Hatami
 
Experimenting on Humans - Advanced A/B Tests - QCon SF 2014
Experimenting on Humans - Advanced A/B Tests - QCon SF 2014Experimenting on Humans - Advanced A/B Tests - QCon SF 2014
Experimenting on Humans - Advanced A/B Tests - QCon SF 2014Aviran Mordo
 
Developer Productivity Engineering with Gradle
Developer Productivity Engineering with GradleDeveloper Productivity Engineering with Gradle
Developer Productivity Engineering with GradleAll Things Open
 
Canadian Experts Discuss Modern Data Stacks and Cloud Computing for 5 Years o...
Canadian Experts Discuss Modern Data Stacks and Cloud Computing for 5 Years o...Canadian Experts Discuss Modern Data Stacks and Cloud Computing for 5 Years o...
Canadian Experts Discuss Modern Data Stacks and Cloud Computing for 5 Years o...Daniel Zivkovic
 
Ride the database in JUnit tests with Database Rider
Ride the database in JUnit tests with Database RiderRide the database in JUnit tests with Database Rider
Ride the database in JUnit tests with Database RiderMikalai Alimenkou
 
Exploratory Testing As Code Eurostar23
Exploratory Testing As Code Eurostar23Exploratory Testing As Code Eurostar23
Exploratory Testing As Code Eurostar23Brendan Connolly
 
Exploratory Testing As Code
Exploratory Testing As CodeExploratory Testing As Code
Exploratory Testing As CodeBrendan Connolly
 
Mastering BDD - Eran Kinsbruner Workshop Quest 2018
Mastering BDD - Eran Kinsbruner Workshop Quest 2018Mastering BDD - Eran Kinsbruner Workshop Quest 2018
Mastering BDD - Eran Kinsbruner Workshop Quest 2018Perfecto Mobile
 
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISONSTATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISONijseajournal
 
Advanced A/B Testing at Wix - Aviran Mordo and Sagy Rozman, Wix.com
Advanced A/B Testing at Wix - Aviran Mordo and Sagy Rozman, Wix.comAdvanced A/B Testing at Wix - Aviran Mordo and Sagy Rozman, Wix.com
Advanced A/B Testing at Wix - Aviran Mordo and Sagy Rozman, Wix.comDevOpsDays Tel Aviv
 
GDG DevFest Ukraine - Powering Interactive Data Analysis with Google BigQuery
GDG DevFest Ukraine - Powering Interactive Data Analysis with Google BigQueryGDG DevFest Ukraine - Powering Interactive Data Analysis with Google BigQuery
GDG DevFest Ukraine - Powering Interactive Data Analysis with Google BigQueryMárton Kodok
 
Datastage training-course-navi-mumbai-datastage-course-provider-navi-mumbai
Datastage training-course-navi-mumbai-datastage-course-provider-navi-mumbaiDatastage training-course-navi-mumbai-datastage-course-provider-navi-mumbai
Datastage training-course-navi-mumbai-datastage-course-provider-navi-mumbaiVibrantGroup
 
Works on My Machine Syndrome
Works on My Machine SyndromeWorks on My Machine Syndrome
Works on My Machine SyndromeKamran Bilgrami
 
Infrastructure as Code for Network
Infrastructure as Code for NetworkInfrastructure as Code for Network
Infrastructure as Code for NetworkDamien Garros
 
ESG Labs Testing and Performance Audit of the NetBackup 5330 Appliance
ESG Labs Testing and Performance Audit of the NetBackup 5330 ApplianceESG Labs Testing and Performance Audit of the NetBackup 5330 Appliance
ESG Labs Testing and Performance Audit of the NetBackup 5330 ApplianceSymantec
 

Similar a Test-Driven Development with DbFit and Oracle database, BGOUG Conference, 2013-05-18 (20)

Always Be Deploying. How to make R great for machine learning in (not only) E...
Always Be Deploying. How to make R great for machine learning in (not only) E...Always Be Deploying. How to make R great for machine learning in (not only) E...
Always Be Deploying. How to make R great for machine learning in (not only) E...
 
Api gitlab: configurazione dei progetti as a service
Api gitlab: configurazione dei progetti as a serviceApi gitlab: configurazione dei progetti as a service
Api gitlab: configurazione dei progetti as a service
 
Curious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks ComparisonCurious Coders Java Web Frameworks Comparison
Curious Coders Java Web Frameworks Comparison
 
Experimenting on Humans - Advanced A/B Tests - QCon SF 2014
Experimenting on Humans - Advanced A/B Tests - QCon SF 2014Experimenting on Humans - Advanced A/B Tests - QCon SF 2014
Experimenting on Humans - Advanced A/B Tests - QCon SF 2014
 
Developer Productivity Engineering with Gradle
Developer Productivity Engineering with GradleDeveloper Productivity Engineering with Gradle
Developer Productivity Engineering with Gradle
 
Workflow Management Systems Comparison Study
 Workflow Management Systems Comparison Study Workflow Management Systems Comparison Study
Workflow Management Systems Comparison Study
 
Canadian Experts Discuss Modern Data Stacks and Cloud Computing for 5 Years o...
Canadian Experts Discuss Modern Data Stacks and Cloud Computing for 5 Years o...Canadian Experts Discuss Modern Data Stacks and Cloud Computing for 5 Years o...
Canadian Experts Discuss Modern Data Stacks and Cloud Computing for 5 Years o...
 
Ride the database in JUnit tests with Database Rider
Ride the database in JUnit tests with Database RiderRide the database in JUnit tests with Database Rider
Ride the database in JUnit tests with Database Rider
 
Exploratory Testing As Code Eurostar23
Exploratory Testing As Code Eurostar23Exploratory Testing As Code Eurostar23
Exploratory Testing As Code Eurostar23
 
Exploratory Testing As Code
Exploratory Testing As CodeExploratory Testing As Code
Exploratory Testing As Code
 
Django
Django Django
Django
 
Mastering BDD - Eran Kinsbruner Workshop Quest 2018
Mastering BDD - Eran Kinsbruner Workshop Quest 2018Mastering BDD - Eran Kinsbruner Workshop Quest 2018
Mastering BDD - Eran Kinsbruner Workshop Quest 2018
 
Django
DjangoDjango
Django
 
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISONSTATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
 
Advanced A/B Testing at Wix - Aviran Mordo and Sagy Rozman, Wix.com
Advanced A/B Testing at Wix - Aviran Mordo and Sagy Rozman, Wix.comAdvanced A/B Testing at Wix - Aviran Mordo and Sagy Rozman, Wix.com
Advanced A/B Testing at Wix - Aviran Mordo and Sagy Rozman, Wix.com
 
GDG DevFest Ukraine - Powering Interactive Data Analysis with Google BigQuery
GDG DevFest Ukraine - Powering Interactive Data Analysis with Google BigQueryGDG DevFest Ukraine - Powering Interactive Data Analysis with Google BigQuery
GDG DevFest Ukraine - Powering Interactive Data Analysis with Google BigQuery
 
Datastage training-course-navi-mumbai-datastage-course-provider-navi-mumbai
Datastage training-course-navi-mumbai-datastage-course-provider-navi-mumbaiDatastage training-course-navi-mumbai-datastage-course-provider-navi-mumbai
Datastage training-course-navi-mumbai-datastage-course-provider-navi-mumbai
 
Works on My Machine Syndrome
Works on My Machine SyndromeWorks on My Machine Syndrome
Works on My Machine Syndrome
 
Infrastructure as Code for Network
Infrastructure as Code for NetworkInfrastructure as Code for Network
Infrastructure as Code for Network
 
ESG Labs Testing and Performance Audit of the NetBackup 5330 Appliance
ESG Labs Testing and Performance Audit of the NetBackup 5330 ApplianceESG Labs Testing and Performance Audit of the NetBackup 5330 Appliance
ESG Labs Testing and Performance Audit of the NetBackup 5330 Appliance
 

Último

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 

Último (20)

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 

Test-Driven Development with DbFit and Oracle database, BGOUG Conference, 2013-05-18