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.
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Solution about automating end to end server test
1. 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
2. • 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.