Testing @Payments Team
!
27. Jan - Software Craftsman Meetup Berlin
SoundCloud
• Worlds leading audio platform

• reaching over 250 Millions users monthly

• 12 hours of audio uploaded each ...
Payments Team
• Responsible for Pro Products: 

Subscriptions, Gift


• Started 2 years ago - ‘from scratch’

• 2 - 3 Deve...
Infrastructure
~ 2 yrs ago
~ 1 yr ago
Today
Buckster - Internal Structure
How to Test?
Requirements
• Reliable, fast, complete

• Easy to understand, to extend & to maintain

• Act as documentation

Test Structure
~ 25, 10 min

~ 280, 30 sec

~ 800, 24 sec
Unit Tests
Tests: service & data layer, each path of each public
method of each class



mock internal services

mock exte...
Integration Tests

Tests: http request to response



mock external client calls on http layer



asserts response code + ...
System Tests
Test: full flow

Dedicated staging system, all others live

asserts result page



rspec, selenium, page obje...
Questions
tobi@soundcloud.com

@rngtng

Upcoming SlideShare
Loading in …5
×

Testing with Rspec

401 views
282 views

Published on

Sildes of the talk I gave at Software Craftsmanship Berlin Meetup. It's all about how we test within the Payments Team.

http://www.meetup.com/Software-Craftsmanship-Berlin/events/160616162/

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
401
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Testing with Rspec

  1. 1. Testing @Payments Team ! 27. Jan - Software Craftsman Meetup Berlin
  2. 2. SoundCloud • Worlds leading audio platform
 • reaching over 250 Millions users monthly
 • 12 hours of audio uploaded each minute
 • Based in Berlin, SF, NYC, London & Sofia
 • > 200 employees, ~ 40% developers, > 500 repositories

  3. 3. Payments Team • Responsible for Pro Products: 
 Subscriptions, Gift
 • Started 2 years ago - ‘from scratch’
 • 2 - 3 Developers + 1 Product Manager/Expert
 • Main tasks:
 - Maintain old system
 - Build new System as Service, integrate with new PSP Adyen
  4. 4. Infrastructure
  5. 5. ~ 2 yrs ago
  6. 6. ~ 1 yr ago
  7. 7. Today
  8. 8. Buckster - Internal Structure
  9. 9. How to Test?
  10. 10. Requirements • Reliable, fast, complete
 • Easy to understand, to extend & to maintain
 • Act as documentation

  11. 11. Test Structure ~ 25, 10 min ~ 280, 30 sec ~ 800, 24 sec
  12. 12. Unit Tests Tests: service & data layer, each path of each public method of each class
 
 mock internal services
 mock external clients
 rspec, factory girl

  13. 13. Integration Tests Tests: http request to response
 
 mock external client calls on http layer
 
 asserts response code + body
 asserts external requests
 rspec, webMock, factory girl
 !
  14. 14. System Tests Test: full flow
 Dedicated staging system, all others live
 asserts result page
 
 rspec, selenium, page objects
 !
  15. 15. Questions tobi@soundcloud.com
 @rngtng


×