SlideShare une entreprise Scribd logo
1  sur  18
Applying BDD and TDD
                     practices, using Jasmine.js
                                                       - Anil Tarte




© Equal Experts UK Ltd 2011     www.equalexperts.com                  1
Outline
               Development Environment
               What is TDD?
               What is BDD?
               Domain problem
               Stories
               Demonstration
               Questions?


© Equal Experts UK Ltd 2011   www.equalexperts.com   2
Development Environment
          Eclipse
           – Using Eclipse IDE for JavaScript Web
             Developers
           – Installed Jetty(Run-Jetty-Run) plugin.
                          • Help -> Eclipse Marketplace -> type Jetty -> hit enter ->
                            install Run-Jetty-Run
          Backend Server(Streamer.jar),
           – URL to access it “ws://localhost:8081/”
           – It is a Streaming Engine and a Stub
             Exchange


© Equal Experts UK Ltd 2011                     www.equalexperts.com                    3
Test Driven Development (TDD)?
          Concept
            – Add a test for each new feature/improvement
            – Write production code, to pass test
            – Refactor
          Aspect
            – KISS (Keep It Simple, Stupid)
            – YAGNI (You Ain’t Goona Need It)
            – Fake it till you make it
          Benefits
            – Designs become more cleaner and clearer
            – Testable code
            – Focus only on what is important
© Equal Experts UK Ltd 2011     www.equalexperts.com        4
Behaviour Driven Development (BDD)?
          Concept
            – Write/Automate a desired behaviour first (in natural
              language)
            – Driven by business value
          Aspect
            – Test method names should be sentence
            – It extends TDD
          Benefits
            – Clear understanding of desired software behaviour
            – Starting point
            – Encourages more collaboration, Dev + QA + BA +
              Customer
© Equal Experts UK Ltd 2011       www.equalexperts.com               5
Domain Problem

                                 Heat Map




© Equal Experts UK Ltd 2011       www.equalexperts.com   6
Top 4 gainer?




© Equal Experts UK Ltd 2011   www.equalexperts.com   7
Different representation - Heat Map




© Equal Experts UK Ltd 2011   www.equalexperts.com   8
Another version




© Equal Experts UK Ltd 2011   www.equalexperts.com   9
Stories – Identify?
          Story 1 – As a trader, when I load application,
           I want to see the instruments, so that …

          Story 2 – As a trader, I want to see “price
           change” updating in real time, so that …

          Story 3 – As a trader, I should able to see
           instruments performance visually(color
           coded), so that I will get overview of the market in
               real time



© Equal Experts UK Ltd 2011       www.equalexperts.com            10
Story 1
          As a trader, when I load application, I want to
           see the instruments, so that …
          Scenario 1
                  – When a trader starts the application
                  – Then I will see the instruments with details
                          • Instrument Symbol
                          • Instrument Name
                          • Price change in percentage




© Equal Experts UK Ltd 2011                   www.equalexperts.com   11
Design Discussion – Story 1

                                                       Connect to – ws://localhost:8081/

                              Knockout
                              bindings
                                         Application                                 Streamer
                                                                                     Engine

    HTML document




© Equal Experts UK Ltd 2011                       www.equalexperts.com                          12
Design Discussion – Story 1

                                                Connect to – ws://localhost:8081/


                  Application                         /Instrument

                                                                                      Streamer
                                         Channel                                      Engine

                   Instrument
                    Container
                                                        {
                                                        messageType:"Snapshot",
                              Knockout                  message : {[
                              bindings                           {
                                                                     "instrumentSymbol":"PL Z11",
                                                                     "instrumentName":"Platinum",
                                                                     "instrumentChange":"-3.9“
                                                                 }
                                                                  ]}
                 HTML document                          }
© Equal Experts UK Ltd 2011                  www.equalexperts.com                                   13
Story 2
          As a trader, I want to see “price change”
           updating in real time.
          Scenario 1
                  – Given I have launched Heat Map application
                  – When I monitor the Heat Map
                  – Then I will see the instrument’s “price change”
                    updates in real time




© Equal Experts UK Ltd 2011             www.equalexperts.com          14
Design Discussion – Story 2

                                                                         Connect to – ws://localhost:8081/


                                    Application                            /Instrument

                                                                                           Streamer
                                                         Channel                           Engine

                                    Instrument
       Instrument                    Container

                                                                     {
                              Knockout                               messageType:“Update",
                              bindings                               message : {[
                                                                              {
                                                                                  "instrumentName":"Platinum",
                                                                                  "instrumentChange":"-3.9“
                                                                              }
                                                                               ]}
                 HTML documents
                                                                     }
