SlideShare a Scribd company logo
1 of 13
Backend Server Validation
Zhang Yu Tao
May 20, 2015
Backend Server Validation -
Automation
Background Introduction
Purpose Introduction
Structure View
Solution Principle
Roles in code
Linux/Windows checkpoint
Q&A
Background Introduction
XXX Cloud Services are designed for supporting critical application workloads . When a customer order
a new server in the data centers, we need to validate that it has been provisioned successfully and the
server configuration (OS, storage, platform, management, orchestration, software, hardware
information and more) are correct as ordered in the portal. This is not only vital for test teams but also
for other teams. It costs enormous manpower on carrying out these repeated testing.
This E2E validation solution is aiming at doing this job automatically and wisely with its expandability,
flexibility and ease of use based on various technologies.
We hope it can benefits different teams that perform provisioning test /backend validation in Labs or
DCs and aim to publish this as a tool to be used for Automatic Server Provisioning Validation purpose
by all teams.
Purpose Introduction
• Saving time and human cost
Since all jobs can be implemented in an automatic way, it does not need too much human interaction. Regardless some
maintenance work, we can quickly do the order, provision and validation work.
• Reliability and Steadiness
Since this is a complicated process involving a vast number of checkpoints that need validation for each Linux and WIN
server, AT do it constantly along with the same codes, testing data and checkpoints which making sure the results are
accurate.
• Continuity
Technically under the circumstance that it is stable and we have enough resources in the DCs, it can be run 24*7 without
manual intervention.
• Currently, we cover two scenarios
1. [Order a server in xxx portal / xxx API] > [check provision status of xxx portal] > [Verify the server
ordered is implemented correctly in data center ]
2. [Get an existing server reservation of xxx portal] > [check provision status of xxx portal] > [Verify the
server ordered is implemented correctly in data center ]
Purpose Introduction
Structure View
Data
Base
Win
Jump
Station
A
Linux
Jump
Station
A
Backend
Win
Server A
Backend
Linux
Server A
SikuliX v1.1.0
Secure Shell
Tunnel
PuTTY
v0.6
Use CMD to query information of Backend
server
More Information:
• Developed Java
• Deployed by
Maven
• Executed by
ATester
Test Computer
Group
Secure Shell
Tunnel
PuTTY
v0.6
Use SQL to query information of Portal’s server order
DB Jump
Station
A
Test
computer
A
Provisione
d Servers
Xxx API Server
Use API to query
information of
Portal’s server
order
Openstack
APIs
3rd Tool required:
• IBM STAF
deployed
Automation Test
Case (which is in
charge of acquiring
and comparing server’s
information.)
Windows Automation
solution
Solution Principle
E2E for Linux server:
1. Environment:
xxx DB, xxx API, Local test machine, Linux jump station, servers in data centers
2. Communication:
• Local test machine - portal: we use restful client to call existing APIs of portal, and use ODBC to contact DB of portal
• Local test machine - server of Data Center: We use Putty to build SSH tunnel to map server of data center from
Linux jump station to local test machine.
3. Validation Approach:
• use Secure Shell command to control the server of data center and then we can get/update information of that
server.
• Store the information in local test machine and use that to compare with the information of server that we got from
xxx DB.
Solution Principle
E2E for Windows server:
1. Environment:
xxx DB, xxx API, Local test machine, Linux jump station, servers in data centers
2. Communication:
• Local test machine - portal: we use restful client to call existing APIs of portal, and use ODBC to contact DB of portal
• Local test machine - server of data center:
a. We use SikuliX to remote access jump station and then jump to the server of Data Center.
b. Once remote desktop is connected, we use RDPClip.exe to send/get information.
3. Validation Approach:
• Copy BAT file (windows cmd line, powershell cmd line) to the server of Data Center and then we can get/update
server of data center.
• Store the information in local test machine and use that to compare with the information of server that we got
from Portal’s DB.
Roles in code
• Class for storing information of server of Portal:
ServerInfoBean: use to store all information of Linux/windows server
• Class for getting information of server of Portal :
ServerOrder: it has methods to get information of server of portal and will store all the information in above class
“ServerInfoBean”.
Some Methods:
o createServer: Place a server order in Portal.
o waitForProvisionCompleted: Wait for that server order is provisioned in Portal.
o getLatestServerInfo: get the latest information of server of Portal.
Roles in code
• Class for storing information of server of Data Center:
1. RealLinuxServerInfoBean: use to store all information of Linux server. (such as cpu, memory, ip, timezone, swap size … )
2. RealWinServerInfoBean: use to store all information of Windows server.
• Class for getting information of server of Data Center:
RealServerInspector: it has methods to get information of server of Data Center and will store all the information in above two
classes “RealLinuxServerInfoBean” and “RealWinServerInfoBean”.
Some Methods:
o connectToLinuxServer: connect to linux server.
o setupSSLTunnelInLocal: bulid the tunnel in local Env.
o tourLinuxCPU: get the cpu info from linux server.
o connectToWinServerThroughWinJumpStation: connect to windows server
o tourWindAllInfo:get all information what we need to check
JUnit Test Case
Server
Order
Server
InfoBean
RealServer
Inspector
RealWinS
erver
InfoBean
RealLinux
Server
InfoBean
Checkpoint
Roles in code
• Class for translating terminology of OS/software/..between Portal and Data
Center:
ElemenntNamingOfServerTranslator: use to translate term between Portal and Data Center.
• Class for writing test case:
JUnit test case: use normal Junit test case to call above classes to cover test flow.
Covered Checkpoint
Q&A

