SlideShare a Scribd company logo
Testing in an Open-source Middleware
Platform Space: The WSO2 Way


   Iranga Muthuthanthri

   Technical Lead -QA
About WSO2
•   Providing the only complete open source componentized cloud platform
    o   Dedicated to removing all the stumbling blocks to enterprise agility
    o   Enabling you to focus on business logic and business value
•   Recognized by leading analyst firms as visionaries and leaders
    o   Gartner cites WSO2 as visionaries in all 3 categories of application infrastructure
    o   Forrester places WSO2 in top 2 for API Management
•   Global corporation with offices in USA, UK & Sri Lanka
    o   200+ employees and growing
•   Business model of selling comprehensive support & maintenance for our products
About WSO2
Agenda

•   Engineering process at WSO2.
•   Product & Release Management.
•   Testing Process at WSO2.
•   Patch Verification Process.
Testament

The Problem:
• eBay wanted to move away from a home-grown middleware solution to a commercial ESB
• Required very fast response times (< 5ms)
• Benchmarked 10 ESBs
• Including Proprietary, Open Source, Hardware Solutions
• WSO2 was the only ESB to support their performance and manageability requirements
• 2-3x faster than the other software based solutions on eBay’s workload.


The Solution:
• 1.5 billion API calls during peak times (prior to 2011 Holiday season & Black Friday)
• No downtime experienced during 2010 & 2011 holiday peaks!
WSO2 Engineering
Engineering Process


Doing the "right" thing in the "collaborative" way to make
people "happy".
People Centric Process
•
• People centric process.
•   User-engineer engagement model.
•   Promotes constant communication in push mode give
    and receive feedback.
•   Build products users actually use and want.
•   Get the "buy-in" from engineers to follow the process
    instead of pushing down a model.
Influenced by Apache Way


                      Communit
                      y
                      Openness
Passion & Commitment
Elements (in) Process
•
• Product management.
•   Milestone model.

•   Release model.

•   Support model.
Product Management Relationship
Milestone Model
Release Cycle
Done-Done
Support Model
•
• No Support Engineers.
•   Engineering runs Support.
•   SLA is Now!.
•   Engineers understand the real usage of their creation.
•   Engineers gets to know customers problems and pain.
•   Learning hub to understand platform aspects.


     Makes the next release cycle "Better".
Product

One Product
One Code Base
One Build Command
One Team
WSO2 Platform
WSO2 Testing Principles
•
• Quality is #1 priority of Engineering practice.
•   Engineering owns and is responsible for quality.

•   Everyone in Engineering does testing.

•   Collaborative Test methodology.
Agile Testing Principles

Based on Agile principles
•   Test early test often.
•   Face to Face communication (Hackathon mode).
•   Responsive to change.
•   Frequent feedback.
SOA-Middleware Testing Challenges
•
• Complexity of testing due to "Headless" state.
•   Difficulty in defect isolation.
•   Distribution nature of production deployment environments.
•   Multiple configuration points for component integrations.
SOA Middleware Test Practice


                       Data Server
                                          Oracle/MySQ
                       Service            L/MSSQL ...
Client
(Browser/       ESB
App)

                       Registry
                       Service




            Identity
                              LDAP/AD..
            Service
Types of Tests
•
•   Unit Tests.
•   Integration Tests.
•   End to End Tests.
•   Performance Tests.
•   Security Tests.
Integration Level Phase
•
•   Objective is to validate the integration scenarios of
    heterogeneous WSO2 products.
E.g: The ESB - Message Broker integration scenario.
End to End Tests
•
• Platform aspects of testing.
•   Objective is to validate that the platform provides an
    application developer to build and launch the application in an
    enterprise context.
E.g:
Authorize a request to a deployed web service in app server
through the entitlement mediator defined in the ESB referring to
the entitlement policy defined at the identity server.
Performance Tests


•   Performance Tests to Measure:
    o Throughput = requests served per second (data rate
      /sec).
    o Latency = How long each transaction takes ( time
      between requests).
Reliability Tests
•
•   Endurance tests:
    o Long running tests : Tests running for a significant
      periods of time (days,weeks).


•   Volume tests:
    o System loaded with incremental # of services, artifacts.
Security Tests

Security tests for the following threats are executed.


                        Threat                          Types of tests

     Spoofing                          Authentication

     Tampering                         Signature

     Privilege                         Authorization

     Information Disclosure            Encryption
Cloud Testing

Test the Cloud native features for
•   Multi Tenancy.
•   Elasticity.
•   Self Service.
•   Billing & Metering.
"Dogfood" Tests

•
•   Dogfood testing is about using own products for real
    usage.
•   Internal Patch Management Tool system developed
    using WSO2 G-reg product.
•   Usage introduced Product enhancements suggested
    by Engineers.