© Equal Experts UK Ltd 2011                       www.equalexperts.com                                       15
Story 3
          As a trader, I should able to see instrument’s
           performance visually.
          Scenario 1
                  – Given I have launched Heat Map application
                  – When I monitor the Heat Map
                  – Then I will see the instrument’s tile color changing
                    according to the “price change” in real time




© Equal Experts UK Ltd 2011             www.equalexperts.com               16
Design Discussion – Story 3

                                                                         Connect to – ws://localhost:8081/

        Color Code                                                         /Instrument
                                    Application
        Calculator
                                                                                           Streamer
                                                         Channel                           Engine

                                    Instrument
        Instrument                   Container


                              Knockout
                              bindings




                 HTML documents
© Equal Experts UK Ltd 2011                       www.equalexperts.com                                       17
Questions?



© Equal Experts UK Ltd 2011      www.equalexperts.com   18

Contenu connexe

Similaire à Applying BDD/TDD practices, using Jasmine.js

Tim Jones – CTO, Trader Media
Tim Jones – CTO, Trader MediaTim Jones – CTO, Trader Media
Tim Jones – CTO, Trader MediaRightScale
 
4 Paradigm Shifts for the Connected Car of the Future
4 Paradigm Shifts for the Connected Car of the Future4 Paradigm Shifts for the Connected Car of the Future
4 Paradigm Shifts for the Connected Car of the FutureHiveMQ
 
ArcReady - Architecting For The Client Tier
ArcReady - Architecting For The Client TierArcReady - Architecting For The Client Tier
ArcReady - Architecting For The Client TierMicrosoft ArcReady
 
The Role of Standards in IoT Security
The Role of Standards in IoT SecurityThe Role of Standards in IoT Security
The Role of Standards in IoT SecurityHannes Tschofenig
 
Introduction to Web Application Clustering
Introduction to Web Application ClusteringIntroduction to Web Application Clustering
Introduction to Web Application ClusteringPiyush Katariya
 
Cebit-2008: Content Aggregation
Cebit-2008: Content AggregationCebit-2008: Content Aggregation
Cebit-2008: Content AggregationDavid Nuescheler
 
Distributed application usecase on docker
Distributed application usecase on dockerDistributed application usecase on docker
Distributed application usecase on dockerHiroshi Miura
 
C:\Alon Tech\New Tech\Embedded Conf Tlv\Prez\Sightsys Embedded Day
C:\Alon Tech\New Tech\Embedded Conf Tlv\Prez\Sightsys Embedded DayC:\Alon Tech\New Tech\Embedded Conf Tlv\Prez\Sightsys Embedded Day
C:\Alon Tech\New Tech\Embedded Conf Tlv\Prez\Sightsys Embedded DayArik Weinstein
 
HDF 3.1 pt. 2: A Technical Deep-Dive on New Streaming Features
HDF 3.1 pt. 2: A Technical Deep-Dive on New Streaming FeaturesHDF 3.1 pt. 2: A Technical Deep-Dive on New Streaming Features
HDF 3.1 pt. 2: A Technical Deep-Dive on New Streaming FeaturesHortonworks
 
Click, Click, Test - Automated Tests for APEX Applications
Click, Click, Test - Automated Tests for APEX ApplicationsClick, Click, Test - Automated Tests for APEX Applications
Click, Click, Test - Automated Tests for APEX ApplicationsKai Donato
 
Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...
Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...
Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...JUG Lausanne
 
44CON London 2015 - Inside Terracotta VPN
44CON London 2015 - Inside Terracotta VPN44CON London 2015 - Inside Terracotta VPN
44CON London 2015 - Inside Terracotta VPN44CON
 
Entity Framework V1 and V2
Entity Framework V1 and V2Entity Framework V1 and V2
Entity Framework V1 and V2ukdpe
 
Edge Computing risks and Opportunities for Telco and hyperscalers
Edge Computing risks and Opportunities for Telco and hyperscalersEdge Computing risks and Opportunities for Telco and hyperscalers
Edge Computing risks and Opportunities for Telco and hyperscalersPatrick Lopez
 