More Related Content

What's hot

NGINX: High Performance Load Balancing
NGINX: High Performance Load BalancingNGINX: High Performance Load Balancing
NGINX: High Performance Load BalancingNGINX, Inc.
 
11.Open Data Protocol(ODATA)
11.Open Data Protocol(ODATA) 11.Open Data Protocol(ODATA)
11.Open Data Protocol(ODATA) Nguyen Tuan
 
NGINX: Basics & Best Practices - EMEA Broadcast
NGINX: Basics & Best Practices - EMEA BroadcastNGINX: Basics & Best Practices - EMEA Broadcast
NGINX: Basics & Best Practices - EMEA BroadcastNGINX, Inc.
 
Apache Camel: Jetty Component With Example
Apache Camel: Jetty Component With ExampleApache Camel: Jetty Component With Example
Apache Camel: Jetty Component With ExampleAmit Aggarwal
 
Web Server Load Balancer
Web Server Load BalancerWeb Server Load Balancer
Web Server Load BalancerMobME Technical
 
What's New in NGINX Plus R7?
What's New in NGINX Plus R7?What's New in NGINX Plus R7?
What's New in NGINX Plus R7?NGINX, Inc.
 
Nagios Conference 2014 - Jeff Mendoza - Monitoring Microsoft Azure with Nagios
Nagios Conference 2014 - Jeff Mendoza - Monitoring Microsoft Azure with NagiosNagios Conference 2014 - Jeff Mendoza - Monitoring Microsoft Azure with Nagios
Nagios Conference 2014 - Jeff Mendoza - Monitoring Microsoft Azure with NagiosNagios
 
Nginx internals
Nginx internalsNginx internals
Nginx internalsliqiang xu
 
High Availability Content Caching with NGINX
High Availability Content Caching with NGINXHigh Availability Content Caching with NGINX
High Availability Content Caching with NGINXNGINX, Inc.
 
GraphConnect 2014 SF: From Zero to Graph in 120: Scale
GraphConnect 2014 SF: From Zero to Graph in 120: ScaleGraphConnect 2014 SF: From Zero to Graph in 120: Scale
GraphConnect 2014 SF: From Zero to Graph in 120: ScaleNeo4j
 
