SlideShare a Scribd company logo
1 of 83
Behaviour Driven Development with   Java Nikolay Vasilev 15 July 2011
Content ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
BDD
Test-Driven Development (TDD) ,[object Object]
Test-Driven Development (TDD) ,[object Object],[object Object],[object Object]
Unit Testing ,[object Object],[object Object],[object Object],[object Object]
User’s Expectations ,[object Object],[object Object],[object Object],[object Object]
Testing Types and Expectations Application Levels   Testing Type Expectations   UI / Presentation / … Controls / Services / … Classes / Models / … Code Meets Customer’s Expectations Code Meets Programmer’s Expectations Unit Testing BDD Selenium
DDD and Ubiquitous Language ,[object Object],[object Object],[object Object],[object Object]
Executable Documentation ,[object Object],[object Object],[object Object],[object Object]
Behaviour Driven Design ,[object Object],[object Object],[object Object],[object Object],[object Object]
BDD as Stories and Behaviour ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Stories and Behaviour ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
A Story Structure ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
BDD Process Exercise expectations against Matches to Customer QA Domain Expert Developer
BDD Process
BDD Process ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
BDD Tools ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
BDD Tools (Java Related) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
JBehave
JBehave ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
JBehave - Features ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
JBehave Web - Features ,[object Object],[object Object],[object Object],[object Object],[object Object]
JBehave – Five Steps Overview ,[object Object],[object Object],[object Object],[object Object],[object Object]
JBehave – Five Steps Overview ,[object Object],Narrative : In order to  calculate BMI with ease As a  doctor I want to  have BMI Calculator application Meta : @author Nikolay Vasilev @bg-jug Scenario : Simple BMI calculator validation Given  a body mass index calculator When  a patient's is with mass 77 kg and height 1.75 m Then  patient's body mass index is 25.14285659790039
JBehave – Five Steps Overview ,[object Object]
JBehave – Five Steps Overview ,[object Object]
JBehave – Five Steps Overview ,[object Object]
JBehave – Five Steps Overview ,[object Object]
JBehave – Use Case ,[object Object],[object Object]
JBehave – Use Case ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
JBehave – Use Case ,[object Object]
JBehave Stories ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
JBehave Steps ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
JBehave Steps ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
JBehave Configuration ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
JBehave Configuration ,[object Object]
JBehave Configuration ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
JBehave – Advanced ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
JBehave – Advanced ,[object Object],[object Object],[object Object],[object Object],Given  tab  e|---------------------------------  B|---------------------------------  G|---------------------------------  D|----------0--0-------------------  A|-0--2--3----------2--0-----0--0–  E|------------------------3-------- When  the guitar plays  Then  the following notes will be played  A0 A2 A3 D0 D0 A2 A0 E3 A0 A0
JBehave – Advanced ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Meta @author  Nikolay Vasilev @organization  Bulgarian Java Users Group -author *Vasilev
JBehave – Advanced ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
JBehave Reporting Options ,[object Object]
JBehave Reporting Options ,[object Object]
JBehave Reporting Options ,[object Object]
JBehave Reporting Options ,[object Object]
JBehave – Eclipse Plugin ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
JBehave – Eclipse Plugin ,[object Object],[object Object],[object Object],[object Object]
JBehave – Install Eclipse Plugin ,[object Object]
JBehave – Install Eclipse Plugin ,[object Object]
JBehave – Install Eclipse Plugin ,[object Object]
JBehave – Install Eclipse Plugin ,[object Object]
JBehave – Install Eclipse Plugin ,[object Object]
JBehave – Install Eclipse Plugin ,[object Object]
JBehave – Install Eclipse Plugin ,[object Object]
JBehave – Install Eclipse Plugin ,[object Object]
JBehave – Install Eclipse Plugin ,[object Object]
JBehave – Install Eclipse Plugin ,[object Object]
JBehave – Install Eclipse Plugin ,[object Object]
JBehave – Install Eclipse Plugin ,[object Object]
JBehave – Install Eclipse Plugin ,[object Object]
JBehave – Install Eclipse Plugin ,[object Object]
JBehave – Install Eclipse Plugin ,[object Object]
JBehave – Install Eclipse Plugin ,[object Object]
Jbehave and Selenium
JBehave and Selenium ,[object Object],[object Object],[object Object],Java, Perl, C#, C, etc. Selenium Object Tested WebApp Selenium RC Server Browsers
JBehave and Selenium ,[object Object],[object Object],Steps Selenium Object Tested WebApp Selenium RC Server Browsers Stories
JBehave and Selenium ,[object Object],[object Object],Steps Selenium Object Tested WebApp Selenium RC Server Browsers Stories
JBehave and Selenium ,[object Object],[object Object],[object Object],Steps Selenium Object Tested WebApp Selenium RC Server Browsers Stories Page Object
JBehave and Selenium ,[object Object],[object Object],[object Object],[object Object]
JBehave and Selenium ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Use Case – Web Testing ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Use Case – Web Testing ,[object Object]
Use Case – Web Testing ,[object Object]
Use Case – Web Testing ,[object Object]
JBehave - Pros and Cons
Questions and Answers
Use Case & Examples Code ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Use Case & Examples Code ,[object Object],[object Object]
References ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
References ,[object Object],[object Object],[object Object],[object Object],[object Object]
References ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Thank you for your attention!