Building Server-Side Eclipse based web applications
Building Server-Side Eclipse based web applicationsBuilding Server-Side Eclipse based web applications
Building Server-Side Eclipse based web applicationsGunnar Wagenknecht
 

Similaire à Applying BDD/TDD practices, using Jasmine.js (20)

Streamline - Stream Analytics for Everyone
Streamline - Stream Analytics for EveryoneStreamline - Stream Analytics for Everyone
Streamline - Stream Analytics for Everyone
 
Tim Jones – CTO, Trader Media
Tim Jones – CTO, Trader MediaTim Jones – CTO, Trader Media
Tim Jones – CTO, Trader Media
 
4 Paradigm Shifts for the Connected Car of the Future
4 Paradigm Shifts for the Connected Car of the Future4 Paradigm Shifts for the Connected Car of the Future
4 Paradigm Shifts for the Connected Car of the Future
 
ArcReady - Architecting For The Client Tier
ArcReady - Architecting For The Client TierArcReady - Architecting For The Client Tier
ArcReady - Architecting For The Client Tier
 
The Role of Standards in IoT Security
The Role of Standards in IoT SecurityThe Role of Standards in IoT Security
The Role of Standards in IoT Security
 
Introduction to Web Application Clustering
Introduction to Web Application ClusteringIntroduction to Web Application Clustering
Introduction to Web Application Clustering
 
01 introduction
01 introduction01 introduction
01 introduction
 
Cebit-2008: Content Aggregation
Cebit-2008: Content AggregationCebit-2008: Content Aggregation
Cebit-2008: Content Aggregation
 
TechHub pitch
TechHub pitchTechHub pitch
TechHub pitch
 
Distributed application usecase on docker
Distributed application usecase on dockerDistributed application usecase on docker
Distributed application usecase on docker
 
C:\Alon Tech\New Tech\Embedded Conf Tlv\Prez\Sightsys Embedded Day
C:\Alon Tech\New Tech\Embedded Conf Tlv\Prez\Sightsys Embedded DayC:\Alon Tech\New Tech\Embedded Conf Tlv\Prez\Sightsys Embedded Day
C:\Alon Tech\New Tech\Embedded Conf Tlv\Prez\Sightsys Embedded Day
 
HDF 3.1 pt. 2: A Technical Deep-Dive on New Streaming Features
HDF 3.1 pt. 2: A Technical Deep-Dive on New Streaming FeaturesHDF 3.1 pt. 2: A Technical Deep-Dive on New Streaming Features
HDF 3.1 pt. 2: A Technical Deep-Dive on New Streaming Features
 
Click, Click, Test - Automated Tests for APEX Applications
Click, Click, Test - Automated Tests for APEX ApplicationsClick, Click, Test - Automated Tests for APEX Applications
Click, Click, Test - Automated Tests for APEX Applications
 
Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...
Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...
Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...
 
2. workload
2.  workload2.  workload
2. workload
 
44CON London 2015 - Inside Terracotta VPN
44CON London 2015 - Inside Terracotta VPN44CON London 2015 - Inside Terracotta VPN
44CON London 2015 - Inside Terracotta VPN
 
Entity Framework V1 and V2
Entity Framework V1 and V2Entity Framework V1 and V2
Entity Framework V1 and V2
 
Edge Computing risks and Opportunities for Telco and hyperscalers
Edge Computing risks and Opportunities for Telco and hyperscalersEdge Computing risks and Opportunities for Telco and hyperscalers
Edge Computing risks and Opportunities for Telco and hyperscalers
 
ECI OpenFlow 2.0 the Future of SDN
ECI OpenFlow 2.0 the Future of SDN ECI OpenFlow 2.0 the Future of SDN
ECI OpenFlow 2.0 the Future of SDN
 
Building Server-Side Eclipse based web applications
Building Server-Side Eclipse based web applicationsBuilding Server-Side Eclipse based web applications
Building Server-Side Eclipse based web applications
 

Dernier

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 

Dernier (20)

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 