Rate Limiting with NGINX and NGINX Plus
Rate Limiting with NGINX and NGINX PlusRate Limiting with NGINX and NGINX Plus
Rate Limiting with NGINX and NGINX PlusNGINX, Inc.
 
Scale Apache with Nginx
Scale Apache with NginxScale Apache with Nginx
Scale Apache with NginxBud Siddhisena
 
Oracle business intelligence enterprise edition 11g
Oracle business intelligence enterprise edition 11gOracle business intelligence enterprise edition 11g
Oracle business intelligence enterprise edition 11guzzal basak
 
Learn nginx in 90mins
Learn nginx in 90minsLearn nginx in 90mins
Learn nginx in 90minsLarry Cai
 
Windows Phone 8 - 7 Local Database
Windows Phone 8 - 7 Local DatabaseWindows Phone 8 - 7 Local Database
Windows Phone 8 - 7 Local DatabaseOliver Scheer
 
What's New in NGINX Plus R12?
What's New in NGINX Plus R12? What's New in NGINX Plus R12?
What's New in NGINX Plus R12? NGINX, Inc.
 
Protecting your site by detection
Protecting your site by detectionProtecting your site by detection
Protecting your site by detectionMarko Heijnen
 

What's hot (20)

NGINX: High Performance Load Balancing
NGINX: High Performance Load BalancingNGINX: High Performance Load Balancing
NGINX: High Performance Load Balancing
 
11.Open Data Protocol(ODATA)
11.Open Data Protocol(ODATA) 11.Open Data Protocol(ODATA)
11.Open Data Protocol(ODATA)
 
NGINX: Basics & Best Practices - EMEA Broadcast
NGINX: Basics & Best Practices - EMEA BroadcastNGINX: Basics & Best Practices - EMEA Broadcast
NGINX: Basics & Best Practices - EMEA Broadcast
 
Apache Camel: Jetty Component With Example
Apache Camel: Jetty Component With ExampleApache Camel: Jetty Component With Example
Apache Camel: Jetty Component With Example
 
Web Server Load Balancer
Web Server Load BalancerWeb Server Load Balancer
Web Server Load Balancer
 
What's New in NGINX Plus R7?
What's New in NGINX Plus R7?What's New in NGINX Plus R7?
What's New in NGINX Plus R7?
 
Nagios Conference 2014 - Jeff Mendoza - Monitoring Microsoft Azure with Nagios
Nagios Conference 2014 - Jeff Mendoza - Monitoring Microsoft Azure with NagiosNagios Conference 2014 - Jeff Mendoza - Monitoring Microsoft Azure with Nagios
Nagios Conference 2014 - Jeff Mendoza - Monitoring Microsoft Azure with Nagios
 
Nginx internals
Nginx internalsNginx internals
Nginx internals
 
High Availability Content Caching with NGINX
High Availability Content Caching with NGINXHigh Availability Content Caching with NGINX
High Availability Content Caching with NGINX
 
GraphConnect 2014 SF: From Zero to Graph in 120: Scale
GraphConnect 2014 SF: From Zero to Graph in 120: ScaleGraphConnect 2014 SF: From Zero to Graph in 120: Scale
GraphConnect 2014 SF: From Zero to Graph in 120: Scale
 
Rate Limiting with NGINX and NGINX Plus
Rate Limiting with NGINX and NGINX PlusRate Limiting with NGINX and NGINX Plus
Rate Limiting with NGINX and NGINX Plus
 
Nginx dhruba mandal
Nginx dhruba mandalNginx dhruba mandal
Nginx dhruba mandal
 
Scale Apache with Nginx
Scale Apache with NginxScale Apache with Nginx
Scale Apache with Nginx
 
Nginx in production
Nginx in productionNginx in production
Nginx in production
 
Oracle business intelligence enterprise edition 11g
Oracle business intelligence enterprise edition 11gOracle business intelligence enterprise edition 11g
Oracle business intelligence enterprise edition 11g
 
Learn nginx in 90mins
Learn nginx in 90minsLearn nginx in 90mins
Learn nginx in 90mins
 