More Related Content

What's hot

Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Simplilearn
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
Simplilearn
 

What's hot (20)

How BDD enables True CI/CD
How BDD enables True CI/CDHow BDD enables True CI/CD
How BDD enables True CI/CD
 
Introduction to Selenium Automation
Introduction to Selenium AutomationIntroduction to Selenium Automation
Introduction to Selenium Automation
 
An overview of selenium webdriver
An overview of selenium webdriverAn overview of selenium webdriver
An overview of selenium webdriver
 
DevOps
DevOpsDevOps
DevOps
 
Deployment Strategy PowerPoint Presentation Slides
Deployment Strategy PowerPoint Presentation SlidesDeployment Strategy PowerPoint Presentation Slides
Deployment Strategy PowerPoint Presentation Slides
 
DevOps overview 2019-04-13 Nelkinda April Meetup
DevOps overview  2019-04-13 Nelkinda April MeetupDevOps overview  2019-04-13 Nelkinda April Meetup
DevOps overview 2019-04-13 Nelkinda April Meetup
 
DevOps introduction
DevOps introductionDevOps introduction
DevOps introduction
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
DevOps 101
DevOps 101DevOps 101
DevOps 101
 
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
 
Test Automation Framework with BDD and Cucumber
Test Automation Framework with BDD and CucumberTest Automation Framework with BDD and Cucumber
Test Automation Framework with BDD and Cucumber
 
Selenium Interview Questions and Answers For Freshers And Experienced | Edureka
Selenium Interview Questions and Answers For Freshers And Experienced | EdurekaSelenium Interview Questions and Answers For Freshers And Experienced | Edureka
Selenium Interview Questions and Answers For Freshers And Experienced | Edureka
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
 
Neoito — GitLab for project management
Neoito — GitLab for project managementNeoito — GitLab for project management
Neoito — GitLab for project management
 
iOS Modular Architecture with Tuist
iOS Modular Architecture with TuistiOS Modular Architecture with Tuist
iOS Modular Architecture with Tuist
 
SonarQube - The leading platform for Continuous Code Quality
SonarQube - The leading platform for Continuous Code QualitySonarQube - The leading platform for Continuous Code Quality
SonarQube - The leading platform for Continuous Code Quality
 
DevOps
DevOpsDevOps
DevOps
 
Selenium WebDriver with C#
Selenium WebDriver with C#Selenium WebDriver with C#
Selenium WebDriver with C#
 
Selenium ppt
Selenium pptSelenium ppt
Selenium ppt
 
Selenium WebDriver
Selenium WebDriverSelenium WebDriver
Selenium WebDriver
 

Viewers also liked (7)

Behavior Driven Development
Behavior Driven DevelopmentBehavior Driven Development
Behavior Driven Development
 
FIT and JBehave - Good, Bad and Ugly
FIT and JBehave - Good, Bad and UglyFIT and JBehave - Good, Bad and Ugly
FIT and JBehave - Good, Bad and Ugly
 
Jbehave- Basics to Advance
Jbehave- Basics to AdvanceJbehave- Basics to Advance
Jbehave- Basics to Advance
 
Jbehave + serenity
Jbehave + serenityJbehave + serenity
Jbehave + serenity
 
BDD using JBehave
BDD using JBehaveBDD using JBehave
BDD using JBehave
 
Cucumber ppt
Cucumber pptCucumber ppt
Cucumber ppt
 
Model storming
Model stormingModel storming
Model storming
 

Similar to BDD with JBehave and Selenium

eXo Platform SEA - Play Framework Introduction
eXo Platform SEA - Play Framework IntroductioneXo Platform SEA - Play Framework Introduction
eXo Platform SEA - Play Framework Introduction
vstorm83
 
Qtp interview questions
Qtp interview questionsQtp interview questions
Qtp interview questions
Ramu Palanki
 
Qtp interview questions
Qtp interview questionsQtp interview questions
Qtp interview questions
Ramu Palanki
 
Struts 2-overview2
Struts 2-overview2Struts 2-overview2
Struts 2-overview2
divzi1913
 

Similar to BDD with JBehave and Selenium (20)

Behavior Driven Development by Example
Behavior Driven Development by ExampleBehavior Driven Development by Example
Behavior Driven Development by Example
 
Behaviour Driven Development V 0.1
Behaviour Driven Development V 0.1Behaviour Driven Development V 0.1
Behaviour Driven Development V 0.1
 
Java EE 7 Recipes
Java EE 7 RecipesJava EE 7 Recipes
Java EE 7 Recipes
 
BDD and Test Automation in Evalutionary Product Suite
BDD and Test Automation in Evalutionary Product SuiteBDD and Test Automation in Evalutionary Product Suite
BDD and Test Automation in Evalutionary Product Suite
 
So What Do Cucumbers Have To Do With Testing
So What Do Cucumbers Have To Do With TestingSo What Do Cucumbers Have To Do With Testing
So What Do Cucumbers Have To Do With Testing
 