Team
Team
•
• Recognized as Team of the Year - 2010.
•   Technically skilled team.
•   6+ years experienced SOA Testers.
•   WSO2 Product experts.
•   Apache Committers.
•   Authors and reviewers of published books on SOA .
Tools
Test Cycles
The release life-cycle...

                                      •     Run integration tests

                      •   Commit automated test cases                         Download builds

            •   Fix regression issues of automated
                tests




                             •   Commit quality code                                        Tester
                            (new code, bug fixes)
Automation Engineer                                             Report Jira


                                                                                   Release candidate
                Developer



                                 Fix Jira
                                                                              Report Jira
                                                                                                     Users (Community /
                                                                                                        Customers)
Release Calendar
Tester...
Phase 1 - Test Planning

•   For new products
    - prepare detailed test plans for all features.
•   For mature products
    - add test cases for new features.

E.g.:-
https://docs.google.com/a/wso2.com/spreadsheet/ccc?key=0AvhVRxNoCg0KdHRVMm1pM2x
LUDREajdHRVlQekJRcUE#gid=20
Sources for Designing Test Plans

                   Support Issues



 QSPs & Client
 engagements                         POCs




  Architecture &
 Design Reviews

                                     Samples


                       Competitive
                        Products
Tester...
Phase 2 - Generate Artifacts
•   Create artifacts for each test scenario
    - webapps, axis2 services
    - synapse configurations
    - configurable governance artifacts
    - Jmeter scripts (to create APIs, publish, subscribe &
    invoke in bulk)
    - scripts for endurance testing
    E.g.: - https://svn.wso2.org/repos/wso2/trunk/commons/qa/qa-artifacts
Tester...
Phase 3 (cycle 1) - Test Execution

•   Setup product platforms in test lab
(with clustering/caching/mounting).
•   Prioritize & execute selected set of test cases on
    platform setups.
•   Report all L1s, L2s, L3s, etc (issues related to UI,
    features, samples & documentation).
•   Update test progress in the test plan.
Developer...

Cycle 2

•Fix L1s, L2s, etc.
•Continue functional & non-functional testing.
•Run integration tests.
Tester...
Phase 3 (cycle 2) - Test Execution

•   Verify all fixed issues in new build.
•   Execute test cases and report more issues.

Phase 3 (cycle n) - Test Execution
•   Do final round of testing (smoke test) on final RC (Release
    Candidate).
•   If no more L1s are found, release the product.
Automation Engineer...

•   Automates
    - UI & other features (security, throttling, etc).
    - certain platform scenarios.
    - volume test scenarios.
    - certain performance test scenarios.
Automation Engineer...

•   Code coverage for some products
    Product        LOC coverage   Class coverage

    ESB            38%            66%

    G-Reg          46%            65%

    DSS            49%            73%

    CEP            57%            74%

    MB             47%            90%
Support Patch Verification Process


                 Reports JIRA



Customer
                                                                                     Release the patch to the
                                                                                     customer
             •    Receives the JIRA              Private
             •    Post the first response         SVN
                                                                  Signs the patch if successful




                                                        Checkout the patch &
                                 Commits the patch      verify the fix
                                                                                                   Simulate customer
Support                                                                                            setup in test lab
Engineer

     Provides information on                                                            Tester
     the issue

                                              Add integration tests for the patch
                                                                                       Public
                                                                                       SVN
                 Developer /                  Commits the fix for future releases
                 Automation Engineer
Future...



     , Support Team
Q & A.
Engage with WSO2.
Engage with WSO2.
Ad

More Related Content

What's hot (20)

IBM WebSphere application server
IBM WebSphere application serverIBM WebSphere application server
IBM WebSphere application server
IBM Sverige
 
Azure servicefabric
Azure servicefabricAzure servicefabric
Azure servicefabric
Abhishek Sur
 
Keynote-Service Orientation – Why is it good for your business
Keynote-Service Orientation – Why is it good for your businessKeynote-Service Orientation – Why is it good for your business
Keynote-Service Orientation – Why is it good for your business
WSO2
 
Growing Adoption of Open Source in Enterprises
Growing Adoption of Open Source in EnterprisesGrowing Adoption of Open Source in Enterprises
Growing Adoption of Open Source in Enterprises
WSO2
 
WSO2 Product Release Webinar - Introducing the WSO2 Complex Event Processor
WSO2 Product Release Webinar - Introducing the WSO2 Complex Event Processor WSO2 Product Release Webinar - Introducing the WSO2 Complex Event Processor
WSO2 Product Release Webinar - Introducing the WSO2 Complex Event Processor
WSO2
 
IBM WebSphere Application Server Update - Technical University (March 2015)
IBM WebSphere Application Server Update - Technical University (March 2015)IBM WebSphere Application Server Update - Technical University (March 2015)
IBM WebSphere Application Server Update - Technical University (March 2015)
Ian Robinson
 