Windows Phone 8 - 7 Local Database
Windows Phone 8 - 7 Local DatabaseWindows Phone 8 - 7 Local Database
Windows Phone 8 - 7 Local Database
 
What's New in NGINX Plus R12?
What's New in NGINX Plus R12? What's New in NGINX Plus R12?
What's New in NGINX Plus R12?
 
Release it! - Takeaways
Release it! - TakeawaysRelease it! - Takeaways
Release it! - Takeaways
 
Protecting your site by detection
Protecting your site by detectionProtecting your site by detection
Protecting your site by detection
 

Viewers also liked

Cuidado del agua
Cuidado del aguaCuidado del agua
Cuidado del aguacielonava7
 
Integrate UFT with Jenkins Guide
Integrate UFT with Jenkins GuideIntegrate UFT with Jenkins Guide
Integrate UFT with Jenkins GuideYu Tao Zhang
 
Varying WordPress Development Environment WordCamp Cincinnati 2016
Varying WordPress Development Environment WordCamp Cincinnati 2016Varying WordPress Development Environment WordCamp Cincinnati 2016
Varying WordPress Development Environment WordCamp Cincinnati 2016David Brattoli
 
QTP&UFT Automation Framework
QTP&UFT Automation FrameworkQTP&UFT Automation Framework
QTP&UFT Automation FrameworkYu Tao Zhang
 
Michael C Brieck Resume
Michael C Brieck ResumeMichael C Brieck Resume
Michael C Brieck ResumeMichael Brieck
 

Viewers also liked (6)

Cuidado del agua
Cuidado del aguaCuidado del agua
Cuidado del agua
 
CN Resume
CN ResumeCN Resume
CN Resume
 
Integrate UFT with Jenkins Guide
Integrate UFT with Jenkins GuideIntegrate UFT with Jenkins Guide
Integrate UFT with Jenkins Guide
 
Varying WordPress Development Environment WordCamp Cincinnati 2016
Varying WordPress Development Environment WordCamp Cincinnati 2016Varying WordPress Development Environment WordCamp Cincinnati 2016
Varying WordPress Development Environment WordCamp Cincinnati 2016
 
QTP&UFT Automation Framework
QTP&UFT Automation FrameworkQTP&UFT Automation Framework
QTP&UFT Automation Framework
 
Michael C Brieck Resume
Michael C Brieck ResumeMichael C Brieck Resume
Michael C Brieck Resume
 

Similar to Backend Server Validation

Cloud Platform Symantec Meetup Nov 2014
Cloud Platform Symantec Meetup Nov 2014Cloud Platform Symantec Meetup Nov 2014
Cloud Platform Symantec Meetup Nov 2014Miguel Zuniga
 
Apache Street Smarts Presentation (SANS 99)
Apache Street Smarts Presentation (SANS 99)Apache Street Smarts Presentation (SANS 99)
Apache Street Smarts Presentation (SANS 99)Michael Dobe, Ph.D.
 
RapidScale CloudServer
RapidScale CloudServerRapidScale CloudServer
RapidScale CloudServerRapidScale
 
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...Amazon Web Services
 
Deep Dive - Usage of on premises data gateway for hybrid integration scenarios
Deep Dive - Usage of on premises data gateway for hybrid integration scenariosDeep Dive - Usage of on premises data gateway for hybrid integration scenarios
Deep Dive - Usage of on premises data gateway for hybrid integration scenariosSajith C P Nair
 
Introducing Gridiron Security and Compliance Management Platform and Enclave ...
Introducing Gridiron Security and Compliance Management Platform and Enclave ...Introducing Gridiron Security and Compliance Management Platform and Enclave ...
Introducing Gridiron Security and Compliance Management Platform and Enclave ...Aptible
 
Introduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to ChefIntroduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to ChefNathen Harvey
 
