IP Library Granted Patent US 9,916,147
Granted Patent B2
US 9,916,147 · App. 12/857,996 · Granted Mar 13, 2018

Deployment of a tool for testing migrated applications

Inventors: Hai Huang (White Plains, NY); Nikolai A. Joukov (Thornwood, NY); Birgit M. Pfitzmann (Valhalla, NY)
Assignee: International Business Machines Corporation
G06F8/60G06F11/3672
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,916,147
App. No.
12/857,996
Granted
Mar 13, 2018
Kind
B2
Abstract

Configuration information associated with software installed on a production system may be discovered. A script is automatically generated for capturing data traffic from and to the software installed on the production system using the configuration information. The script may be executed to capture data traffic of the software running on the production system. A migrated version of the software may be executed on a test system using requests extracted from the captured data traffic. The responses in the captured data traffic may be compared with responses from the migrated version of the software.

Claims (53)

1. A method for migration testing, comprising:

discovering, by a processor, configuration information associated with software installed on a production system;

automatically generating a script, by the processor, for capturing data traffic from and to the software installed on the production system based on the configuration information, the script comprising one or more commands and one or more parameters with which to invoke the one or more commands, the one or more commands determined based on the automatically discovered configuration information for capturing the data traffic, the one or more commands being predetermined to be safe commands validated to not harm the production system and to run on the production system for capturing traffic, the one or more commands comprising an executable command that intercepts and displays network packet data being transmitted and received over a network to which the production system is attached;

capturing data traffic of the software running on the production system by executing the script;

extracting, from the data traffic, and storing, requests received in the software running on the production system and responses to the requests sent from the software running on the production system;

synchronizing the production system and a test system to which the software is migrated, by synchronizing at least persistent data that components of the software use;

running a migrated version of the software on the test system using the requests extracted from the captured data traffic, the requests simulating a role played by a user and another system for the production system, and capturing responses to the extracted requests;

comparing the responses in the captured data traffic with responses from the migrated version of the software; and

determining whether the responses in the captured data traffic and the responses from the migrated version of the software are substantially the same to confirm that read and write requests performed during running the migrated version of the software were performed correctly.

2. The method of claim 1 , wherein the discovering step includes automatically discovering the configuration information utilizing an automated discovery tool.

3. The method of claim 1 , wherein the generating step includes analyzing a placement and wave plan for migrating the software to select the traffic to be captured by the script.

4. The method of claim 1 , wherein the script includes a command to encrypt the captured data traffic, a command to remove sensitive information from the captured data traffic, or a command to compress the captured data traffic, or combinations thereof.

5. The method of claim 1 , wherein the generating step includes determining how to capture the traffic by using only pre-installed commands in the production system.

6. The method of claim 1 , wherein the requests extracted from the captured data traffic are modified by address changes between the production system and the test system.

7. The method of claim 6 , wherein the address changes are derived from a placement plan.

8. The method of claim 1 , further including:

capturing a state of the production system after the step of capturing of the traffic data;

capturing a state of the test system after the step of running a migrated version of the software on a test system; and

comparing the state of the production system and the state of the test system.

9. A non-transitory computer readable storage medium storing a program of instructions executable by a machine to perform a method of migration testing, comprising:

discovering configuration information associated with software installed on a production system;

automatically generating a script for capturing data traffic from and to the software installed on the production system using the configuration information, the script comprising one or more commands and one or more parameters with which to invoke the one or more commands, the one or more commands determined based on the automatically discovered configuration information for capturing the data traffic, the one or more commands being predetermined to be safe commands validated to not harm the production system and to run on the production system for capturing traffic, the one or more commands comprising an executable command that intercepts and displays network packet data being transmitted and received over a network to which the production system is attached;

capturing data traffic of the software running on the production system by executing the script;

extracting, from the data traffic, and storing, requests received in the software running on the production system and responses to the requests sent from the software running on the production system;

synchronizing the production system and a test system to which the software is migrated, by synchronizing at least persistent data that components of the software use;

running a migrated version of the software on the test system using the requests extracted from the captured data traffic, the requests simulating a role played by a user and another system for the production system, and capturing responses to the extracted requests;

