Behave yourself!
Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends

José Bonnet, Business ...
Agenda

Page 03 Who are we and what do we do?
     09 What’s the problem?
     10 What’s the proposed solution?
     31 Do...
http://www.ptinovacao.pt/
               !(",-.#/%




                             !(",(  %%                 0$1'(#  %%
 ...
No fence sitting!




        4     © 2010 Portugal Telecom Inovação, S.A.
© 2010 Portugal Telecom Inovação, S.A.
                                         Be creative!
                             ...
© 2010 Portugal Telecom Inovação, S.A.




                                         Be flexible!



                      ...
Be agile!




“It’s not the big that eat the small, it’s the fastest that eat the slow”
                 Jason Jennings, L...
MARKET / SALES MANAGEMENT
     CAMPAIGN MANAGEMENT                                                                        ...
Other systems


               CIS



        ACH          AOM
BIS                           APM   OMG


      VTS        ...
Other systems




PT Inovação’s BSS offer




       Other systems




            9             © 2010 Portugal Telecom I...
Behaviour-Driven
 Development
    http://behaviour-driven.org/




                         Test Driven Development
      ...
11   © 2010 Portugal Telecom Inovação, S.A.
Stories




12        © Tim Burton
What’s in a story?
              http://blog.dannorth.net/whats-in-a-story/

Title	
  (one	
  line	
  describing	
  the	
 ...
What’s in a story?
              http://blog.dannorth.net/whats-in-a-story/

Title	
  (one	
  line	
  describing	
  the	
 ...
What’s in a story?
              http://blog.dannorth.net/whats-in-a-story/

Title	
  (one	
  line	
  describing	
  the	
 ...
Behave yourself! Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends
Behave yourself! Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends
Behave yourself! Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends
Behave yourself! Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends
Behave yourself! Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends
Behave yourself! Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends
Behave yourself! Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends
Behave yourself! Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends
Behave yourself! Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends
Behave yourself! Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends
Behave yourself! Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends
Behave yourself! Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends
Behave yourself! Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends
Behave yourself! Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends
Behave yourself! Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends
Behave yourself! Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends
Behave yourself! Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends
Behave yourself! Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends
Behave yourself! Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends
Behave yourself! Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends
Behave yourself! Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends
Behave yourself! Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends
Behave yourself! Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends
Behave yourself! Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends
Behave yourself! Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends
Behave yourself! Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends
Behave yourself! Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends
Behave yourself! Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends
Behave yourself! Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends
Behave yourself! Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends
Behave yourself! Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends
Upcoming SlideShare
Loading in...5
×

Behave yourself! Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends

1,571

Published on

How to use BDD techniques and tools to test the integration of multiple systems

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,571
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
22
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Behave yourself! Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends

  1. 1. Behave yourself! Taming the wild, wild multiple system integration using RSpec, Cucumber & Friends José Bonnet, Business Support Systems/Customer Processes, PT Inovação, S.A. 25th & 26th June 2010 This document is part of the Intellectual Property of PT Inovação and cannot be reproduced or used without an explicit and written authorization
  2. 2. Agenda Page 03 Who are we and what do we do? 09 What’s the problem? 10 What’s the proposed solution? 31 Doubts and Conclusions 2 © 2010 Portugal Telecom Inovação, S.A.
  3. 3. http://www.ptinovacao.pt/ !(",-.#/% !(",( %% 0$1'(# %% %$"##$### 0$1'(# &$"##$### %% 0$1'(# '##$### % % 0$1'(# !##$### % % 0$1'(#% % '##$### "$"##$### *+,-./+012+/34560789:5,;<0=0''0 %% 4#""(3(1% >+?@5,A0BC+,9?5,<=0&&0 %% !"#$# !"#$### &#1#'/#23# &#'(%)*"+*% &'$(##$### DE>1F<0G0H5IJ,96K<0=0&0G0L0 DE>BF<0=0&0 8$9("%0*1,*% 5"#1$/ %% 67(%8(9: )#$### %% 5(,1>#2#% %% (!$###$### 67(%8(9:%*%!";23$<*% 5"#1$/% ?;/$ %% '"#$### =#'("(2* &$(##$### 3 © 2010 Portugal Telecom Inovação, S.A.
  4. 4. No fence sitting! 4 © 2010 Portugal Telecom Inovação, S.A.
  5. 5. © 2010 Portugal Telecom Inovação, S.A. Be creative! 5
  6. 6. © 2010 Portugal Telecom Inovação, S.A. Be flexible! 6
  7. 7. Be agile! “It’s not the big that eat the small, it’s the fastest that eat the slow” Jason Jennings, Laurence Haughton © National Geographic
  8. 8. MARKET / SALES MANAGEMENT CAMPAIGN MANAGEMENT CHANNEL SALES MANAGEMENT CORPORATE SALES MANAGEMENT MASS MARKET SALES MANAGEMENT CAMPAIGN ANALYTICS > Create and Promote Leads > Create and Promote Contacts > Literature Dispatching > Lead Management > Sales Quotation MASS MARKET SALES WORKFLOW MGMT. CAMPAIGN EXECUTION & REFINEMENT CORPORATE SALES WORKFLOW MGMT. CONTRACT MANAGEMENT CUSTOMER/PROSPECT DATA ACQUISITION CAMPAIGN DESIGN CAMPAIGN PERFORMANCE DIRECT SALES FORCE TELESALES RETAIL OUTLET VIRTUAL NETWORK OPERATORS AFFILIATES > Contract Workflow > Contract Generation CUSTOMER QUALIFICATION OFFER MANAGEMENT LEAD GENERATION TRACKING > Opportunities Dispaching > Action Items and Follow Ups > Customer Information Management > Customer Information Management > Mass Service/Product Activation > Design/Price/Propose Workflow > Contract Implementation > Customer Credit Eligibility SALES NEGOTIATION > Sales Quotes Dispatching > > Contract Storage > Product & Service Availability MASS MARKET SALES REPORTING & > Holistic Customer View > Contact and Retention Management > Contact and Retention Management > Mass Transaction Feed of Sales Workflow > Forecast Analysis > Order Capture, Negotiation and Activation > Order Capture and Negotiation > Order Capture and Negotiation New Orders TRACKING > Opportunity & Quote Mgmt. > Order Tracking Capabilities > Problem Resolution > Billing Management Activities > Activation of Service / Product FUNNEL & LEAD MANAGEMENT > Territory Management > Funnel Management COMPENSATION & RESULTS DEALERS > Customer Acquisition > > Multi Media Integration Cross Sell/Up Sell recommendations > > Self Service Kiosk Agent Portable Device Support > > Receivables and Collection Activities Problem Resolution Sold by Affiliate > Registration of Pre Activated SOLUTION MANAGEMENT > Design > Price/Cost Optimization > > Sales Account Management Lead Management SALES PORTALS > Scripting > Retail Store Integration > Data Fencing Service / Product > > > Upgrade Customer’s Price Propose CUSTOMER SALES PORTALS INTERNAL SALES PORTALS INDIRECT SALES PORTALS COMPENSATION RESULTS REPORTING > VNO Personalization Products /Services PRODUCT MANAGEMENT PRODUCT STRATEGY / PROPOSITION MGMT. PRODUCT/SERVICE CATALOG MANAGEMENT PRODUCT LIFECYCLE MANAGEMENT PRODUCT PERFORMANCE MANAGEMENT > Strategy Capturing and Management > Strategy Delivery Project Management > Product Offering Structure Data Model > End-toEnd Product Data Management > Model Products > Manage Existing Products > Product Campaign Tracking > Product Cost Management > Proposition Organization > Strategy Performance Reporting > Product Instantiation > Service Logical Representation Management > Provide Detailed Product Specifications > Obsolesce/Retire Products > Product Revenue Reporting > Product Inventory Optimization > Link Strategy to Propositions > Product Components Maintenance > Components to Services and Resources > Introduce New Products > Implement Marketing & Offer Strategies > Product Cost Reporting > Product Sourcing Determination > Link Propositions to Products > Components Reuse Relationship Management > Solicit Product Requirements > Product Capacity Analysis > Product to External Functions View Mgmt. > Components Relations Management OPERATIONS SUPPORT & READINESS FULFILLMENT ASSURANCE BILLING CUSTOMER MANAGEMENT CUSTOMER INFORMATION MANAGEMENT CUSTOMER SELF MANAGEMENT COLLECTION MANAGEMENT CUSTOMER SELF EMPOWERED FULFILLMENT CUSTOMER SELF EMPOWERED ASSURANCE CUSTOMER SELF EMPOWERED BILLING COLLECTION POLICY DEFINITION AND CONFIGURATION > Customer Name > Customer Organizational Hierarchy > > > > > > > Collection Flows Creation Collection Rules Definition > Contact Persons for this Customer > Customer’s Billing Accounts Product Catalogue and Offerings Browsing Account Management Access to Call Center Agents Bill View Calls Assignment for Classification of Usage > Account Managers for this Customer > Customer’s Products/Services > Guided Selling Driven View for Offer Eligibility > Self Registration to Online Services > Service Requests and SLA Reporting > Unbilled Charges View > Corporate Customer Support > Customer’s Interactions History > Customer’s Orders History > Shopping Cart Driven Order Management > Service Requests Management > Corporate Customers Support > Usage View > Reports on Usage and Charges COLLECTION POLICY EXECUTION AND MONITORING > > > > Collection Decision Engine > Collection Execution Monitoring > Customer Addresses > Customer’s Trouble Tickets History Assigned Products Maintenance Service Requests Submission Payment Capture > > > > Collection Treatment Management > Manual Intervention > Customer Contact Phone Numbers Rate Plans Amendment Service Request Amendment Dispute Capture and Resolution > Alerts and Notifications Setting > Service Request Closure > Usage and Charges Comparison > Knowledge Management Access > Users Management > Penalties View COLLECTION SETTLEMENT > Access to Call Center Agents > Alert and Notifications Setting > Address Book Driven Usage View > Build Payment Plan > Payment Plan Monitoring > Reports on Fulfillment and SLA Aspects > Address Book Management > Split Statement for Demarcation Between Calls TRANSACTIONAL DOCUMENT PRODUCTION > Corporate Customers Support TRANSACTIONAL DOCUMENT DOCUMENT ARCHIVING FORMATTER > Bills and Letter Template Formatting > Compression and Storage of Transactional CUSTOMER SERVICE REPRESENTATIVE TOOLBOX RECEIVABLES MANAGEMENT > Template Usage Business Rules Document Data > Single Sign-On > Centralized Data Entry > Customer Information Dashboard > In-Context, Configurable, Workflow-Driven Navigation > CSR Guidance > Conversational Scripting > Embedded Actions > Launch In-Context Common Actions A/R MANAGEMENT > Input Data Source Definition > Retrieval Mechanisms for External Systems > Invoice Charges From Billing JOURNALIZATION > Input Binding Rules to Template > Archive Maintenance and Administrative Functions > Payment Management > Resource Template Definition CSR FULFILLMENT CSR ASSURANCE BILLING INQUIRY DISPUTE & ADJUSTMENT MANAGEMENT > Financial Account Management > Product Catalogue & Offerings Browsing FINANCIAL REPORTING COMMON COMMUNICATIONS - ENTERPRISE APPLICATION INTEGRATION > Bill Preparation TRANSACTIONAL DOCUMENT GENERATOR > Order Capture & Negotiation COLLECTION > > Collection Inquiries . Assigned Products Maintenance > Issue Write-Offs DOCUMENT DELIVERY > Document Information Formatting > > Perform Manual Collection Activities CSR Access to A Specific Order > Manual Intervention in Collection Treatment > Marketing Information Incorporating > > Payment Arrangement Settlement Business/Financial/Operational Reporting > Collection Agent Reassignment > Apply Regional Requirements > with the Customer Error Resolution > Legend Formatting > Jeopardy Notifications Send to Downstream Interface BILLING INQUIRY, DISPUTE & > PAYMENT > Order Take-Over & Relinquish > > Immediate Payment of Balance/Specific Invoice > Prepaid Recharge Orders Administration ADJUSTMENT MANAGEMENT CUSTOMER CONTACT, RETENTION & LOYALTY BILL INQUIRY > Balance, statement > View unbilled charges > List all invoices > Generate bill on demand VERIFY CUSTOMER RELATIONSHIP INTERACTION MANAGEMENT BUILD CUSTOMER INSIGHT ANALYZE & MANAGE CUSTOMER RISK PERSONALIZE CUSTOMER PROFILE FOR RETENTION & LOYALTY > View exact bill image > View usage summary and details > List all charges per invoice VALIDATE CUSTOMER SATISFACTION DISPUTE MANAGEMENT ADJUSTMENTS CUSTOMER ORDER MANAGEMENT CUSTOMER QoS/SLA MANAGEMENT CUSTOMER ORDER ESTABLISHMENT CUSTOMER ORDER LIFECYCLE MGMT. > Measure Perceived QoS > Manage QoS/SLA Violation > Manage Reporting > Channel Guidance and Data Capture > Pending Orders Maintenance > Document Conractual SLA Obligation > Customer & Product Data Collection > Order Versioning Maintenance > Product Offering Availability > Customer Order Validation > > Tracking & Logging Order Change Management CUSTOMER SERVICE / ACCOUNT BILLING ACCOUNT MANAGEMENT CUSTOMER ORDER PUBLICATION > > Order Cancelation Ordering Business Rules PROBLEM RESOLUTION BILLING ACCOUNT ASSOCIATIONS MANAGEMENT >Price Plan Determination > Replenishment Relations > Ordering Activity Governance >Shared Allowances Community > Reporting CUSTOMER ORDER ORCHESTRATION > Verify Customer Relationship > Plan & Assign Resolution > > Billing Statement Association > Customer Order Distribution > > Charge Distribution to Pay Means Bill Capture and Notification Track & Manage Resolution > Charges Association to Billing Account > Customer Order Tracking & Mgmt. > Customer’s SLA’s Verification > Close & Report > Problem Reception > Billing Systems Update > > BILLING ACCOUNT CONFIGURATION MANAGEMENT Evaluate & Qualify Problem Advising Other OSS Systems BILL CALCULATION SERVICE MANAGEMENT > > > Split Bill Charge and Event Distribution Support Flexible Bill Cycle Definition CUSTOMER BILL CHARGE CALCULATION >Recurring > One time > Usage Discounts and Promotions SERVICE SPECIFICATION MANAGEMENT SERVICE ORDER MANAGEMENT SLA MANAGEMENT > > Taxes Requirements and Exemptions Contract Commitment Tracking MANAGE BILL CYCLE RUN > SLA Metrics Calculation > Operational Level to SLA > Sla Alarms Reporting >Incorporate Payments, Adjustments, QUOTATION ENGINE SERVICE DATA COLLECTION SERVICE CONFIGURATION MANAGEMENT > Order Components >Service Parameters Allocation > SLA Alarms Handling Metric Comparison > Update Datawarehouse and Other Financial Activity > > KPIs and KQIs Collection > Customer information Charge/Settlement Adjustment with Sla Statistics APPLICATION INTEGRATION INFRASTRUCTUR DISCOUNTS CALCULATION SERVICE INVENTORY MANAGEMENT SERVICE ORDER VALIDATION > > Service Parameters Reservation Update Service Inventory Notification > Collate Historical SLA Information > Analyze Historical SLA Information TAX APPLYING > Rating Schemes > Market Rating Rules SERVICE DESIGN/ASSIGN >Compose a Service Configuration Plan COMMITMENT TRACKING > Service Inventory Retrieval > Service Inventory Update > Service Inventory > Design Solution >Service Configuration > Service Inventory Update Notifications > Service Inventory Reconciliation Information Model > Assign/Procure Network Resources >Cross Service Dependencies > Procure Access > Procure CPE SERVICE ACTIVATION MANAGEMENT SERVICE PROBLEM MANAGEMENT SERVICE ORDER PUBLICATION > > Plan Service Activation Service Configuration Activation > > Problem Reception Trouble Ticketing > Advising the Network Operations Center > Updating Configuration Management Systems PRODUCT / SERVICE RATING >Activation Notifications > > > Problem Consolidation Tasks Allocation Updating Inventory > Charge Calculation > Threshold Notifications SERVICE ORDER ORCHESTRATION >Update Information in Service Inventory > > > Closure Tracking Progress Management Systems > Charge Level Discounts And Taxes > Advice of Charge Product/Service Order Decomposition > > > Advising any other OSS/ > Allocating Priority Advising the Customer Resource > Arbitrary Mathematical Rating > Advice of Rate Service Order Tracking & Management SERVICE AVAILABILITY > Reporting Management Systems (CRM) Systems as Needed > Pro Rating of Recurring Charges > Service Address Validation > > Confirming When Impact has > Confirming when Fix has Updating Billing Systems > Rerating Non Functional Aspects: High Throughput > Service Availability Validation been Removed been Completed > Flexible Accumulators of Usage Data Small Changes Precision > Service Termination Points Dertermination > Determination of Access Provider > Determination of Delivery Interval. SERVICE QUALITY MONITORING & IMPACT ANALYSIS ONLINE CHARGING > Monitor Service Quality > Improve Service > > > Real-time Rating Non-Functional Aspects: Analyze Service Quality Identify & Report Service Constraints > Service-Consumption Reservation > Multi-Session Support and Authorization > Pre-paid/Post-Paid Convergence > Use of Customer Billing Hierarchy > High Availability SERVICE PERFORMANCE MANAGEMENT > Advice of Charge/Advice of Rate > Balance Management > Low Latency > High Throughput > Collection of Service Performance Data > Short-Term Performance Repository > Balance Management Policies > Map the Performance Data to Service Topology > Input to Service Planning & Forecasting Applications > Balance Management Operations > Calculate Service Related KPIs, KQIs > Identification of Service Related Problems > Real-Time Charging > Long-Term Performance Archive > Historical Trending > Service Triage/Testing > Service Performance “Dashboard” RESOURCE MANAGEMENT RESOURCE PROCESS MANAGEMENT VOUCHER MANAGEMENT BUSINESS P RESOURCE TESTING MANAGEMENT > Voucher Ordering > Pairing of Serial Numbers with PINs > Work Flow and Rules Engine Testing > Head Management Test > Element and Test Head Command and Control > Definition and Creation of Packages > Sending of the Order File to the 8 > Auto and Manual Test Initiation > Manage Test Head Resources Capacity > Test Results Management and Tentative Vouchers Manufacturer > Life Cycle Management Testing > Manage Test Head Availability > Test Results Interpretation > Pin Generation and Encryption > Voucher Distribution to Dealers RESOURCE CHANGE MANAGEMENT > > Provides the Orchestration Between Planning Duties and Manual Network Engineering Activities Interfaces to Workforce Management > > Supports Interface to Financial Control to Authorize Expenditure Supports Links to Vendors ERP > > Support Project Management of Build Projects Coordinate Project Activities With the Suppliers BILLING DATA MEDIATION > Provide Jeopardy Management > Support Collaborative Project Management Across Business Boundaries > > CDR Formatting, Mediation & Correlation Wholesale Partner Gateways
  9. 9. Other systems CIS ACH AOM BIS APM OMG VTS OCS ASE Other systems 9 © 2010 Portugal Telecom Inovação, S.A.
  10. 10. Other systems PT Inovação’s BSS offer Other systems 9 © 2010 Portugal Telecom Inovação, S.A.
  11. 11. Behaviour-Driven Development http://behaviour-driven.org/ Test Driven Development Domain Driven Design Acceptance Test Driven Planning 10 © 2010 Portugal Telecom Inovação, S.A.
  12. 12. 11 © 2010 Portugal Telecom Inovação, S.A.
  13. 13. Stories 12 © Tim Burton
  14. 14. What’s in a story? http://blog.dannorth.net/whats-in-a-story/ Title  (one  line  describing  the  story)   Narrative: As  a  [role] I  want  [feature] So  that  [benefit]   Acceptance  Criteria:  (presented  as  Scenarios)   Scenario  1:  Title Given  [context]    And  [some  more  context]... When    [event] Then    [outcome]    And  [another  outcome]...   Scenario  2:  ... 13 © 2010 Portugal Telecom Inovação, S.A.
  15. 15. What’s in a story? http://blog.dannorth.net/whats-in-a-story/ Title  (one  line  describing  the  story) describe an activity   Narrative: As  a  [role] I  want  [feature] So  that  [benefit]   Acceptance  Criteria:  (presented  as  Scenarios)   Scenario  1:  Title Given  [context]    And  [some  more  context]... When    [event] Then    [outcome]    And  [another  outcome]...   Scenario  2:  ... 13 © 2010 Portugal Telecom Inovação, S.A.
  16. 16. What’s in a story? http://blog.dannorth.net/whats-in-a-story/ Title  (one  line  describing  the  story)   Narrative: As  a  [role] I  want  [feature] include a role, a feature and So  that  [benefit] a benefit   Acceptance  Criteria:  (presented  as  Scenarios)   Scenario  1:  Title Given  [context]    And  [some  more  context]... When    [event] Then    [outcome]    And  [another  outcome]...   Scenario €
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×