Spot Trading - A case study in continuous delivery for mission critical finan...
Spot Trading - A case study in continuous delivery for mission critical finan...Spot Trading - A case study in continuous delivery for mission critical finan...
Spot Trading - A case study in continuous delivery for mission critical finan...SaltStack
 
Dell PowerEdge Zero Touch Provisioning
Dell PowerEdge Zero Touch ProvisioningDell PowerEdge Zero Touch Provisioning
Dell PowerEdge Zero Touch ProvisioningDell World
 
Configuration management comes to Windows
Configuration management comes to WindowsConfiguration management comes to Windows
Configuration management comes to WindowsRavikanth Chaganti
 
.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric.NET microservices with Azure Service Fabric
.NET microservices with Azure Service FabricDavide Benvegnù
 
[Webinar] Site24x7 - The All-in-One Monitoring Solution for DevOps & IT
[Webinar] Site24x7 - The All-in-One Monitoring Solution for DevOps & IT[Webinar] Site24x7 - The All-in-One Monitoring Solution for DevOps & IT
[Webinar] Site24x7 - The All-in-One Monitoring Solution for DevOps & ITSite24x7
 
Brk3288 sql server v.next with support on linux, windows and containers was...
Brk3288 sql server v.next with support on linux, windows and containers   was...Brk3288 sql server v.next with support on linux, windows and containers   was...
Brk3288 sql server v.next with support on linux, windows and containers was...Bob Ward
 
Server load balancer ppt
Server load balancer pptServer load balancer ppt
Server load balancer pptShilpi Tandon
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOpsEklove Mohan
 
IEEE 2014 DOTNET DATA MINING PROJECTS Trusted db a-trusted-hardware-based-dat...
IEEE 2014 DOTNET DATA MINING PROJECTS Trusted db a-trusted-hardware-based-dat...IEEE 2014 DOTNET DATA MINING PROJECTS Trusted db a-trusted-hardware-based-dat...
IEEE 2014 DOTNET DATA MINING PROJECTS Trusted db a-trusted-hardware-based-dat...IEEEMEMTECHSTUDENTPROJECTS
 
2014 IEEE DOTNET DATA MINING PROJECT Trusteddb a-trusted-hardware-based-datab...
2014 IEEE DOTNET DATA MINING PROJECT Trusteddb a-trusted-hardware-based-datab...2014 IEEE DOTNET DATA MINING PROJECT Trusteddb a-trusted-hardware-based-datab...
2014 IEEE DOTNET DATA MINING PROJECT Trusteddb a-trusted-hardware-based-datab...IEEEMEMTECHSTUDENTSPROJECTS
 

Similar to Backend Server Validation (20)

Cloud Platform Symantec Meetup Nov 2014
Cloud Platform Symantec Meetup Nov 2014Cloud Platform Symantec Meetup Nov 2014
Cloud Platform Symantec Meetup Nov 2014
 
Apache Street Smarts Presentation (SANS 99)
Apache Street Smarts Presentation (SANS 99)Apache Street Smarts Presentation (SANS 99)
Apache Street Smarts Presentation (SANS 99)
 
RapidScale CloudServer
RapidScale CloudServerRapidScale CloudServer
RapidScale CloudServer
 
CV_RishabhDixit
CV_RishabhDixitCV_RishabhDixit
CV_RishabhDixit
 
Pvs slide
Pvs slidePvs slide
Pvs slide
 
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
 
Deep Dive - Usage of on premises data gateway for hybrid integration scenarios
Deep Dive - Usage of on premises data gateway for hybrid integration scenariosDeep Dive - Usage of on premises data gateway for hybrid integration scenarios
Deep Dive - Usage of on premises data gateway for hybrid integration scenarios
 
Introducing Gridiron Security and Compliance Management Platform and Enclave ...
Introducing Gridiron Security and Compliance Management Platform and Enclave ...Introducing Gridiron Security and Compliance Management Platform and Enclave ...
Introducing Gridiron Security and Compliance Management Platform and Enclave ...
 
Introduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to ChefIntroduction to Infrastructure as Code & Automation / Introduction to Chef
Introduction to Infrastructure as Code & Automation / Introduction to Chef
 
Spot Trading - A case study in continuous delivery for mission critical finan...
Spot Trading - A case study in continuous delivery for mission critical finan...Spot Trading - A case study in continuous delivery for mission critical finan...
Spot Trading - A case study in continuous delivery for mission critical finan...
 
Dell PowerEdge Zero Touch Provisioning
Dell PowerEdge Zero Touch ProvisioningDell PowerEdge Zero Touch Provisioning
Dell PowerEdge Zero Touch Provisioning
 
Configuration management comes to Windows
Configuration management comes to WindowsConfiguration management comes to Windows
Configuration management comes to Windows
 
.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric.NET microservices with Azure Service Fabric
.NET microservices with Azure Service Fabric
 
[Webinar] Site24x7 - The All-in-One Monitoring Solution for DevOps & IT
[Webinar] Site24x7 - The All-in-One Monitoring Solution for DevOps & IT[Webinar] Site24x7 - The All-in-One Monitoring Solution for DevOps & IT
[Webinar] Site24x7 - The All-in-One Monitoring Solution for DevOps & IT
 
Demystifying puppet
Demystifying puppetDemystifying puppet
Demystifying puppet
 
Brk3288 sql server v.next with support on linux, windows and containers was...
Brk3288 sql server v.next with support on linux, windows and containers   was...Brk3288 sql server v.next with support on linux, windows and containers   was...
Brk3288 sql server v.next with support on linux, windows and containers was...
 
Server load balancer ppt
Server load balancer pptServer load balancer ppt
Server load balancer ppt
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
 
IEEE 2014 DOTNET DATA MINING PROJECTS Trusted db a-trusted-hardware-based-dat...
IEEE 2014 DOTNET DATA MINING PROJECTS Trusted db a-trusted-hardware-based-dat...IEEE 2014 DOTNET DATA MINING PROJECTS Trusted db a-trusted-hardware-based-dat...
IEEE 2014 DOTNET DATA MINING PROJECTS Trusted db a-trusted-hardware-based-dat...
 
2014 IEEE DOTNET DATA MINING PROJECT Trusteddb a-trusted-hardware-based-datab...
2014 IEEE DOTNET DATA MINING PROJECT Trusteddb a-trusted-hardware-based-datab...2014 IEEE DOTNET DATA MINING PROJECT Trusteddb a-trusted-hardware-based-datab...
2014 IEEE DOTNET DATA MINING PROJECT Trusteddb a-trusted-hardware-based-datab...
 