comparing the responses in the captured data traffic with responses from the migrated version of the software; and determining whether the responses in the captured data traffic and the responses from the migrated version of the software are substantially the same to confirm that read and write requests performed during running the migrated version of the software were performed correctly.

10. The non-transitory computer readable storage medium of claim 9 , wherein the discovering step includes automatically discovering the configuration information utilizing an automated discovery tool.

11. The non-transitory computer readable storage medium of claim 9 , wherein the generating step includes analyzing a placement and wave plan for migrating the software to select the traffic to be captured by the script.

12. The non-transitory computer readable storage medium of claim 9 , wherein the script includes a command to encrypt the captured data traffic, a command to remove sensitive information from the captured data traffic, or a command to compress the captured data traffic, or combinations thereof.

13. The non-transitory computer readable storage medium of claim 9 , wherein the generating step includes determining how to capture the traffic by using only pre-installed commands in the production system.

14. The non-transitory computer readable storage medium of claim 9 , wherein the requests extracted from the captured data traffic are modified by address changes between the production system and the test system.

15. The non-transitory computer readable storage medium of claim 14 , wherein the address changes are derived from a placement plan.

16. The non-transitory computer readable storage medium of claim 9 , further including:

capturing a state of the production system after the step of capturing of the traffic data;

capturing a state of the test system after the step of running a migrated version of the software on a test system; and

comparing the state of the production system and the state of the test system.

17. A system for migration testing, comprising:

a script generating module operable to automatically generate a script for capturing data traffic from and to software installed on a production system, the script generating module automatically generating the script based on configuration information associated with software installed on a production system, the script comprising one or more commands and one or more parameters with which to invoke the one or more commands, the one or more commands determined based on the automatically discovered configuration information for capturing the data traffic, the one or more commands being predetermined to be safe commands validated to not harm the production system and to run on the production system for capturing traffic, the one or more commands comprising an executable command that intercepts and displays network packet data being transmitted and received over a network to which the production system is attached;

a processor operable to execute the script to capture data traffic of the software running on the production system; and

a storage module operable to store the captured data traffic,

the processor further operable to extract from the data traffic, and store in the storage module, requests received in the software running on the production system and responses to the requests sent from the software running on the production system,

the processor further operable to synchronize the production system and a test system to which the software is migrated, by synchronizing at least persistent data that components of the software use, to confirm that read and write requests performed during running a migrated version of the software were performed correctly.

18. The system of claim 17 , further including:

a discovery module operable to automatically discover the configuration information associated with software installed on a production system.

19. The system of claim 17 , further including:

a test system processor operable to run the migrated version of the software on a test system using the requests extracted from the captured data traffic, the requests simulating a role played by a user and another system for the production system.

20. The system of claim 19 , further including a comparison module operable to compare the responses in the captured data traffic with responses from the migrated version of the software and determine whether the responses in the captured data traffic and the responses from the migrated version of the software are substantially the same.

21. The system of claim 20 , wherein the processor is further operable to capture a state of the production system after capturing data traffic of the software running on the production system, and the test system processor is further operable to capture a state of the test system after running a migrated version of the software on a test system using requests extracted from the captured data traffic, the comparison module being further operable to compare the state of the production system and the state of the test system.

22. The system of claim 17 , wherein the a script generating module is further operable to analyze a placement and wave plan for migrating the software to select the traffic to be captured by the script.

23. The system of claim 17 , wherein the script includes a command to encrypt the captured data traffic, a command to remove sensitive information from the captured data traffic, or a command to compress the captured data traffic, or combinations thereof.

24. The system of claim 17 , wherein the a script generating module is further operable to determine how to capture the traffic by using only pre-installed commands in the production system.

25. The system of claim 17 , wherein the requests extracted from the captured data traffic are modified by address changes between the production system and the test system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 17, 2010
From: HUANG, HAI; JOUKOV, NIKOLAI A.; PFITZMANN, BIRGIT M.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 024847/0534 →
Continuity (1)
Related Publication 20120047492A1 · Feb 23, 2012