CN101840340B - 测试系统配置方法和系统 - Google Patents

测试系统配置方法和系统 Download PDF

Info

Publication number
CN101840340B
CN101840340B CN201010113533.2A CN201010113533A CN101840340B CN 101840340 B CN101840340 B CN 101840340B CN 201010113533 A CN201010113533 A CN 201010113533A CN 101840340 B CN101840340 B CN 101840340B
Authority
CN
China
Prior art keywords
software
patch
computer system
compiling
software patch
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201010113533.2A
Other languages
English (en)
Other versions
CN101840340A (zh
Inventor
A·施潘纳
D·德福斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101840340A publication Critical patent/CN101840340A/zh
Application granted granted Critical
Publication of CN101840340B publication Critical patent/CN101840340B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/368Test management for test version control, e.g. updating test cases to a new software version
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种测试系统配置方法和系统。本发明涉及计算机测试系统,更具体地说,涉及自动配置计算机测试系统。一种方法、计算机程序产品和系统接收现场计算机系统上安装的一个或多个软件补丁的列表,所述列表包括所述一个或多个软件补丁中的每个补丁的版本。标识由源代码修订工具管理的与所述一个或多个软件补丁中的每个补丁的版本对应的源代码。编译和安装系统根据由所述源代码修订工具管理的用于所述现场计算机系统上安装的每个软件补丁的源代码来编译一个或多个新编译的软件补丁。所述编译和安装系统在测试计算机系统上自动安装所述一个或多个新编译的软件补丁以复制所述现场计算机系统。

Description

测试系统配置方法和系统
技术领域
本发明涉及计算机测试系统,更具体地说,涉及自动配置计算机测试系统。
背景技术
由于软件缺陷或配置问题,在现场安装的软件和计算机系统可能会经常崩溃。维修小组必须派遣维修技术人员到达现场来诊断和解决问题。但是,呼叫现场服务的成本很高。在本地测试系统上复制现场计算机系统会更容易并更省费用。
在配置非常复杂或现场计算机位置较远的情况下,可能很难复制现场计算机系统。许多计算机系统安装有多种软件产品和软件补丁。这些软件产品和软件补丁的配置可能不正确、相互不兼容,或包含缺陷。更复杂的情况是,每种软件产品和软件补丁都可能有多个版本。为了准确地复制现场系统以及准确地诊断问题,技术人员必须在测试计算机系统上安装每种软件产品和软件补丁的正确版本。此外,这些软件产品和软件补丁可能需要特定的安装顺序。而且,可能没有可供安装的正确软件产品和补丁安装程序;它们可能仅以未编译的源代码的形式存在。
通过在测试系统上手动安装软件产品和补丁来复制现场计算机系统是昂贵、耗时且容易出错的。自动复制现场计算机系统的系统可以降低成本、缩短时间并减少与诊断现场计算机系统问题关联的错误。
发明内容
在一个实施例中,提供了一种配置测试系统的方法,包括:接收现场计算机系统上安装的一个或多个软件补丁的列表。所述列表包括所述一个或多个软件补丁中的每个补丁的版本。所述方法标识由源代码修订工具管理的与所述一个或多个软件补丁中的每个补丁的版本对应的源代码。编译和安装系统根据由所述源代码修订工具管理的用于所述现场计算机系统上安装的每个软件补丁的源代码来自动编译一个或多个新编译的软件补丁。所述编译和安装系统还在测试计算机系统上安装所述一个或多个新编译的软件补丁以复制所述现场计算机系统。
可以包括以下一个或多个特征。通过将所述一个或多个软件补丁安装在所述现场计算机系统上来创建或附加所述一个或多个软件补丁的列表。所述现场计算机系统上安装的一个或多个软件补丁的列表还可包括所述现场计算机系统上安装的一个或多个软件应用的列表。标识所述源代码可包括:将所述一个或多个软件补丁中的每个补丁的版本与所述源代码的命名约定进行匹配,或将所述一个或多个软件补丁中的每个补丁的版本与具有唯一标识符的源代码进行匹配。
自动编译一个或多个新编译的软件补丁可包括:编译所述一个或多个新编译的软件补丁所需的必备软件补丁。自动安装所述一个或多个新编译的软件补丁可包括:安装所述一个或多个新编译的软件补丁所需的一个或多个必备软件补丁。
所述方法还可包括:确定新编译的软件包的安装顺序。所述安装顺序可以基于:所述源代码的交付日期、所述源代码的更改集合的标识符、所述一个或多个新编译的软件补丁的标识符、在所述现场计算机系统上安装的所述一个或多个软件补丁的标识符,和/或来自位于所述现场计算机系统上的注册表文件的信息。
在另一实施例中,提供了一种驻留在计算机可读介质上的计算机程序产品,所述计算机可读介质上存储有多个指令,所述指令当被处理器执行时,将使所述处理器执行操作,所述操作包括接收现场计算机系统上安装的一个或多个软件补丁的列表。所述列表包括所述一个或多个软件补丁中的每个补丁的版本。所述操作标识由源代码修订工具管理的与所述一个或多个软件补丁中的每个补丁的版本对应的源代码。所述操作根据由所述源代码修订工具管理的用于所述现场计算机系统上安装的每个软件补丁的源代码来自动编译一个或多个新编译的软件补丁。所述操作还在测试计算机系统上安装所述一个或多个新编译的软件补丁以复制所述现场计算机系统。
可以包括以下一个或多个特征。通过将所述一个或多个软件补丁安装在所述现场计算机系统上来创建或附加所述一个或多个软件补丁的列表。所述现场计算机系统上安装的一个或多个软件补丁的列表还可包括所述现场计算机系统上安装的一个或多个软件应用的列表。标识所述源代码可包括:将所述一个或多个软件补丁中的每个补丁的版本与所述源代码的命名约定进行匹配,或将所述一个或多个软件补丁中的每个补丁的版本与具有唯一标识符的源代码进行匹配。
自动编译一个或多个新编译的软件补丁可包括:编译所述一个或多个新编译的软件补丁所需的必备软件补丁。自动安装所述一个或多个新编译的软件补丁可包括:安装所述一个或多个新编译的软件补丁所需的一个或多个必备软件补丁。
所述操作还可包括:确定新编译的软件包的安装顺序。所述安装顺序可以基于:所述源代码的交付日期、所述源代码的更改集合的标识符、所述一个或多个新编译的软件补丁的标识符、在所述现场计算机系统上安装的所述一个或多个软件补丁的标识符,和/或来自位于所述现场计算机系统上的注册表文件的信息。
在另一实施例中,提供了一种系统,包括:至少一个处理器、与所述至少一个处理器耦合的至少一个存储器体系结构,以及一个或多个执行操作的软件指令集,所述操作包括接收现场计算机系统上安装的一个或多个软件补丁的列表。所述列表包括所述一个或多个软件补丁中的每个补丁的版本。所述操作标识由源代码修订工具管理的与所述一个或多个软件补丁中的每个补丁的版本对应的源代码。所述操作根据由所述源代码修订工具管理的用于所述现场计算机系统上安装的每个软件补丁的源代码来自动编译一个或多个新编译的软件补丁。所述操作还在测试计算机系统上安装所述一个或多个新编译的软件补丁以复制所述现场计算机系统。
可以包括以下一个或多个特征。通过将所述一个或多个软件补丁安装在所述现场计算机系统上来创建或附加所述一个或多个软件补丁的列表。所述现场计算机系统上安装的一个或多个软件补丁的列表还可包括所述现场计算机系统上安装的一个或多个软件应用的列表。标识所述源代码可包括:将所述一个或多个软件补丁中的每个补丁的版本与所述源代码的命名约定进行匹配,或将所述一个或多个软件补丁中的每个补丁的版本与具有唯一标识符的源代码进行匹配。
自动编译一个或多个新编译的软件补丁可包括:编译所述一个或多个新编译的软件补丁所需的必备软件补丁。自动安装所述一个或多个新编译的软件补丁可包括:安装所述一个或多个新编译的软件补丁所需的一个或多个必备软件补丁。
所述操作还可包括:确定新编译的软件包的安装顺序。所述安装顺序可以基于:所述源代码的交付日期、所述源代码的更改集合的标识符、所述一个或多个新编译的软件补丁的标识符、在所述现场计算机系统上安装的所述一个或多个软件补丁的标识符,和/或来自位于所述现场计算机系统上的注册表文件的信息。
一个或多个实施方式的细节将在附图以及下面的说明中阐述。通过描述、附图以及权利要求,其他特征和优点将变得显而易见。
附图说明
图1是与分布式计算网络耦合的测试系统配置过程的概略视图;
图2是图1中的测试系统配置过程的流程图;以及
图3是图1中的测试系统配置过程的数据和信息流的流程图。
图中相同的标号表示相同的元素。
具体实施方式
系统概述
图1示出了可以驻留在服务器计算机12上并由服务器计算机12执行的测试系统配置过程10,服务器计算机12与网络14(例如,因特网或局域网)相连。服务器计算机12的实例包括但不限于:个人计算机、服务器计算机、一系列服务器计算机、小型计算机以及大型机。服务器计算机12可以是运行网络操作系统的Web服务器(或一系列服务器),所述网络操作系统的实例包括但不限于:XP Server;Novell (Microsoft和Windows是MicrosoftCorporation在美国和/或其他国家/地区的商标;Novell和NetWare是Novell Corporation在美国和/或其他国家/地区的商标或注册商标;Red Hat是Red Hat Corporation在美国和/或其他国家/地区的商标或注册商标;以及Linux是Linus Torvalds在美国和/或其他国家/地区的注册商标)。
如下文更详细地所述,测试系统配置过程10可接收现场计算机系统18上安装的一个或多个软件补丁16的列表。所述列表可包括现场计算机系统18上安装的一个或多个软件补丁中的每个补丁的版本。测试系统配置过程10还可标识由源代码修订工具20管理的与一个或多个软件补丁16中的每个补丁的版本对应的源代码。测试系统配置过程10可根据由源代码修订工具20管理的用于现场计算机系统18上安装的每个软件补丁16的源代码来自动编译一个或多个新编译的软件补丁22。测试系统配置过程10还可在测试计算机系统24上安装一个或多个新编译的软件补丁22以复制现场计算机系统18。
测试系统配置过程10(其可包括一个或多个软件模块以及一个或多个软件指令集,并可存储在与服务器计算机12耦合的存储设备26上)的指令集和子例程可以由结合在服务器计算机12中的一个或多个处理器(未示出)和一个或多个存储器体系结构(未示出)执行。存储设备26可包括但不限于:硬盘驱动器;固态驱动器;磁带驱动器;光盘驱动器、RAID阵列;随机存取存储器(RAM);以及只读存储器(ROM)。
可通过使用诸如编译器、Visual编译器之类的编译器或汇编器生成测试系统配置过程10的指令集和子例程(IBM是International Businesss Machines Corporation在美国和/或其他国家/地区的商标或注册商标;Visual Studio是Microsoft Corporation在美国和/或其他国家/地区的注册商标)。所述指令集和子例程还可被生成为诸如脚本之类的脚本,或生成为其他类型的软件代码(Java以及所有基于Java的商标和徽标都是Sun Microsystems,Inc.在美国和/或其他国家/地区的商标或徽标)。一般而言,如本领域中公知的,可通过任何生成可由处理器执行的指令集和子例程的方法来生成测试系统配置过程10的指令集和子例程。
服务器计算机12还可执行代码修订工具20,其实例包括配置管理工具(ClearCase是International Businesss Machines Corporation在美国和/或其他国家/地区的商标或注册商标)。代码修订工具20可允许组织在开发软件的过程中跟踪和维护软件代码修订和更改。如下文更详细地所述,测试系统配置过程10可标识由代码修订工具20管理的与软件补丁16对应的源代码。
代码修订工具20可存储在与服务器计算机12耦合的存储设备26上。尽管被示出为服务器应用,但是代码修订工具20也可以是客户端应用(例如,由膝上型计算机28执行),或是由一个或多个计算设备执行的客户端/服务器应用。
现场计算机系统18可以是本地计算机系统,也可以是远程计算机系统。它可以如虚线30所示的那样与网络14耦合,也可以是未与网络耦合的独立计算机系统。现场计算机系统可以例如是膝上型计算机系统、桌面系统、服务器系统或一系列计算机系统。现场计算机系统18还可以位于诸如客户单位之类的远程场所。如果现场计算机系统18具有软件或配置问题,测试系统配置过程10可在可位于本地场所的测试计算机系统24上复制现场计算机系统18的配置。
应用32可以是安装在现场计算机系统18上并由其执行的软件应用(即,软件产品)。应用32可存储在与现场计算机系统18耦合的存储设备34上。应用32可以是软件开发公司开发、使用、销售或部署的任意类型的软件产品(多个)。还可以在计算机18上安装各种更新或修改应用32的软件补丁16。这些软件补丁16可提供各种用于应用32的更新和修复。
测试计算机系统24可以例如是用于测试现场计算机系统18的配置的计算机系统或一系列计算机系统。测试计算机系统24可执行应用36,应用36可以与应用32是同一应用。例如,如果应用32是安装在现场计算机系统18上的商业应用,则应用36可以是同一商业应用,只是安装在测试计算机系统24上。应用36可存储在与测试计算机系统24耦合的存储设备38上。测试系统配置过程10可在测试计算机系统24上安装已编译的软件补丁22,以便在测试计算机系统24上复制现场计算机系统18的配置。
存储设备26、34、38、40可包括但不限于:硬盘驱动器;固态驱动器;磁带驱动器;光盘驱动器、RAID阵列;随机存取存储器(RAM);只读存储器(ROM),闪存(CF)存储设备,安全数码(SD)存储设备,以及记忆棒存储设备。
各种客户端电子设备可以与网络14耦合。客户端电子设备的实例包括但不限于:服务器计算机12、膝上型计算机28、现场计算机系统18、测试计算机系统24、个人数字助理(未示出)、启用数据业务的蜂窝电话(未示出)以及专用网络设备(未示出)。用户42、46、48可从任何与网络14相连的设备或直接从所述工具或应用所驻留的设备来访问诸如测试系统配置过程10或代码修订工具20之类的各种工具和应用。客户端电子设备可以与网络14直接耦合,也可以通过网络50与网络14间接地耦合。例如,服务器12可以通过辅助网络50与网络14间接地相连,如虚拟链接线52所示。
所述各种客户端电子设备可以直接或间接地与网络14(或网络50)耦合。例如,测试计算机系统24被示为通过硬连线网络连接直接与网络14耦合。此外,服务器12被示为通过硬连线网络连接直接与网络14耦合。膝上型计算机28被示为通过在膝上型计算机28与无线接入点(即,WAP)56之间建立的无线通信信道54以无线方式与网络14耦合,WAP 56被示为直接与网络14耦合。WAP 56可以例如是能够在膝上型计算机28和WAP 56之间建立无线通信信道48的IEEE 802.11a、802.11b、802.11g、Wi-Fi和/或蓝牙设备。
如本领域中公知的,所有IEEE 802.11x规范均可使用以太网协议和载波侦听多点接入/冲突避免(即,CSMA/CA)进行路径共享。各种802.11x规范可例如使用相移键控(即,PSK)调制或补码键控(即,CCK)调制。如本领域中公知的,蓝牙是允许例如移动电话、计算机和个人数字助理使用短程无线连接实现互连的电信行业规范。
客户端电子设备12、24、18、28均可执行操作系统,其实例包括但不限于Microsoft Windows、Redhat Linux或定制操作系统。
测试系统配置过程
参考图2,测试系统配置过程10可接收102现场计算机系统18上安装的软件补丁的列表。所述软件补丁列表还可包括一个或多个软件补丁中的每个补丁的版本。例如,如果现场计算机系统18安装了三个补丁,则所述软件补丁列表可标识现场计算机系统18上安装的三个补丁,并且还可标识安装了每个补丁的哪个版本。
可通过各种方法生成所述软件补丁的列表。所述列表可以例如是每次在现场计算机系统18上安装软件补丁时创建或附加的文件。例如,如果用户在现场计算机系统18上安装假设的补丁X,则安装过程可通过将补丁X添加到所述列表来附加包含已安装软件补丁的列表的文件。所述包含已安装软件补丁的列表的文件可以是现场计算机系统18上的任意文件:所述文件可以是文本文件、二进制文件、注册表文件等。现场计算机系统18上安装的软件补丁的列表还可驻留在另一计算机系统、文件系统或数据库中。
备选地,现场测试系统18和/或测试系统配置过程10可通过查询现场测试系统18来生成现场测试系统18上安装的软件补丁的列表。例如,现场测试系统18可执行跟踪和报告现场测试系统18上安装的软件补丁的过程。备选地,现场测试系统18或测试系统配置过程10可通过搜索现场测试系统18上的注册表或文件系统来生成已安装软件补丁的列表。搜索过程可扫描注册表或文件系统以查找与软件补丁关联的注册表键或文件,如果找到这些键或文件,则将关联的软件补丁添加到已安装软件补丁的列表。
所述软件补丁列表还可包括现场计算机系统18上安装的应用的列表。例如,所述软件补丁列表可包括应用30或现场计算机系统18上安装的任何其他应用。
代码修订工具20可维护在软件开发过程中创建的源代码文件的版本。例如,代码修订工具20可维护用于编译软件补丁16的源代码文件的部分或全部版本。
一旦测试系统配置过程10接收到102现场计算机系统18上安装的软件补丁的列表,测试系统配置过程10就标识104由代码修订工具20管理的与所述列表中的每个软件补丁对应的源代码文件。与补丁X对应的源代码文件可以例如是曾用于编译补丁X的源代码文件。
源代码文件可具有将所述源代码文件与特定软件补丁关联的标识符或标签。例如,如果根据特定源代码文件集编译假设的软件补丁X,则该特定源代码文件集中的每个文件都具有指示该文件用于编译补丁X的标签或标识符。所述标签或标识符可采取各种形式。例如,每个用于编译补丁X的文件都可采用将每个文件与补丁X关联的命名约定。在这种情况下,测试系统配置过程10可将源代码和具有相同命名约定的软件补丁进行匹配106。备选地,代码修订工具20可存储对每个用于编译补丁X的文件进行标记或标识的元数据。例如,软件补丁和源代码可标记有唯一标识符。在这种情况下,测试系统配置过程10可将源代码和具有相同的唯一标识符的软件补丁进行匹配108。一般而言,任何将源代码的版本与软件补丁进行关联的机制都可用于标识用于编译软件补丁的源代码。
代码修订工具20还可包含对应于软件补丁的其他类型的文件。例如,代码修订工具20可包含脚本文件、文本文件、二进制文件或创建或编译软件补丁所需的任何其他类型的文件。
一旦测试系统配置过程10标识了104源代码和/或对应于软件补丁的其他文件,其就可根据用于现场计算机系统上安装的每个软件补丁的源代码来编译110一个或多个新编译的软件补丁22。例如,如果测试系统配置过程10接收到102软件补丁的列表,则测试系统配置过程10可标识104由代码修订工具20管理的用于每个软件补丁的源代码。然后,对于所述软件补丁列表中的每个软件补丁,测试系统配置过程10可编译110对应于每个软件补丁的源代码。每次编译110的结果可以是产生与现场计算机系统18上安装的原始软件补丁16的版本匹配的新编译的软件补丁22。软件补丁的编译110可通过任何软件编译器执行,其实例包括IBM XL编译器、Visual Studio编译器或定制编译器。附加地/备选地,所述源代码可以是脚本代码、汇编器代码或任何其他种类的软件代码。因此,编译110软件补丁可包括适当脚本代码的收集、汇编代码的汇编等。一般而言,可通过任何编译软件模块的形式来执行已编译软件补丁22的编译110。
测试系统配置过程10还可标识104和编译112现场计算机系统18上安装的软件补丁16所必备的任何软件补丁。2008年12月30日提交的标题为“System and Method for Detecting Software Patch Dependencies(检测软件补丁相关性的系统和方法)”的美国专利申请第12/346,165号(在此全部引入作为参考)中描述了一种标识必备软件补丁的方法。也可以使用其他标识必备软件补丁的方法。
当标识所有必备软件补丁之后,测试系统配置过程10还可标识104对应于所述必备软件补丁的源代码,并且还可编译112所述必备软件补丁。例如,测试系统配置过程10可标识104所述必备补丁的源代码并使用与上述类似的方式编译112所述必备补丁。
当测试系统配置过程10编译110、112新编译的软件补丁22之后,测试系统配置过程10可在测试计算机系统24上安装114、116一个或多个新编译的软件补丁22以复制现场计算机系统18的配置。在测试计算机系统24上安装114、116新编译的软件补丁22可包括安装116所有新编译的必备软件补丁。
测试系统配置过程10可通过各种方法安装新编译的软件补丁22。安装方法将取决于软件补丁。例如,如果软件补丁包括其自己的安装代码,则测试系统配置过程10可在测试计算机系统24上启动所述软件补丁的安装代码。备选地,如果软件补丁只需将文件复制到目标机器,则测试系统配置过程10可将适当的文件复制到测试计算机系统24上的适当位置。如本领域中公知的,可使用各种方法安装软件。因此,测试系统配置过程10可针对每个新编译的软件补丁22启动适当的安装过程,以便在测试计算机系统24上安装114、116每个新编译的软件补丁22。
为了准确地复制现场计算机18的配置,新编译的软件补丁22可要求特定的安装顺序。例如,如果软件补丁16以特定的顺序被安装在现场计算机18上,则测试系统配置过程10需要以相同的顺序安装114、116新编译的软件补丁22,以便获得现场计算机系统18的配置的准确复制。因此,测试系统配置过程10可确定新编译的软件包22的安装顺序,并根据所述安装顺序在测试计算机系统24上安装114、116新编译的软件补丁22。
测试系统配置过程10可使用不同的方法确定118安装顺序。例如,安装顺序可以基于软件补丁22的交付日期或发布日期,也可以基于用于编译软件补丁22的源代码。特定软件补丁的交付日期或发布日期越早,安装该软件补丁的时间也越早。测试系统配置过程10还可通过源代码的更改集合的标识符来确定安装顺序。由代码修订工具20管理的源代码可包含元数据。代码修订工具20内的各种源代码文件的更改集合可包括元数据标识符。元数据标识符可指示与所述更改集合关联的软件补丁应被安装的顺序。例如,元数据标识符可指示应仅在安装假设的补丁X之后才安装假设的补丁Y。因此,测试系统配置过程10可根据软件更改集合的元数据指定的顺序来安装新编译的软件补丁22。附加地或备选地,新编译的软件补丁22或软件补丁16(安装在现场计算机系统18上)可包括指定安装顺序的标识符。作为另一种备选方式,测试系统配置过程10可从位于现场计算机系统18上的注册表文件检索安装顺序,或从现场计算机系统18接收102的软件补丁的列表检索安装顺序。所述注册表文件可包括安装每个软件补丁的日期和时间。测试系统配置过程10然后可按照与现场计算机系统18的注册表文件中列出的日期和时间对应的顺序来安装114、116新编译的软件补丁22。
此外参考图3,图3示出了测试系统配置过程10的方块图。测试系统配置过程10从现场计算机系统18接收102软件补丁的列表202。如所述的,软件补丁的列表202可包括:现场计算机系统18上安装的软件补丁16的列表、现场计算机系统18上安装的任何其他应用32的列表、软件补丁16的安装顺序,以及与软件补丁16关联的任何其他元数据。
测试系统配置过程10然后可标识104由代码修订工具20管理的对应于软件补丁16的源代码,如上所述。当标识源代码204之后,测试系统配置过程10可编译110、112源代码204以创建已编译的软件补丁22。测试系统配置过程10然后可确定118已编译的软件补丁22的安装顺序,并在测试计算机系统24上安装114、116已编译的软件补丁22,以在测试计算机系统24上复制现场计算机系统18的配置。
可通过各种方式使用所述方法、系统和计算机程序。例如,一旦在测试计算机系统24上复制了现场计算机系统18的配置,技术人员就能够诊断正在现场计算机系统18上发生的问题或缺陷,而无需亲赴现场计算机系统18的所在地。例如,技术人员能够通过使用测试计算机系统24进行试验来诊断现场计算机系统18上发生的问题。
上面描述了多种实施方式。但是可以理解,可以做出各种修改。因此,其他实施方式也在以下权利要求的范围之内。

Claims (14)

1.一种配置测试系统的方法,包括:
接收现场计算机系统上安装的一个或多个软件补丁的列表,所述列表包括所述一个或多个软件补丁中的每个补丁的版本;
标识由源代码修订工具管理的与所述一个或多个软件补丁中的每个补丁的版本对应的源代码;
在编译和安装系统上,根据由所述源代码修订工具管理的用于所述现场计算机系统上安装的每个软件补丁的源代码来自动编译一个或多个新编译的软件补丁;
确定新编译的软件补丁的安装顺序,其中确定安装顺序的步骤包括根据在所述现场计算机系统上安装的所述一个或多个软件补丁的标识符对所述一个或多个新编译的软件补丁进行排序;以及
由所述编译和安装系统在测试计算机系统上自动安装所述一个或多个新编译的软件补丁以复制所述现场计算机系统。
2.如权利要求1中所述的方法,其中通过将所述一个或多个软件补丁安装在所述现场计算机系统上来创建或附加所述一个或多个软件补丁的列表。
3.如权利要求1中所述的方法,其中标识源代码的步骤包括:将所述一个或多个软件补丁中的每个补丁的版本与所述源代码的命名约定进行匹配。
4.如权利要求1中所述的方法,其中标识源代码的步骤包括:将所述一个或多个软件补丁中的每个补丁的版本与具有唯一标识符的源代码进行匹配。
5.如权利要求1中所述的方法,其中:
自动编译一个或多个新编译的软件补丁的步骤包括:
自动编译所述一个或多个新编译的软件补丁所需的一个或多个必备软件补丁;以及
自动安装所述一个或多个新编译的软件补丁的步骤包括:
自动安装所述一个或多个新编译的软件补丁所需的所述一个或多个必备软件补丁。
6.如权利要求1中所述的方法,其中确定安装顺序的步骤还包括:根据以下项中的一个或多个对所述一个或多个新编译的软件补丁进行排序:
所述源代码的交付日期;
所述源代码的更改集合的标识符;
所述一个或多个新编译的软件补丁的标识符;以及
来自位于所述现场计算机系统上的注册表文件的信息。
7.如权利要求1中所述的方法,其中现场计算机系统上安装的一个或多个软件补丁的列表包括:所述现场计算机系统上安装的一个或多个软件应用的列表。
8.一种配置测试系统的系统,包括:
配置为接收现场计算机系统上安装的一个或多个软件补丁的列表的模块,所述列表包括所述一个或多个软件补丁中的每个补丁的版本;
配置为标识由源代码修订工具管理的与所述一个或多个软件补丁中的每个补丁的版本对应的源代码的模块;
配置为在编译和安装系统上,根据由所述源代码修订工具管理的用于所述现场计算机系统上安装的每个软件补丁的源代码来自动编译一个或多个新编译的软件补丁的模块;
配置为确定新编译的软件补丁的安装顺序的模块,其中确定安装顺序包括根据在所述现场计算机系统上安装的所述一个或多个软件补丁的标识符对所述一个或多个新编译的软件补丁进行排序;以及
配置为由所述编译和安装系统在测试计算机系统上自动安装所述一个或多个新编译的软件补丁以复制所述现场计算机系统的模块。
9.如权利要求8中所述的系统,其中通过将所述一个或多个软件补丁安装在所述现场计算机系统上来创建或附加所述一个或多个软件补丁的列表。
10.如权利要求8中所述的系统,其中所述配置为标识由源代码修订工具管理的与所述一个或多个软件补丁中的每个补丁的版本对应的源代码的模块包括:配置为将所述一个或多个软件补丁中的每个补丁的版本与所述源代码的命名约定进行匹配的模块。
11.如权利要求8中所述的系统,其中所述配置为标识由源代码修订工具管理的与所述一个或多个软件补丁中的每个补丁的版本对应的源代码的模块包括:配置为将所述一个或多个软件补丁中的每个补丁的版本与具有唯一标识符的源代码进行匹配的模块。
12.如权利要求8中所述的系统,其中:
所述配置为在编译和安装系统上,根据由所述源代码修订工具管理的用于所述现场计算机系统上安装的每个软件补丁的源代码来自动编译一个或多个新编译的软件补丁的模块包括:配置为自动编译所述一个或多个新编译的软件补丁所需的一个或多个必备软件补丁的模块;以及
所述配置为由所述编译和安装系统在测试计算机系统上自动安装所述一个或多个新编译的软件补丁以复制所述现场计算机系统的模块包括:配置为自动安装所述一个或多个新编译的软件补丁所需的所述一个或多个必备软件补丁的模块。
13.如权利要求8中所述的系统,其中确定安装顺序包括:根据以下项中的一个或多个对所述一个或多个新编译的软件补丁进行排序:
所述源代码的交付日期;
所述源代码的更改集合的标识符;
所述一个或多个新编译的软件补丁的标识符;以及
来自位于所述现场计算机系统上的注册表文件的信息。
14.如权利要求8中所述的系统,其中现场计算机系统上安装的一个或多个软件补丁的列表包括:所述现场计算机系统上安装的一个或多个软件应用的列表。
CN201010113533.2A 2009-02-20 2010-02-05 测试系统配置方法和系统 Expired - Fee Related CN101840340B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/389,730 US9372784B2 (en) 2009-02-20 2009-02-20 Test system configuration method and system
US12/389,730 2009-02-20

Publications (2)

Publication Number Publication Date
CN101840340A CN101840340A (zh) 2010-09-22
CN101840340B true CN101840340B (zh) 2015-02-25

Family

ID=42632036

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010113533.2A Expired - Fee Related CN101840340B (zh) 2009-02-20 2010-02-05 测试系统配置方法和系统

Country Status (3)

Country Link
US (1) US9372784B2 (zh)
KR (1) KR101038965B1 (zh)
CN (1) CN101840340B (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2011205480B2 (en) * 2010-01-12 2015-02-05 Google Llc Operating system auto-update procedure
US8627308B2 (en) * 2010-06-30 2014-01-07 International Business Machines Corporation Integrated exchange of development tool console data
CN102147758A (zh) * 2011-03-16 2011-08-10 深圳创维数字技术股份有限公司 一种待测设备自动编译及配置方法、装置、系统
US8782630B2 (en) * 2011-06-30 2014-07-15 International Business Machines Corporation Smart rebinding for live product install
JP6163707B2 (ja) * 2011-07-15 2017-07-19 株式会社リコー 組み込み機器、プログラム作成装置、プログラム
CA2889387C (en) 2011-11-22 2020-03-24 Solano Labs, Inc. System of distributed software quality improvement
WO2013094003A1 (ja) * 2011-12-19 2013-06-27 富士通株式会社 ソフトウェアのインストール順序を決定する方法、プログラム、及び装置
CN103294456A (zh) * 2012-02-28 2013-09-11 腾讯科技(深圳)有限公司 一种业务插件的自动发布方法和设备
CN103473505B (zh) * 2012-06-06 2016-03-23 腾讯科技(深圳)有限公司 一种软件漏洞的扫描提示方法和装置
US9069969B2 (en) * 2012-06-13 2015-06-30 International Business Machines Corporation Managing software patch installations
CN103677878B (zh) * 2012-09-12 2017-07-14 国际商业机器公司 一种打补丁的方法和装置
US8924951B2 (en) * 2013-03-15 2014-12-30 Oracle International Corporation Embedding patch lists within compiled program code
US9720669B2 (en) * 2013-05-30 2017-08-01 The Boeing Company Deployment of software across an enterprise system
US10282187B2 (en) 2014-07-03 2019-05-07 Oracle International Corporation Efficient application patching in heterogeneous computing environments
US9747084B2 (en) * 2014-09-09 2017-08-29 Google Inc. Offline shader compilation
CN104572237B (zh) * 2015-01-19 2017-12-12 上海动联信息技术股份有限公司 一种UKey安装包自动快速生成系统及其方法
US9886263B2 (en) * 2015-03-24 2018-02-06 Oracle International Corporation Techniques for efficient application configuration patching
CN105630678B (zh) * 2015-12-22 2018-10-02 国网天津市电力公司 一种智能电能表软件的可靠性检测仪及其检测方法
CN106326110A (zh) * 2016-08-10 2017-01-11 浪潮(北京)电子信息产业有限公司 一种系统版本开发过程中bug缺陷的修复方法及系统
CN108170597A (zh) * 2017-12-26 2018-06-15 郑州云海信息技术有限公司 一种测试方法、系统、设备及计算机存储介质
CN108509216B (zh) * 2018-03-08 2021-06-15 智童时刻(厦门)科技有限公司 一种云端程序及数据配套更新的方法
US10868709B2 (en) 2018-09-10 2020-12-15 Oracle International Corporation Determining the health of other nodes in a same cluster based on physical link information
US11334466B2 (en) 2018-09-25 2022-05-17 International Business Machines Corporation Remedying bad service fixes having subsequent dependent fixes

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101017435A (zh) * 2006-04-14 2007-08-15 北京瑞星国际软件有限公司 一种用于软件升级的方法及装置
CN101101552A (zh) * 2006-07-06 2008-01-09 国际商业机器公司 用于提供操作系统组件版本验证的系统和方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0279121A (ja) 1988-09-14 1990-03-19 Nec Corp ソースコード管理方式
KR19980077186A (ko) * 1997-04-17 1998-11-16 윤종용 프로그램 자동 업그레이드 방법
US6289509B1 (en) * 1998-09-01 2001-09-11 Pkware, Inc. Software patch generator
US6662217B1 (en) 1999-01-19 2003-12-09 Microsoft Corporation Distributed and automated test administration system for administering automated tests on server computers over the internet
US7032210B2 (en) * 2001-11-11 2006-04-18 International Business Machines Corporation Method and system for generating program source code of a computer application from an information model
US7823148B2 (en) * 2002-05-22 2010-10-26 Oracle America, Inc. System and method for performing patch installation via a graphical user interface
US7703090B2 (en) * 2004-08-31 2010-04-20 Microsoft Corporation Patch un-installation
US20060048137A1 (en) * 2004-09-02 2006-03-02 Oracle International Corporation Method and apparatus for cloning an ORACLE RDBMS software
US20070027936A1 (en) * 2005-07-28 2007-02-01 Stakutis Christopher J Determining changes made to a source file to transmit to a target location providing a mirror copy of the source file
US20070106979A1 (en) * 2005-10-11 2007-05-10 Bea Systems, Inc. Patch management system
EP1962192A1 (en) * 2007-02-21 2008-08-27 Deutsche Telekom AG Method and system for the transparent migration of virtual machine storage

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101017435A (zh) * 2006-04-14 2007-08-15 北京瑞星国际软件有限公司 一种用于软件升级的方法及装置
CN101101552A (zh) * 2006-07-06 2008-01-09 国际商业机器公司 用于提供操作系统组件版本验证的系统和方法

Also Published As

Publication number Publication date
CN101840340A (zh) 2010-09-22
KR101038965B1 (ko) 2011-06-03
KR20100095368A (ko) 2010-08-30
US9372784B2 (en) 2016-06-21
US20100218176A1 (en) 2010-08-26

Similar Documents

Publication Publication Date Title
CN101840340B (zh) 测试系统配置方法和系统
US9075596B2 (en) Deployment
US9542175B2 (en) Continuous deployment
CN101821711B (zh) 二进制库
CN105373401A (zh) 软件包自动发布方法和系统
US8813030B2 (en) Detecting plug-in and fragment issues with software products
US20060020937A1 (en) System and method for extraction and creation of application meta-information within a software application repository
CN102681835A (zh) 代码克隆通知以及体系结构改变可视化
US20080229303A1 (en) Method, system and computer program for distributing customized software products
CN112764753B (zh) 一种项目的部署方法、装置、电子设备及存储介质
CN104978191A (zh) 应用部署方法和服务器
CN102270128A (zh) 库一致性检查器
AU2012201749B2 (en) Single development test environment
US11481245B1 (en) Program inference and execution for automated compilation, testing, and packaging of applications
CN104156247A (zh) 一种应用升级方法及装置
Ham et al. Making configurable and unified platform, ready for broader future devices
US20160132327A1 (en) Visual tool for reverse engineering software components
CN103530151A (zh) 一种可切换业务软件系统的Linux操作系统定制方法
CN113434554A (zh) 持续集成流水线的构建方法及装置
CA2772225A1 (en) Version numbering in single development and test environment
JP4895872B2 (ja) ライブラリ管理システム
CN117435243B (zh) 一种自动化合包及部署方法与系统
US11360805B1 (en) Project discovery for automated compilation, testing, and packaging of applications
CN117492803B (zh) 一种智能门锁pcba软件升级方法及系统
Fedor et al. A method of automatic assessment of feature compatibility in mobile networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150225

CF01 Termination of patent right due to non-payment of annual fee