Whats new in was liberty security and cloud readiness
Whats new in was liberty   security and cloud readinessWhats new in was liberty   security and cloud readiness
Whats new in was liberty security and cloud readiness
sflynn073
 
Microservices with Azure Service Fabric
Microservices with Azure Service FabricMicroservices with Azure Service Fabric
Microservices with Azure Service Fabric
Davide Benvegnù
 
Akka-intro-training-public.pdf
Akka-intro-training-public.pdfAkka-intro-training-public.pdf
Akka-intro-training-public.pdf
BernardDeffarges
 
JavaCro'15 - Oracle Java Cloud Service Java PaaS - Duško Vukmanović
JavaCro'15 - Oracle Java Cloud Service  Java PaaS - Duško VukmanovićJavaCro'15 - Oracle Java Cloud Service  Java PaaS - Duško Vukmanović
JavaCro'15 - Oracle Java Cloud Service Java PaaS - Duško Vukmanović
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Lets vRealize level -100 Presentation
Lets vRealize level -100 PresentationLets vRealize level -100 Presentation
Lets vRealize level -100 Presentation
Anil Gupta (AJ) - vExpert
 
AAI-1445 Managing Dynamic Workloads with WebSphere ND and in the Cloud
AAI-1445 Managing Dynamic Workloads with WebSphere ND and in the CloudAAI-1445 Managing Dynamic Workloads with WebSphere ND and in the Cloud
AAI-1445 Managing Dynamic Workloads with WebSphere ND and in the Cloud
WASdev Community
 
Microservices to Scale using Azure Service Fabric
Microservices to Scale using Azure Service FabricMicroservices to Scale using Azure Service Fabric
Microservices to Scale using Azure Service Fabric
Mukul Jain
 
Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup #5 - Microservices and Azure Service FabricTokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup
 
Understanding the WSO2 Platform
Understanding the WSO2 PlatformUnderstanding the WSO2 Platform
Understanding the WSO2 Platform
WSO2
 
WebSphere Application Server JBoss TCO analysis
WebSphere Application Server JBoss TCO analysisWebSphere Application Server JBoss TCO analysis
WebSphere Application Server JBoss TCO analysis
Shetal Patel
 
Jakarta EE und Microprofile sind bei Azure zu Hause
Jakarta EE und Microprofile sind bei Azure zu HauseJakarta EE und Microprofile sind bei Azure zu Hause
Jakarta EE und Microprofile sind bei Azure zu Hause
Edward Burns
 
Continuous Integration and development environment approach
Continuous Integration and development environment approachContinuous Integration and development environment approach
Continuous Integration and development environment approach
Aleksandr Tsertkov
 
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
WASdev Community
 
Java on Your Terms with Azure
Java on Your Terms with AzureJava on Your Terms with Azure
Java on Your Terms with Azure
Edward Burns
 
IBM WebSphere application server
IBM WebSphere application serverIBM WebSphere application server
IBM WebSphere application server
IBM Sverige
 
Azure servicefabric
Azure servicefabricAzure servicefabric
Azure servicefabric
Abhishek Sur
 
Keynote-Service Orientation – Why is it good for your business
Keynote-Service Orientation – Why is it good for your businessKeynote-Service Orientation – Why is it good for your business
Keynote-Service Orientation – Why is it good for your business
WSO2
 
Growing Adoption of Open Source in Enterprises
Growing Adoption of Open Source in EnterprisesGrowing Adoption of Open Source in Enterprises
Growing Adoption of Open Source in Enterprises
WSO2
 
WSO2 Product Release Webinar - Introducing the WSO2 Complex Event Processor
WSO2 Product Release Webinar - Introducing the WSO2 Complex Event Processor WSO2 Product Release Webinar - Introducing the WSO2 Complex Event Processor
WSO2 Product Release Webinar - Introducing the WSO2 Complex Event Processor
WSO2
 
IBM WebSphere Application Server Update - Technical University (March 2015)
IBM WebSphere Application Server Update - Technical University (March 2015)IBM WebSphere Application Server Update - Technical University (March 2015)
IBM WebSphere Application Server Update - Technical University (March 2015)
Ian Robinson
 
Whats new in was liberty security and cloud readiness
Whats new in was liberty   security and cloud readinessWhats new in was liberty   security and cloud readiness
Whats new in was liberty security and cloud readiness
sflynn073
 
Microservices with Azure Service Fabric
Microservices with Azure Service FabricMicroservices with Azure Service Fabric
Microservices with Azure Service Fabric
Davide Benvegnù
 
Akka-intro-training-public.pdf
Akka-intro-training-public.pdfAkka-intro-training-public.pdf
Akka-intro-training-public.pdf
BernardDeffarges
 