Apache Maven - eXo VN office presentation
Apache Maven - eXo VN office presentationApache Maven - eXo VN office presentation
Apache Maven - eXo VN office presentation
 
eXo Platform SEA - Play Framework Introduction
eXo Platform SEA - Play Framework IntroductioneXo Platform SEA - Play Framework Introduction
eXo Platform SEA - Play Framework Introduction
 
Zend con 2016 bdd with behat for beginners
Zend con 2016   bdd with behat for beginnersZend con 2016   bdd with behat for beginners
Zend con 2016 bdd with behat for beginners
 
PHPConf.asia 2016 - BDD with Behat for Beginners
PHPConf.asia 2016 - BDD with Behat for BeginnersPHPConf.asia 2016 - BDD with Behat for Beginners
PHPConf.asia 2016 - BDD with Behat for Beginners
 
Django on Jython, PyCon 2009
Django on Jython, PyCon 2009Django on Jython, PyCon 2009
Django on Jython, PyCon 2009
 
10 jsp-scripting-elements
10 jsp-scripting-elements10 jsp-scripting-elements
10 jsp-scripting-elements
 
java web framework standard.20180412
java web framework standard.20180412java web framework standard.20180412
java web framework standard.20180412
 
159747608 a-training-report-on
159747608 a-training-report-on159747608 a-training-report-on
159747608 a-training-report-on
 
Maven Introduction
Maven IntroductionMaven Introduction
Maven Introduction
 
Qtp interview questions
Qtp interview questionsQtp interview questions
Qtp interview questions
 
Qtp interview questions
Qtp interview questionsQtp interview questions
Qtp interview questions
 
Metaaso J Webframework
Metaaso J WebframeworkMetaaso J Webframework
Metaaso J Webframework
 
Spring Framework
Spring FrameworkSpring Framework
Spring Framework
 
AngularJS Beginner Day One
AngularJS Beginner Day OneAngularJS Beginner Day One
AngularJS Beginner Day One
 
Struts 2-overview2
Struts 2-overview2Struts 2-overview2
Struts 2-overview2
 

Recently uploaded

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
Safe 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 FME
Safe Software
 

Recently uploaded (20)

Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
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
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
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
 
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
 
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
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
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
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
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
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
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
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
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
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
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
 

BDD with JBehave and Selenium

  • 1. Behaviour Driven Development with Java Nikolay Vasilev 15 July 2011
  • 2.
  • 3. BDD
  • 4.
  • 5.
  • 6.
  • 7.
  • 8. Testing Types and Expectations Application Levels Testing Type Expectations UI / Presentation / … Controls / Services / … Classes / Models / … Code Meets Customer’s Expectations Code Meets Programmer’s Expectations Unit Testing BDD Selenium
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15. BDD Process Exercise expectations against Matches to Customer QA Domain Expert Developer
  • 17.
  • 18.
  • 19.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76. JBehave - Pros and Cons
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83. Thank you for your attention!

Editor's Notes

  1. Bulgarian Java Users Group
  2. Use Case - description of steps or actions between a user (or "actor") and a software system which leads the user towards something useful. User Story -  one or more sentences in the everyday or business language of the end user that captures what the user wants to achieve. Each user story is limited, so it fits on a small paper note card to ensure that it does not grow too large. A user story is an informal statement of the requirement as long as the correspondence of  acceptance testing procedures  is lacking. Bulgarian Java Users Group
  3. Bulgarian Java Users Group
  4. - ConfigurableEmbedder - allows the specification of the Configuration and CandidateSteps InjectableEmbedder -  allows the injection of a fully specified Embedder JUnitStory - provides a one-to-one mapping with the textual story JUnitStories - provides a many-to-one mapping with the textual story paths explicitly specified by overriding the  storyPaths()  method. Bulgarian Java Users Group
  5. Existing Projects into Workspace Bulgarian Java Users Group
  6. Existing Projects into Workspace Bulgarian Java Users Group
  7. Existing Projects into Workspace Bulgarian Java Users Group
  8. Existing Projects into Workspace Bulgarian Java Users Group
  9. Bulgarian Java Users Group
  10. Existing Projects into Workspace Bulgarian Java Users Group
  11. Bulgarian Java Users Group
  12. Bulgarian Java Users Group
  13. Bulgarian Java Users Group
  14. Bulgarian Java Users Group
  15. Bulgarian Java Users Group
  16. Bulgarian Java Users Group
  17. Bulgarian Java Users Group
  18. Bulgarian Java Users Group
  19. Bulgarian Java Users Group
  20. Bulgarian Java Users Group
  21. Bulgarian Java Users Group
  22. Bulgarian Java Users Group
  23. Bulgarian Java Users Group
  24. Bulgarian Java Users Group
  25. Bulgarian Java Users Group
  26. Bulgarian Java Users Group
  27. Bulgarian Java Users Group
  28. Bulgarian Java Users Group
  29. Bulgarian Java Users Group
  30. Bulgarian Java Users Group
  31. Bulgarian Java Users Group