Backend Server Validation

  • 1. Backend Server Validation Zhang Yu Tao May 20, 2015
  • 2. Backend Server Validation - Automation Background Introduction Purpose Introduction Structure View Solution Principle Roles in code Linux/Windows checkpoint Q&A
  • 3. Background Introduction XXX Cloud Services are designed for supporting critical application workloads . When a customer order a new server in the data centers, we need to validate that it has been provisioned successfully and the server configuration (OS, storage, platform, management, orchestration, software, hardware information and more) are correct as ordered in the portal. This is not only vital for test teams but also for other teams. It costs enormous manpower on carrying out these repeated testing. This E2E validation solution is aiming at doing this job automatically and wisely with its expandability, flexibility and ease of use based on various technologies. We hope it can benefits different teams that perform provisioning test /backend validation in Labs or DCs and aim to publish this as a tool to be used for Automatic Server Provisioning Validation purpose by all teams.
  • 4. Purpose Introduction • Saving time and human cost Since all jobs can be implemented in an automatic way, it does not need too much human interaction. Regardless some maintenance work, we can quickly do the order, provision and validation work. • Reliability and Steadiness Since this is a complicated process involving a vast number of checkpoints that need validation for each Linux and WIN server, AT do it constantly along with the same codes, testing data and checkpoints which making sure the results are accurate. • Continuity Technically under the circumstance that it is stable and we have enough resources in the DCs, it can be run 24*7 without manual intervention.
  • 5. • Currently, we cover two scenarios 1. [Order a server in xxx portal / xxx API] > [check provision status of xxx portal] > [Verify the server ordered is implemented correctly in data center ] 2. [Get an existing server reservation of xxx portal] > [check provision status of xxx portal] > [Verify the server ordered is implemented correctly in data center ] Purpose Introduction
  • 6. Structure View Data Base Win Jump Station A Linux Jump Station A Backend Win Server A Backend Linux Server A SikuliX v1.1.0 Secure Shell Tunnel PuTTY v0.6 Use CMD to query information of Backend server More Information: • Developed Java • Deployed by Maven • Executed by ATester Test Computer Group Secure Shell Tunnel PuTTY v0.6 Use SQL to query information of Portal’s server order DB Jump Station A Test computer A Provisione d Servers Xxx API Server Use API to query information of Portal’s server order Openstack APIs 3rd Tool required: • IBM STAF deployed Automation Test Case (which is in charge of acquiring and comparing server’s information.) Windows Automation solution
  • 7. Solution Principle E2E for Linux server: 1. Environment: xxx DB, xxx API, Local test machine, Linux jump station, servers in data centers 2. Communication: • Local test machine - portal: we use restful client to call existing APIs of portal, and use ODBC to contact DB of portal • Local test machine - server of Data Center: We use Putty to build SSH tunnel to map server of data center from Linux jump station to local test machine. 3. Validation Approach: • use Secure Shell command to control the server of data center and then we can get/update information of that server. • Store the information in local test machine and use that to compare with the information of server that we got from xxx DB.
  • 8. Solution Principle E2E for Windows server: 1. Environment: xxx DB, xxx API, Local test machine, Linux jump station, servers in data centers 2. Communication: • Local test machine - portal: we use restful client to call existing APIs of portal, and use ODBC to contact DB of portal • Local test machine - server of data center: a. We use SikuliX to remote access jump station and then jump to the server of Data Center. b. Once remote desktop is connected, we use RDPClip.exe to send/get information. 3. Validation Approach: • Copy BAT file (windows cmd line, powershell cmd line) to the server of Data Center and then we can get/update server of data center. • Store the information in local test machine and use that to compare with the information of server that we got from Portal’s DB.
  • 9. Roles in code • Class for storing information of server of Portal: ServerInfoBean: use to store all information of Linux/windows server • Class for getting information of server of Portal : ServerOrder: it has methods to get information of server of portal and will store all the information in above class “ServerInfoBean”. Some Methods: o createServer: Place a server order in Portal. o waitForProvisionCompleted: Wait for that server order is provisioned in Portal. o getLatestServerInfo: get the latest information of server of Portal.
  • 10. Roles in code • Class for storing information of server of Data Center: 1. RealLinuxServerInfoBean: use to store all information of Linux server. (such as cpu, memory, ip, timezone, swap size … ) 2. RealWinServerInfoBean: use to store all information of Windows server. • Class for getting information of server of Data Center: RealServerInspector: it has methods to get information of server of Data Center and will store all the information in above two classes “RealLinuxServerInfoBean” and “RealWinServerInfoBean”. Some Methods: o connectToLinuxServer: connect to linux server. o setupSSLTunnelInLocal: bulid the tunnel in local Env. o tourLinuxCPU: get the cpu info from linux server. o connectToWinServerThroughWinJumpStation: connect to windows server o tourWindAllInfo:get all information what we need to check
  • 11. JUnit Test Case Server Order Server InfoBean RealServer Inspector RealWinS erver InfoBean RealLinux Server InfoBean Checkpoint Roles in code • Class for translating terminology of OS/software/..between Portal and Data Center: ElemenntNamingOfServerTranslator: use to translate term between Portal and Data Center. • Class for writing test case: JUnit test case: use normal Junit test case to call above classes to cover test flow.
  • 13. Q&A