AAI-1445 Managing Dynamic Workloads with WebSphere ND and in the Cloud
AAI-1445 Managing Dynamic Workloads with WebSphere ND and in the CloudAAI-1445 Managing Dynamic Workloads with WebSphere ND and in the Cloud
AAI-1445 Managing Dynamic Workloads with WebSphere ND and in the Cloud
WASdev Community
 
Microservices to Scale using Azure Service Fabric
Microservices to Scale using Azure Service FabricMicroservices to Scale using Azure Service Fabric
Microservices to Scale using Azure Service Fabric
Mukul Jain
 
Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup #5 - Microservices and Azure Service FabricTokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Tokyo Azure Meetup
 
Understanding the WSO2 Platform
Understanding the WSO2 PlatformUnderstanding the WSO2 Platform
Understanding the WSO2 Platform
WSO2
 
WebSphere Application Server JBoss TCO analysis
WebSphere Application Server JBoss TCO analysisWebSphere Application Server JBoss TCO analysis
WebSphere Application Server JBoss TCO analysis
Shetal Patel
 
Jakarta EE und Microprofile sind bei Azure zu Hause
Jakarta EE und Microprofile sind bei Azure zu HauseJakarta EE und Microprofile sind bei Azure zu Hause
Jakarta EE und Microprofile sind bei Azure zu Hause
Edward Burns
 
Continuous Integration and development environment approach
Continuous Integration and development environment approachContinuous Integration and development environment approach
Continuous Integration and development environment approach
Aleksandr Tsertkov
 
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
AAI-2016 WebSphere Application Server Installation and Maintenance in the Ent...
WASdev Community
 
Java on Your Terms with Azure
Java on Your Terms with AzureJava on Your Terms with Azure
Java on Your Terms with Azure
Edward Burns
 

Similar to Testing in an Open Source Middleware Platform Space The WSO2 Way. (20)

Understand release engineering
Understand release engineeringUnderstand release engineering
Understand release engineering
gaoliang641
 
Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and SubversionBeyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Product Marketing Services
 
Testing Process
Testing ProcessTesting Process
Testing Process
maheshpadwal
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
ITS-Fidel
ITS-FidelITS-Fidel
ITS-Fidel
Fidel Softech P. Ltd
 
Unosquare SlideShare Presentation
Unosquare SlideShare PresentationUnosquare SlideShare Presentation
Unosquare SlideShare Presentation
Michael Barrett
 
Постоянное тестирование интеграции
Постоянное тестирование интеграцииПостоянное тестирование интеграции
Постоянное тестирование интеграции
SQALab
 
Agile Open Source Performance Testing Workshop for Business Managers
Agile Open Source Performance Testing Workshop for Business ManagersAgile Open Source Performance Testing Workshop for Business Managers
Agile Open Source Performance Testing Workshop for Business Managers
Clever Moe
 
Pankajavalli_Bandaru_Resume-updatedoctNov11th
Pankajavalli_Bandaru_Resume-updatedoctNov11thPankajavalli_Bandaru_Resume-updatedoctNov11th
Pankajavalli_Bandaru_Resume-updatedoctNov11th
Veda Valli
 
Software Quality Plan
Software Quality PlanSoftware Quality Plan
Software Quality Plan
guy_davis
 
"Experiences Of Test Automation At Spotify" with Kristian Karl
"Experiences Of Test Automation At Spotify" with Kristian Karl"Experiences Of Test Automation At Spotify" with Kristian Karl
"Experiences Of Test Automation At Spotify" with Kristian Karl
TEST Huddle
 
Cerberus_Presentation1
Cerberus_Presentation1Cerberus_Presentation1
Cerberus_Presentation1
CIVEL Benoit
 
Cerberus : Framework for Manual and Automated Testing (Web Application)
Cerberus : Framework for Manual and Automated Testing (Web Application)Cerberus : Framework for Manual and Automated Testing (Web Application)
Cerberus : Framework for Manual and Automated Testing (Web Application)
CIVEL Benoit
 
20110812 CyberTAN presentation
20110812 CyberTAN presentation20110812 CyberTAN presentation
20110812 CyberTAN presentation
Richard Hsu
 
Neev QA Offering
Neev QA OfferingNeev QA Offering
Neev QA Offering
Neev Technologies
 
Ashwini - Effective use of CI by QA
Ashwini - Effective use of CI by QAAshwini - Effective use of CI by QA
Ashwini - Effective use of CI by QA
vodQA
 
Neil Tompson - SoftTest Ireland
Neil Tompson - SoftTest IrelandNeil Tompson - SoftTest Ireland
Neil Tompson - SoftTest Ireland
David O'Dowd
 
Test automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerTest automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application Server
Robbie Minshall
 