Applying BDD/TDD practices, using Jasmine.js

  • 1. Applying BDD and TDD practices, using Jasmine.js - Anil Tarte © Equal Experts UK Ltd 2011 www.equalexperts.com 1
  • 2. Outline  Development Environment  What is TDD?  What is BDD?  Domain problem  Stories  Demonstration  Questions? © Equal Experts UK Ltd 2011 www.equalexperts.com 2
  • 3. Development Environment  Eclipse – Using Eclipse IDE for JavaScript Web Developers – Installed Jetty(Run-Jetty-Run) plugin. • Help -> Eclipse Marketplace -> type Jetty -> hit enter -> install Run-Jetty-Run  Backend Server(Streamer.jar), – URL to access it “ws://localhost:8081/” – It is a Streaming Engine and a Stub Exchange © Equal Experts UK Ltd 2011 www.equalexperts.com 3
  • 4. Test Driven Development (TDD)?  Concept – Add a test for each new feature/improvement – Write production code, to pass test – Refactor  Aspect – KISS (Keep It Simple, Stupid) – YAGNI (You Ain’t Goona Need It) – Fake it till you make it  Benefits – Designs become more cleaner and clearer – Testable code – Focus only on what is important © Equal Experts UK Ltd 2011 www.equalexperts.com 4
  • 5. Behaviour Driven Development (BDD)?  Concept – Write/Automate a desired behaviour first (in natural language) – Driven by business value  Aspect – Test method names should be sentence – It extends TDD  Benefits – Clear understanding of desired software behaviour – Starting point – Encourages more collaboration, Dev + QA + BA + Customer © Equal Experts UK Ltd 2011 www.equalexperts.com 5
  • 6. Domain Problem Heat Map © Equal Experts UK Ltd 2011 www.equalexperts.com 6
  • 7. Top 4 gainer? © Equal Experts UK Ltd 2011 www.equalexperts.com 7
  • 8. Different representation - Heat Map © Equal Experts UK Ltd 2011 www.equalexperts.com 8
  • 9. Another version © Equal Experts UK Ltd 2011 www.equalexperts.com 9
  • 10. Stories – Identify?  Story 1 – As a trader, when I load application, I want to see the instruments, so that …  Story 2 – As a trader, I want to see “price change” updating in real time, so that …  Story 3 – As a trader, I should able to see instruments performance visually(color coded), so that I will get overview of the market in real time © Equal Experts UK Ltd 2011 www.equalexperts.com 10
  • 11. Story 1  As a trader, when I load application, I want to see the instruments, so that …  Scenario 1 – When a trader starts the application – Then I will see the instruments with details • Instrument Symbol • Instrument Name • Price change in percentage © Equal Experts UK Ltd 2011 www.equalexperts.com 11
  • 12. Design Discussion – Story 1 Connect to – ws://localhost:8081/ Knockout bindings Application Streamer Engine HTML document © Equal Experts UK Ltd 2011 www.equalexperts.com 12
  • 13. Design Discussion – Story 1 Connect to – ws://localhost:8081/ Application /Instrument Streamer Channel Engine Instrument Container { messageType:"Snapshot", Knockout message : {[ bindings { "instrumentSymbol":"PL Z11", "instrumentName":"Platinum", "instrumentChange":"-3.9“ } ]} HTML document } © Equal Experts UK Ltd 2011 www.equalexperts.com 13
  • 14. Story 2  As a trader, I want to see “price change” updating in real time.  Scenario 1 – Given I have launched Heat Map application – When I monitor the Heat Map – Then I will see the instrument’s “price change” updates in real time © Equal Experts UK Ltd 2011 www.equalexperts.com 14
  • 15. Design Discussion – Story 2 Connect to – ws://localhost:8081/ Application /Instrument Streamer Channel Engine Instrument Instrument Container { Knockout messageType:“Update", bindings message : {[ { "instrumentName":"Platinum", "instrumentChange":"-3.9“ } ]} HTML documents } © Equal Experts UK Ltd 2011 www.equalexperts.com 15
  • 16. Story 3  As a trader, I should able to see instrument’s performance visually.  Scenario 1 – Given I have launched Heat Map application – When I monitor the Heat Map – Then I will see the instrument’s tile color changing according to the “price change” in real time © Equal Experts UK Ltd 2011 www.equalexperts.com 16
  • 17. Design Discussion – Story 3 Connect to – ws://localhost:8081/ Color Code /Instrument Application Calculator Streamer Channel Engine Instrument Instrument Container Knockout bindings HTML documents © Equal Experts UK Ltd 2011 www.equalexperts.com 17
  • 18. Questions? © Equal Experts UK Ltd 2011 www.equalexperts.com 18