06/06/2010
Panda: Cloud Computing in Testing
Tao Jiang
www.linkedin.com/in/taojiang2000/
Rohitasva
22
Objectives
Cloud Computing in Latitude System Testing
What is Panda?
Things behind Panda
33
Latitude Advanced Patient Management
4
Previous Testing Experience
4
Manages Enrollment, Device Ordering/Replacement, Fax and
CRM
• EAI: Enterprise Application...
55
Testing Experience in Release 6.0
Business System Testing using MQ Tool
• Messages are generated Manually based on Temp...
66
Panda: System Overview
77
What Panda Does?
Panda is a collection of:
• Panda Service Cloud: Core Functionalities
• Panda Web Application
– Softwa...
88
Design Highlights: Technologies
Multi-Tenancy Architecture
• One App Fits All test environments.
• Scale up to thousand...
99
Panda Core Service
EnvironmentJetty
SAP Sim TRaC Sim
KMS/RMI
Sim
OracleDB
LDAP
MQ Writer
RegFGServlet
EnvInfoServlet
Ms...
1010
Panda API: Overview
Panda Core Service
APM Web
DTS
Protocol Data
Panda API
HTTP POST
Enrollment Python Functions
HTTP...
1111
Scalability
HTTP
HTTP
HTTP
Panda Core Service
(6,0)
Panda Core Service
(7.0)
Panda Core Service
(8.0)
Apache HTTP Ser...
1212
Results
Simplify Test Development
• Common test tasks are handled by Panda Service
• Upgrade on Server makes availabl...
1313
Results (cont)
Stability
• Auto-Recover from connection lose, even power
outage
• Eliminated testing downtime
Reduce ...
1414
Conclusions
Cloud computing is efficient and cost effective in
software testing.
Lots of success stories from our cus...
06/06/2010
Thank You
Upcoming SlideShare
Loading in …5
×

Testing in the Cloud using Panda

353 views

Published on

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

  • Be the first to like this

No Downloads
Views
Total views
353
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Testing in the Cloud using Panda

  1. 1. 06/06/2010 Panda: Cloud Computing in Testing Tao Jiang www.linkedin.com/in/taojiang2000/ Rohitasva
  2. 2. 22 Objectives Cloud Computing in Latitude System Testing What is Panda? Things behind Panda
  3. 3. 33 Latitude Advanced Patient Management
  4. 4. 4 Previous Testing Experience 4 Manages Enrollment, Device Ordering/Replacement, Fax and CRM • EAI: Enterprise Applications Integration. – Uses IBM WebSphere MQ to broker messages between systems • SAP: Finished Goods / LAT hardware • KMS / RMI: Marries the communicator and the PG • TRaCII: Physician/Patient Information and Device Registration • RightFax: Fax yellow alert • Siebel: Customer Relationship Management tool Latitude System Testing heavily involved in Business System.
  5. 5. 55 Testing Experience in Release 6.0 Business System Testing using MQ Tool • Messages are generated Manually based on Templates • Manually configure MQ Tool for target test environment • Manually play messages into the flow between LAT & EAI Some use Business System Simulator, called iBot. • Hard coded default value and limited customization in generated Messages. Not usable for Validation team. • Resource hog: Each environment runs as 5 windows services. • Cannot support all Release 6.0 environments at the same time. • Work Less and Crash Often: one dedicated engineer for maintenance • Cost More: Often takes 1-2 hours for crash analysis and recover. The time put other test engineers idle was enormous. Others use DTS • Very easy and fast • Use SQL enrollment by tweaking database. • Cause data issues in testing. • Not the way how the real system works
  6. 6. 66 Panda: System Overview
  7. 7. 77 What Panda Does? Panda is a collection of: • Panda Service Cloud: Core Functionalities • Panda Web Application – Software on Demand – Support All Aspects of Latitude Enrollment Process • Panda API: Python Interface to Panda, APM Web and DTS – Automated Testing – Batman: Hardware BAT Tool Host all Latitude Release 7.0 test environments Broker to IBM WebSphere MQ XML Message Signing Service for Secure Messaging Business System Message Generator Latitude Business System Simulator LDAP Client Tool Enrollment Data Validation Tool
  8. 8. 88 Design Highlights: Technologies Multi-Tenancy Architecture • One App Fits All test environments. • Scale up to thousands or down to just one • Upgrade available to all tenants immediately. Embedded Jetty Web Server • Efficient, embeddable and pluggable web server and servlet container. • Panda Core Service is only 150K in Size! RESTful JSON Web Service • Completely stateless web service • Highly tuned SQL Queries for great performance • JSON instead of XML for Efficiency and Flexibility • Platform and Language Neutral Solution jQuery and jQuery UI: write less, do more • Use AJAX/JSON, No Page Reload • Web Application with Desktop Application User Experience
  9. 9. 99 Panda Core Service EnvironmentJetty SAP Sim TRaC Sim KMS/RMI Sim OracleDB LDAP MQ Writer RegFGServlet EnvInfoServlet MsgSignServlet MqWriterServlet DBUtilServlet MessengerServlet UtilityServlet MQ Reader
  10. 10. 1010 Panda API: Overview Panda Core Service APM Web DTS Protocol Data Panda API HTTP POST Enrollment Python Functions HTTP GET · Generate Business System message · Send Message to IBM WebSphere MQ · Register device to server for auto response on shipment and device data response message. · Get Test Team List. · Get Test Protocol List. · Get Test Data List · Get Test Data Detail. · Test engineer can start with getting test protocol data from DTS. · Create business system message based on protocol data. · Send out business system message via Panda server. · Call APM Web functions to finish enrollment.
  11. 11. 1111 Scalability HTTP HTTP HTTP Panda Core Service (6,0) Panda Core Service (7.0) Panda Core Service (8.0) Apache HTTP Server Proxy Panda Web Application Static Content HTTP/HTTPS HTTP/HTTPS Panda API Currently, there are two instances of Panda Services in the cloud: • Release 7.0 for System Testing: 23 environments in 5 geographic regions. • Release 7.0 for App Dev: 5 environments in 5 geographic regions. • In fact, One Panda instance is capable of supporting all environments we currently have. Multiple Panda instances are used to support different Latitude releases. The front end Apache HTTP Server can be configured as: • SSL Proxy • Load Balancer • Request Dispatcher
  12. 12. 1212 Results Simplify Test Development • Common test tasks are handled by Panda Service • Upgrade on Server makes available to all clients instantaneously • Centralized Control means less chance to break test • Focus on application issue other than testing issue Improve Test Efficiency and Quality • Fully compliant with message schema and behavior of real business system • Tools and API make it easy for End to End testing • Save the need for environments with business system during test debug phase • Speeds up test development and execution
  13. 13. 1313 Results (cont) Stability • Auto-Recover from connection lose, even power outage • Eliminated testing downtime Reduce Cost • No more dedicated person for maintenance • Only 150K in size with Low Memory Footprint • Can be efficiently run even on a $300 Netbook • 30 minutes for deploying Panda from scratch; 5 minutes for Upgrade • Multiple Panda instances for supporting multiple Latitude releases
  14. 14. 1414 Conclusions Cloud computing is efficient and cost effective in software testing. Lots of success stories from our customers. We expect wider use of cloud computing inside Boston Scientific.
  15. 15. 06/06/2010 Thank You

×