SOASTA CloudTest Lite
SOASTA CloudTest LiteSOASTA CloudTest Lite
SOASTA CloudTest Lite
Fred Beringer
 
Continuous Build To Continuous Release - Experience
Continuous Build To Continuous Release - ExperienceContinuous Build To Continuous Release - Experience
Continuous Build To Continuous Release - Experience
Raja Soundaramourty
 
Understand release engineering
Understand release engineeringUnderstand release engineering
Understand release engineering
gaoliang641
 
Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and SubversionBeyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Product Marketing Services
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
Unosquare SlideShare Presentation
Unosquare SlideShare PresentationUnosquare SlideShare Presentation
Unosquare SlideShare Presentation
Michael Barrett
 
Постоянное тестирование интеграции
Постоянное тестирование интеграцииПостоянное тестирование интеграции
Постоянное тестирование интеграции
SQALab
 
Agile Open Source Performance Testing Workshop for Business Managers
Agile Open Source Performance Testing Workshop for Business ManagersAgile Open Source Performance Testing Workshop for Business Managers
Agile Open Source Performance Testing Workshop for Business Managers
Clever Moe
 
Pankajavalli_Bandaru_Resume-updatedoctNov11th
Pankajavalli_Bandaru_Resume-updatedoctNov11thPankajavalli_Bandaru_Resume-updatedoctNov11th
Pankajavalli_Bandaru_Resume-updatedoctNov11th
Veda Valli
 
Software Quality Plan
Software Quality PlanSoftware Quality Plan
Software Quality Plan
guy_davis
 
"Experiences Of Test Automation At Spotify" with Kristian Karl
"Experiences Of Test Automation At Spotify" with Kristian Karl"Experiences Of Test Automation At Spotify" with Kristian Karl
"Experiences Of Test Automation At Spotify" with Kristian Karl
TEST Huddle
 
Cerberus_Presentation1
Cerberus_Presentation1Cerberus_Presentation1
Cerberus_Presentation1
CIVEL Benoit
 
Cerberus : Framework for Manual and Automated Testing (Web Application)
Cerberus : Framework for Manual and Automated Testing (Web Application)Cerberus : Framework for Manual and Automated Testing (Web Application)
Cerberus : Framework for Manual and Automated Testing (Web Application)
CIVEL Benoit
 
20110812 CyberTAN presentation
20110812 CyberTAN presentation20110812 CyberTAN presentation
20110812 CyberTAN presentation
Richard Hsu
 
Ashwini - Effective use of CI by QA
Ashwini - Effective use of CI by QAAshwini - Effective use of CI by QA
Ashwini - Effective use of CI by QA
vodQA
 
Neil Tompson - SoftTest Ireland
Neil Tompson - SoftTest IrelandNeil Tompson - SoftTest Ireland
Neil Tompson - SoftTest Ireland
David O'Dowd
 
Test automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerTest automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application Server
Robbie Minshall
 
SOASTA CloudTest Lite
SOASTA CloudTest LiteSOASTA CloudTest Lite
SOASTA CloudTest Lite
Fred Beringer
 
Continuous Build To Continuous Release - Experience
Continuous Build To Continuous Release - ExperienceContinuous Build To Continuous Release - Experience
Continuous Build To Continuous Release - Experience
Raja Soundaramourty
 
Ad

More from WSO2 (20)

Platformless Modernization with Choreo.pdf
Platformless Modernization with Choreo.pdfPlatformless Modernization with Choreo.pdf
Platformless Modernization with Choreo.pdf
WSO2
 
Application Modernization with Choreo for the BFSI Sector
Application Modernization with Choreo for the BFSI SectorApplication Modernization with Choreo for the BFSI Sector
Application Modernization with Choreo for the BFSI Sector
WSO2
 
Choreo - The AI-Native Internal Developer Platform as a Service: Overview
Choreo - The AI-Native Internal Developer Platform as a Service: OverviewChoreo - The AI-Native Internal Developer Platform as a Service: Overview
Choreo - The AI-Native Internal Developer Platform as a Service: Overview
WSO2
 
[Roundtable] Choreo - The AI-Native Internal Developer Platform as a Service
[Roundtable] Choreo - The AI-Native Internal Developer Platform as a Service[Roundtable] Choreo - The AI-Native Internal Developer Platform as a Service
[Roundtable] Choreo - The AI-Native Internal Developer Platform as a Service
WSO2
 
WSO2Con 2025 - Building AI Applications in the Enterprise (Part 1)
WSO2Con 2025 - Building AI Applications in the Enterprise (Part 1)WSO2Con 2025 - Building AI Applications in the Enterprise (Part 1)
WSO2Con 2025 - Building AI Applications in the Enterprise (Part 1)
WSO2
 
