Solution about automating end to end server test

2
Agent App returns report to User App. Websit e APIs Databa se Web servic e User’s computer Provisioned Windows Server User App Hardware servers Software Portal Monit or App Windows Jumpstation Agent App User requests to check provisioned windows server. User App communicates with Agent App to start verification. 1 Agent App remotely logs on the Provisioned windows server and then installs a Monitor App on the it, and then get information of the it through Monitor App. 3 Agent App connects portal’s DB/web service to get information of the provisioned server. 2

Transcript of Solution about automating end to end server test

Page 1: Solution about automating end to end server test

Agent App returns report to User App.

WebsiteAPIs

Database Web service

User’s computer

Provisioned Windows Server

User App

Hardware servers

Software Portal

Monitor App

Windows Jumpstation Agent App

• User requests to check provisioned windows server.

• User App communicates with Agent App to start verification.

1

Agent App remotely logs on the Provisioned windows server and then installs a Monitor App on the it, and then get information of the it through Monitor App.

3

Agent App connects portal’s DB/web service to get information of the provisioned server.

2

Page 2: Solution about automating end to end server test

• As we known, you have to test the server which installed on your virtual server, whatever Linux or Windows, after you provisioned a virtual server in your cloud or IT infrastructure.

• In the solution, I provided the automated methods to archive above test goals. As the picture expounded, we have three apps to take the work. It looks like very simple, but you will know there are many problems if you ever took such manual testing. Because of the test environments' limit (like security, network...) of your company, you have to execute a test more like a end user to access the end server to check if everything is configured right. There would be jump-station, firewall and many tools of test that would be used in a test work. No chance to talk about automation test, the manual test is hard to complete.

• So what we can do for the test? Waiting for Hyper-V or VMware to provide a tools/approaches to do the test, or write a self automation solution? I selects the latter. Also the solution must satisfy three points that are simple to use, stable, easy to expand.

• I do not like to write the implement details here, just mean to provide a solution and give a guide how to implement the solution:

• 1. to control a Linux server: SSL tunnel can help you to go across the Linux jump station, and SSH can let you control a end Linux server. Since Linux system has a strong SSH command-line environment, so it is easy to script the SSH CL to test a Linux server.

• 2. to control a windows server: Remote desktop can be used to go across the windows jump-station or access the end windows server. Also, the terminal service or a SSL client service can be used to access a windows server. However, the terminal service and SSL client service are disabled by most windows server due to the security required. So we have to go back Remote desktop. There are two way to automate a Remote desktop. The 1st is SikuliX which is a open-source tool for automating windows operation by identifying your desktop's image. The 2nd is using VB.net/VC++ to developer yourself remote desktop. In windows system, you can script command of  CMD, PowerShell to test it, or use above automation tool to operate your windows server.

• 3. simple to use, stable, easy to expand: Firstly, use a JSON/XML file to manage test data and trigger the test. Secondly, put your focus on only providing  a tunnel to access end server and have ability of executing front required script, Command-Line or program/app. The last, have your mechanism to handle the network delay and automation operation exception.

• At the end, the solution is based on "do not change IT environment". If you have authority to install a tool/monitor in your server's image, you can easy to get the end server's information.