Selenium + Wiki = “Live Requirements”Mikalai Alimenkouhttp://xpinjection.com26.02.2011
BackgroundJava Technical Lead/Scrum Master at Zoral Labs6+ years in software development4+ years of working by Agile methodologiesExpert in Agile engineering practicesAgile coach (TDD, Testing, Planning, etc.)at XP Injection (http://xpinjection.com)
AgendaWiki for requirementsFitNesseSelenium roleExisting solutionsBenefits
What is Wiki?GroupwareNo HTMLSimpleCommunicationOpenReliableKnowledge BaseOrganicEasy Access
How Wiki Works?
Wiki is Ideal for RequirementsWhole team can collaborate and make changesAccessible by webAll historical changes are availableAuthorized accessSingle observable requirements knowledge baseNo technical skills requiredFile attachments and images availableEvent notifications
Wiki Success
What is the Source of Tests?
Where is Right Place for Selenium?Delivery Pipeline?
Test ComponentsApplication DriverTest DataTestLogic
What is the Primary Goal?To enable reliable stable tests we need to separate all parts as much as possible
Ideal Testing FrameworkTest Data StorageTechnical Data Storage
FitNesse OverviewStandalone Wiki serverNo configuration or setupDifferent programming languages supportSoftware acceptance testing toolRun tests inside requirements pagesSupport RTF (Running Tested Features) metric
FitNesse SampleIgnoredExecuted
FitNesse Architecture
Roles and ResponsibilitiesCustomer writes text document with examples in tablesTechnical staff enhancetables to provide FIT dataTest document (HTML or text)with sketch tablesTest document (HTML)with sanitized tablesFeedbackTest document (HTML) and backing codeEXECUTABLE TESTTechnical staff implementsfixtures in programminglanguage to process FIT tables
Fitnium100% FitNesseFixtures for Selenium commandsSelenium RC run separatelyTiny integration layerSupported by GojkoAdzic and Jeremy D. Miller
Fitnium Demo
SelenesseMost fresh Selenium and FitNesse integration frameworkDoesn’t include Selenium RC in installationSupport main set of Selenium commandsGrowing set of helpful utility commands
Selenesse Demo
StoryTestIQMix of Selenium Core with FitNesseAll features of FitNesseExtended test management (tagging, suites, virtual directories, refactoring)IDE for writing and debugging testsReusable components supportDatabase related actionsHelpful documentationQuick start
StoryTestIQ Demo
Selenium + FitNesse: BenefitsTests may be created by nontechnical peopleTests are run directly from requirementsLarge set of supported commandsFitNesse provide test management Wiki server Selenium tests may be mixed with acceptance testsAcceptance tests may use Selenium commandsSelenium RC executes all testsRemote server is started and controlled separately
Any Questions?

Selenium + Wiki = Executable Specification

  • 1.
    Selenium + Wiki= “Live Requirements”Mikalai Alimenkouhttp://xpinjection.com26.02.2011
  • 2.
    BackgroundJava Technical Lead/ScrumMaster at Zoral Labs6+ years in software development4+ years of working by Agile methodologiesExpert in Agile engineering practicesAgile coach (TDD, Testing, Planning, etc.)at XP Injection (http://xpinjection.com)
  • 3.
    AgendaWiki for requirementsFitNesseSeleniumroleExisting solutionsBenefits
  • 4.
    What is Wiki?GroupwareNoHTMLSimpleCommunicationOpenReliableKnowledge BaseOrganicEasy Access
  • 5.
  • 6.
    Wiki is Idealfor RequirementsWhole team can collaborate and make changesAccessible by webAll historical changes are availableAuthorized accessSingle observable requirements knowledge baseNo technical skills requiredFile attachments and images availableEvent notifications
  • 7.
  • 8.
    What is theSource of Tests?
  • 9.
    Where is RightPlace for Selenium?Delivery Pipeline?
  • 10.
  • 11.
    What is thePrimary Goal?To enable reliable stable tests we need to separate all parts as much as possible
  • 12.
    Ideal Testing FrameworkTestData StorageTechnical Data Storage
  • 13.
    FitNesse OverviewStandalone WikiserverNo configuration or setupDifferent programming languages supportSoftware acceptance testing toolRun tests inside requirements pagesSupport RTF (Running Tested Features) metric
  • 14.
  • 15.
  • 16.
    Roles and ResponsibilitiesCustomerwrites text document with examples in tablesTechnical staff enhancetables to provide FIT dataTest document (HTML or text)with sketch tablesTest document (HTML)with sanitized tablesFeedbackTest document (HTML) and backing codeEXECUTABLE TESTTechnical staff implementsfixtures in programminglanguage to process FIT tables
  • 17.
    Fitnium100% FitNesseFixtures forSelenium commandsSelenium RC run separatelyTiny integration layerSupported by GojkoAdzic and Jeremy D. Miller
  • 18.
  • 19.
    SelenesseMost fresh Seleniumand FitNesse integration frameworkDoesn’t include Selenium RC in installationSupport main set of Selenium commandsGrowing set of helpful utility commands
  • 20.
  • 21.
    StoryTestIQMix of SeleniumCore with FitNesseAll features of FitNesseExtended test management (tagging, suites, virtual directories, refactoring)IDE for writing and debugging testsReusable components supportDatabase related actionsHelpful documentationQuick start
  • 22.
  • 23.
    Selenium + FitNesse:BenefitsTests may be created by nontechnical peopleTests are run directly from requirementsLarge set of supported commandsFitNesse provide test management Wiki server Selenium tests may be mixed with acceptance testsAcceptance tests may use Selenium commandsSelenium RC executes all testsRemote server is started and controlled separately
  • 24.