WSO2Con 2025 - Building Secure Business Customer and Partner Experience (B2B)...
WSO2Con 2025 - Building Secure Business Customer and Partner Experience (B2B)...WSO2Con 2025 - Building Secure Business Customer and Partner Experience (B2B)...
WSO2Con 2025 - Building Secure Business Customer and Partner Experience (B2B)...
WSO2
 
WSO2Con 2025 - Building Secure Customer Experience Apps
WSO2Con 2025 - Building Secure Customer Experience AppsWSO2Con 2025 - Building Secure Customer Experience Apps
WSO2Con 2025 - Building Secure Customer Experience Apps
WSO2
 
WSO2Con 2025 - AI-Driven API Design, Development, and Consumption with Enhanc...
WSO2Con 2025 - AI-Driven API Design, Development, and Consumption with Enhanc...WSO2Con 2025 - AI-Driven API Design, Development, and Consumption with Enhanc...
WSO2Con 2025 - AI-Driven API Design, Development, and Consumption with Enhanc...
WSO2
 
WSO2Con 2025 - AI-Driven API Design, Development, and Consumption with Enhanc...
WSO2Con 2025 - AI-Driven API Design, Development, and Consumption with Enhanc...WSO2Con 2025 - AI-Driven API Design, Development, and Consumption with Enhanc...
WSO2Con 2025 - AI-Driven API Design, Development, and Consumption with Enhanc...
WSO2
 
WSO2Con 2025 - Unified Management of Ingress and Egress Across Multiple API G...
WSO2Con 2025 - Unified Management of Ingress and Egress Across Multiple API G...WSO2Con 2025 - Unified Management of Ingress and Egress Across Multiple API G...
WSO2Con 2025 - Unified Management of Ingress and Egress Across Multiple API G...
WSO2
 
WSO2Con 2025 - How an Internal Developer Platform Lets Developers Focus on Code
WSO2Con 2025 - How an Internal Developer Platform Lets Developers Focus on CodeWSO2Con 2025 - How an Internal Developer Platform Lets Developers Focus on Code
WSO2Con 2025 - How an Internal Developer Platform Lets Developers Focus on Code
WSO2
 
WSO2Con 2025 - Architecting Cloud-Native Applications
WSO2Con 2025 - Architecting Cloud-Native ApplicationsWSO2Con 2025 - Architecting Cloud-Native Applications
WSO2Con 2025 - Architecting Cloud-Native Applications
WSO2
 
Mastering Intelligent Digital Experiences with Platformless Modernization
Mastering Intelligent Digital Experiences with Platformless ModernizationMastering Intelligent Digital Experiences with Platformless Modernization
Mastering Intelligent Digital Experiences with Platformless Modernization
WSO2
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdf
WSO2
 
Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2
WSO2
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
WSO2
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
WSO2
 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2
 
Platformless Modernization with Choreo.pdf
Platformless Modernization with Choreo.pdfPlatformless Modernization with Choreo.pdf
Platformless Modernization with Choreo.pdf
WSO2
 
Application Modernization with Choreo for the BFSI Sector
Application Modernization with Choreo for the BFSI SectorApplication Modernization with Choreo for the BFSI Sector
Application Modernization with Choreo for the BFSI Sector
WSO2
 
Choreo - The AI-Native Internal Developer Platform as a Service: Overview
Choreo - The AI-Native Internal Developer Platform as a Service: OverviewChoreo - The AI-Native Internal Developer Platform as a Service: Overview
Choreo - The AI-Native Internal Developer Platform as a Service: Overview
WSO2
 
[Roundtable] Choreo - The AI-Native Internal Developer Platform as a Service
[Roundtable] Choreo - The AI-Native Internal Developer Platform as a Service[Roundtable] Choreo - The AI-Native Internal Developer Platform as a Service
[Roundtable] Choreo - The AI-Native Internal Developer Platform as a Service
WSO2
 
WSO2Con 2025 - Building AI Applications in the Enterprise (Part 1)
WSO2Con 2025 - Building AI Applications in the Enterprise (Part 1)WSO2Con 2025 - Building AI Applications in the Enterprise (Part 1)
WSO2Con 2025 - Building AI Applications in the Enterprise (Part 1)
WSO2
 
WSO2Con 2025 - Building Secure Business Customer and Partner Experience (B2B)...
WSO2Con 2025 - Building Secure Business Customer and Partner Experience (B2B)...WSO2Con 2025 - Building Secure Business Customer and Partner Experience (B2B)...
WSO2Con 2025 - Building Secure Business Customer and Partner Experience (B2B)...
WSO2
 
WSO2Con 2025 - Building Secure Customer Experience Apps
WSO2Con 2025 - Building Secure Customer Experience AppsWSO2Con 2025 - Building Secure Customer Experience Apps
WSO2Con 2025 - Building Secure Customer Experience Apps
WSO2
 
WSO2Con 2025 - AI-Driven API Design, Development, and Consumption with Enhanc...
WSO2Con 2025 - AI-Driven API Design, Development, and Consumption with Enhanc...WSO2Con 2025 - AI-Driven API Design, Development, and Consumption with Enhanc...
WSO2Con 2025 - AI-Driven API Design, Development, and Consumption with Enhanc...
WSO2
 
WSO2Con 2025 - AI-Driven API Design, Development, and Consumption with Enhanc...
WSO2Con 2025 - AI-Driven API Design, Development, and Consumption with Enhanc...WSO2Con 2025 - AI-Driven API Design, Development, and Consumption with Enhanc...
WSO2Con 2025 - AI-Driven API Design, Development, and Consumption with Enhanc...
WSO2
 
WSO2Con 2025 - Unified Management of Ingress and Egress Across Multiple API G...
WSO2Con 2025 - Unified Management of Ingress and Egress Across Multiple API G...WSO2Con 2025 - Unified Management of Ingress and Egress Across Multiple API G...
WSO2Con 2025 - Unified Management of Ingress and Egress Across Multiple API G...
WSO2
 
WSO2Con 2025 - How an Internal Developer Platform Lets Developers Focus on Code
WSO2Con 2025 - How an Internal Developer Platform Lets Developers Focus on CodeWSO2Con 2025 - How an Internal Developer Platform Lets Developers Focus on Code
WSO2Con 2025 - How an Internal Developer Platform Lets Developers Focus on Code
WSO2
 
WSO2Con 2025 - Architecting Cloud-Native Applications
WSO2Con 2025 - Architecting Cloud-Native ApplicationsWSO2Con 2025 - Architecting Cloud-Native Applications
WSO2Con 2025 - Architecting Cloud-Native Applications
WSO2
 
Mastering Intelligent Digital Experiences with Platformless Modernization
Mastering Intelligent Digital Experiences with Platformless ModernizationMastering Intelligent Digital Experiences with Platformless Modernization
Mastering Intelligent Digital Experiences with Platformless Modernization
WSO2
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdf
WSO2
 
Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2
WSO2
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
WSO2
 
Modernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using BallerinaModernizing Legacy Systems Using Ballerina
Modernizing Legacy Systems Using Ballerina
WSO2
 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2
 
Ad

Testing in an Open Source Middleware Platform Space The WSO2 Way.

  • 1. Testing in an Open-source Middleware Platform Space: The WSO2 Way Iranga Muthuthanthri Technical Lead -QA
  • 2. About WSO2 • Providing the only complete open source componentized cloud platform o Dedicated to removing all the stumbling blocks to enterprise agility o Enabling you to focus on business logic and business value • Recognized by leading analyst firms as visionaries and leaders o Gartner cites WSO2 as visionaries in all 3 categories of application infrastructure o Forrester places WSO2 in top 2 for API Management • Global corporation with offices in USA, UK & Sri Lanka o 200+ employees and growing • Business model of selling comprehensive support & maintenance for our products
  • 4. Agenda • Engineering process at WSO2. • Product & Release Management. • Testing Process at WSO2. • Patch Verification Process.
  • 5. Testament The Problem: • eBay wanted to move away from a home-grown middleware solution to a commercial ESB • Required very fast response times (< 5ms) • Benchmarked 10 ESBs • Including Proprietary, Open Source, Hardware Solutions • WSO2 was the only ESB to support their performance and manageability requirements • 2-3x faster than the other software based solutions on eBay’s workload. The Solution: • 1.5 billion API calls during peak times (prior to 2011 Holiday season & Black Friday) • No downtime experienced during 2010 & 2011 holiday peaks!
  • 7. Engineering Process Doing the "right" thing in the "collaborative" way to make people "happy".
  • 8. People Centric Process • • People centric process. • User-engineer engagement model. • Promotes constant communication in push mode give and receive feedback. • Build products users actually use and want. • Get the "buy-in" from engineers to follow the process instead of pushing down a model.
  • 9. Influenced by Apache Way Communit y Openness
  • 11. Elements (in) Process • • Product management. • Milestone model. • Release model. • Support model.
  • 16. Support Model • • No Support Engineers. • Engineering runs Support. • SLA is Now!. • Engineers understand the real usage of their creation. • Engineers gets to know customers problems and pain. • Learning hub to understand platform aspects. Makes the next release cycle "Better".
  • 17. Product One Product One Code Base One Build Command One Team
  • 19. WSO2 Testing Principles • • Quality is #1 priority of Engineering practice. • Engineering owns and is responsible for quality. • Everyone in Engineering does testing. • Collaborative Test methodology.
  • 20. Agile Testing Principles Based on Agile principles • Test early test often. • Face to Face communication (Hackathon mode). • Responsive to change. • Frequent feedback.
  • 21. SOA-Middleware Testing Challenges • • Complexity of testing due to "Headless" state. • Difficulty in defect isolation. • Distribution nature of production deployment environments. • Multiple configuration points for component integrations.
  • 22. SOA Middleware Test Practice Data Server Oracle/MySQ Service L/MSSQL ... Client (Browser/ ESB App) Registry Service Identity LDAP/AD.. Service
  • 23. Types of Tests • • Unit Tests. • Integration Tests. • End to End Tests. • Performance Tests. • Security Tests.
  • 24. Integration Level Phase • • Objective is to validate the integration scenarios of heterogeneous WSO2 products. E.g: The ESB - Message Broker integration scenario.
  • 25. End to End Tests • • Platform aspects of testing. • Objective is to validate that the platform provides an application developer to build and launch the application in an enterprise context. E.g: Authorize a request to a deployed web service in app server through the entitlement mediator defined in the ESB referring to the entitlement policy defined at the identity server.
  • 26. Performance Tests • Performance Tests to Measure: o Throughput = requests served per second (data rate /sec). o Latency = How long each transaction takes ( time between requests).
  • 27. Reliability Tests • • Endurance tests: o Long running tests : Tests running for a significant periods of time (days,weeks). • Volume tests: o System loaded with incremental # of services, artifacts.
  • 28. Security Tests Security tests for the following threats are executed. Threat Types of tests Spoofing Authentication Tampering Signature Privilege Authorization Information Disclosure Encryption
  • 29. Cloud Testing Test the Cloud native features for • Multi Tenancy. • Elasticity. • Self Service. • Billing & Metering.
  • 30. "Dogfood" Tests • • Dogfood testing is about using own products for real usage. • Internal Patch Management Tool system developed using WSO2 G-reg product. • Usage introduced Product enhancements suggested by Engineers.
  • 31. Team
  • 32. Team • • Recognized as Team of the Year - 2010. • Technically skilled team. • 6+ years experienced SOA Testers. • WSO2 Product experts. • Apache Committers. • Authors and reviewers of published books on SOA .
  • 33. Tools
  • 35. The release life-cycle... • Run integration tests • Commit automated test cases Download builds • Fix regression issues of automated tests • Commit quality code Tester (new code, bug fixes) Automation Engineer Report Jira Release candidate Developer Fix Jira Report Jira Users (Community / Customers)
  • 37. Tester... Phase 1 - Test Planning • For new products - prepare detailed test plans for all features. • For mature products - add test cases for new features. E.g.:- https://docs.google.com/a/wso2.com/spreadsheet/ccc?key=0AvhVRxNoCg0KdHRVMm1pM2x LUDREajdHRVlQekJRcUE#gid=20
  • 38. Sources for Designing Test Plans Support Issues QSPs & Client engagements POCs Architecture & Design Reviews Samples Competitive Products
  • 39. Tester... Phase 2 - Generate Artifacts • Create artifacts for each test scenario - webapps, axis2 services - synapse configurations - configurable governance artifacts - Jmeter scripts (to create APIs, publish, subscribe & invoke in bulk) - scripts for endurance testing E.g.: - https://svn.wso2.org/repos/wso2/trunk/commons/qa/qa-artifacts
  • 40. Tester... Phase 3 (cycle 1) - Test Execution • Setup product platforms in test lab (with clustering/caching/mounting). • Prioritize & execute selected set of test cases on platform setups. • Report all L1s, L2s, L3s, etc (issues related to UI, features, samples & documentation). • Update test progress in the test plan.
  • 41. Developer... Cycle 2 •Fix L1s, L2s, etc. •Continue functional & non-functional testing. •Run integration tests.
  • 42. Tester... Phase 3 (cycle 2) - Test Execution • Verify all fixed issues in new build. • Execute test cases and report more issues. Phase 3 (cycle n) - Test Execution • Do final round of testing (smoke test) on final RC (Release Candidate). • If no more L1s are found, release the product.
  • 43. Automation Engineer... • Automates - UI & other features (security, throttling, etc). - certain platform scenarios. - volume test scenarios. - certain performance test scenarios.
  • 44. Automation Engineer... • Code coverage for some products Product LOC coverage Class coverage ESB 38% 66% G-Reg 46% 65% DSS 49% 73% CEP 57% 74% MB 47% 90%
  • 45. Support Patch Verification Process Reports JIRA Customer Release the patch to the customer • Receives the JIRA Private • Post the first response SVN Signs the patch if successful Checkout the patch & Commits the patch verify the fix Simulate customer Support setup in test lab Engineer Provides information on Tester the issue Add integration tests for the patch Public SVN Developer / Commits the fix for future releases Automation Engineer
  • 46. Future... , Support Team