CN1265207A - 生成2000年测试例的系统和方法 - Google Patents
生成2000年测试例的系统和方法 Download PDFInfo
- Publication number
- CN1265207A CN1265207A CN98807414.1A CN98807414A CN1265207A CN 1265207 A CN1265207 A CN 1265207A CN 98807414 A CN98807414 A CN 98807414A CN 1265207 A CN1265207 A CN 1265207A
- Authority
- CN
- China
- Prior art keywords
- group
- date
- output
- test case
- test
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/78—Methods to solve the "Year 2000" [Y2K] problem
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/263—Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99936—Pattern matching access
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99937—Sorting
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种生成2000年适应测试的测试例的方法,测试由数据处理器完成,所述方法包含以下步骤:向数据处理器提供一个或多个对应测试下系统的输入测试例;根据第一组预设判据识别一个或多个输入测试例的每一个中一个或多个依赖日期的域;以及根据第二组预设判据选择生成一个或多个输出测试例,其中每个输出测试例中至少一个依赖日期的域包括来自用于2000年适应测试的一组危险日期的一个危险日期。另一方面,本发明的系统包含:用于接收一个或多个对应测试下系统的输入测试例的界面;根据第一组预设判据识别一个或多个输入测试例的每一个中一个或多个依赖日期的域的分析器;以及根据第二组预设判据选择生成一个或多个输出测试例的生成单元,其中每个输出测试例中至少一个依赖日期的域包括来自用于2000年适应测试的一组危险日期的一个危险日期。
Description
相关申请
本申请基于提交于1997年7月24日题为“2000年测试生成工厂”的分案申请No.60/053,645。
发明领域
本发明通常涉及用于测试符合预设条件应用的系统和方法,特别涉及应用是否“适应2000年”并能够正确处理20与21世纪数据的系统和方法。
背景技术
几十年来,人们一般利用两位数字而不是四位数字来表示数据处理系统内的年份。因此年份“1995”用最后两位数字“95”表示(并常常这样储存)。这种做法最大程度节省了昂贵的存储空间和数据输入时间。
在2000年(“Y2K”),许多系统将两位数字年份“00”解释为1900年,这样处理只用两位数字表示的日期得出的结果显然是不希望得到的。这个问题是突出的,并且如果机构团体不采用必要措施使系统“适应2000年”,则可能面临严峻的商业后果。例如,信用卡支付记录、IRS退税甚至空中交通控制系统(它保证了飞机安全地相隔一定距离)可能遭到破坏。“适应2000年”系统可以正确操作20世纪和21世纪的日期。由于涉及范围广和时间紧迫,Y2K“隐患”修复面临可怕的挑战。据估计,全世界解决Y2K问题的费用将达到数千亿美元。
考虑到时间和所需的资源,自动化工具将在使应用软件适应Y2K的努力中担当重要的角色。一般情况下,Y2K转换努力涉及两个步骤的过程:首先系统必须转换为适应Y2K,其次是系统必须经过全面测试,确保已经被正确转换。第二步“排除调试”步骤常常是耗时和花费大于实际转换步骤本身。虽然对于Y2k转换努力的第一步骤有许多自动编码/系统转换工具,但是普遍缺乏针对第二步骤的测试原理和自动测试工具。
发明内容
为了实现本发明的目标并按照本发明的目的,如下所述,提供一种生成2000年适应测试的测试例的方法,测试由数据处理器完成,所述方法包含以下步骤:向数据处理器提供一个或多个对应测试下系统的输入测试例;根据第一组预设判据识别一个或多个输入测试例的每一个中一个或多个依赖日期的域;以及根据第二组预设判据选择生成一个或多个输出测试例,其中每个输出测试例中至少一个依赖日期的域包括来自用于2000年适应测试的一组危险日期的一个危险日期。
另一方面,本发明包含:用于接收一个或多个对应测试下系统的输入测试例的界面;根据第一组预设判据识别一个或多个输入测试例的每一个中一个或多个依赖日期的域的分析器;以及根据第二组预设判据选择生成一个或多个输出测试例的生成单元,其中每个输出测试例中至少一个依赖日期的域包括来自用于2000年适应测试的一组危险日期的一个危险日期。
另一方面,本发明的计算机可读介质能够使数据处理器生成用于测试下系统的2000年适应测试的测试例,介质包含使数据处理器完成以下步骤的程序代码:根据第一组预设判据识别与被测试系统相应的一个或多个输入测试例;以及根据第二组预设判据选择生成一个或多个输出测试例,其中每个输出测试例中至少一个依赖日期的域包括来自用于2000年适应测试的一组危险日期的一个危险日期。
可以理解的是,前面的描述以及下面的详述仅仅是示意性质的并且对本发明并无限定作用。
附图的简要说明
作为说明书一部分的附图与说明一起对本发明进行阐述,用于解释本发明的原理。
图1为流程图,它示出了按照本发明的系统完成的步骤;
图2为可以实现本发明系统的计算机系统的结构框图;
图3为按照本发明的5个主模块的框图;
图4为框图,它示出了分析器引擎、生成引擎和替换引擎是如何以本发明的方式从输入的测试例中生成输出测试例的;以及
图5为如何从输入测试例生成输出测试例的框图。
实施发明的较佳方式
以下借助附图对本发明作详细描述。附图中相同或相似的单元用相同的标号表示。所附权利要求定义了本发明的范围,而下面的描述并不局限于该范围。
按照本发明的系统和方法提供一种新颖的自动规则,针对Y2K转换努力的测试。系统和方法开始时接收一组所谓的“输入测试例”,它包括各种日期、时间和持续期域,随后系统地列举对应日期、时间和持续期域的场景(它们很可能揭示出测试下系统(SUT)是否适应Y2K)的各种“输出测试例”。测试例包含各种日期、时间和持续期,并且是可以输入SUT供执行的普通格式。输入测试例包含各种依赖日期的域,但是并不一定包含与Y2K转换测试特别相关的日期、时间和持续期。例如输入测试例可以取自利用记录工具获取的普通交易数据的片断。
根据输入的测试例,本发明的系统和方法产生输出测试例。输出测试例与输入测试例的格式相同,但是包含所谓的“2000年危险数据”——日期、时间和持续期(它们很可能揭示出SUT在Y2K转换中的缺陷)。这些Y2K危险日期例如包括:1999年12月31日;以及2000年2月29日。包含这些Y2K危险日期的输出测试例可以由SUT随后执行以确定SUT是否被成功转换。
按照本发明的系统和方法包含超出Y2K适应测试范围的应用。它们经过改造,可以生成任一时刻变化的软件系统测试例。例如这些应用可包含7位数字电话号码被10位数字代替、区码改变的情况,或者各种货币被单一货币代替的情况等等。
图1为流程图,它示出了按照本发明的系统的执行步骤。系统接收输入测试例(步骤310)。由于系统利用了已有测试例或者很容易从SUT的记录日常交易产生的测试例,所以产生系统输入测试例所需的时间和努力最小。一种商用的记录工具(又称为测试系列)是MYNAH4.3。接收输入测试例的步骤(步骤310)通过用户界面(“UI”)执行并且在下面UI部分详细讨论。
接着,按照本发明的系统扫描输入测试例并识别依赖日期的域以及输入测试例中与日期无关的域(以下称为“标识”域)和位置(步骤320)。该扫描与识别步骤称为“分析”步骤。基于用户提供分析器规则的系统和关于输入测试例格式的系统(有关依赖日期的域和标识域在输入测试例内何处并以什么格式)执行分析步骤(参见步骤322)。在该分析步骤内,系统还可以为用户生成汇总报告,指示用户提供的分析器规则是否不正确或不完整(步骤324)。如果例如日期值未在用户指示的依赖日期的域处,则用户提供的分析器规则可能不正确。如果系统在分析步骤期间遇到未被任何用户提供分析器规则统计的依赖日期的域,则用户提供的分析器规则可能不正确。用户可以查看汇总报告并根据需要修改分析器规则。该分析步骤由分析器引擎(“PE”)执行并且在下面有关PE的部分内详述。
一旦系统在识别并定位了输入测试例内依赖日期的域和与日期无关的域,则系统选择生成输出测试例(步骤330)。输出测试例基本上是输入测试例的复制并且与输入测试例的格式相同。但是输出测试例依赖日期的域包含了Y2K危险数据,例如1999年12月31日和2000年1月1日。值得注意的是,输出测试例被选择生成。为便于描述,考虑相对简单的情况,在测试例内有10个依赖日期的域并且有3个危险日期要测试。如果没有选择生成,可能的测试例总数是310,即接近60000。选择生成输出测试例的步骤由生成引擎(“GE”)和替换引擎(“SE”)在两个步骤内完成并且在下面GE和SE部分内详述。
包含这些Y2K危险日期的输出测试例随后由SUT执行以确定是否存在使Y2K适应测试不能通过的缺陷(步骤340)。在一个实现方案内,为此首先在SUT上执行输出测试例,然后将SUT输出与已经知道正确的SUT输出比较。一种生成已经知道正确的SUT输出的方法是采用28年重复规则。利用输出测试例确定SUT是否适应Y2K的步骤由输出模拟器(“OS”)完成并且将在下面OS的描述内详述。
图2为可以实现本发明系统的计算机系统的结构框图。计算机系统100包括用于通信信息的总线102或其他通信机构以及与总线102耦合用于处理信息的处理器104。计算机系统100还包括主存储器(例如动态随机存储器(RAM))106或其他动态存储器件,它与总线102耦合,用于存储处理器104执行的信息和指令。RAM106还可以用于存储处理器104执行指令期间的临时变量或其他中间信息。计算机系统100进一步包括与总线102耦合的只读存储器(ROM)108或其他静态存储器件,用于存储处理器104的静态信息和指令。提供了诸如磁盘或光盘子类的存储器件110并与总线102耦合,用于存储信息和指令。
计算机系统100可以经总线102与诸如阴极射线管(CRT)子类的显示器112耦合,用于向计算机用户显示信息。包含字母数字或其他键的输入设备114与总线102耦合,用于向处理器104传送信息和命令选择。其他类型的输入设备有光标控制116,例如树表、轨迹球或光标方向键,用于向处理器104传送方向信息和命令选择并控制显示器112上的光标运动。术语“计算机可读介质”指的是任何向处理器104提供执行指令的介质。这种介质可以有多种形式,例如软盘、活动硬盘、硬盘、磁带或其他磁介质、CD-ROM或其他可以被计算机读取的介质。
计算机系统100还包含与总线102耦合的通信界面118。通信界面118提供了与网络122连接的链路120耦合的双向数据通信。例如通信界面118可以是局域网(LAN)卡或综合业务数字网(ISDN)卡或调制解调器,以提供与LAN或因特网和万维网(“WWW”)的数据通信连接。
按照本发明的Y2K测试生成环境可以利用计算机100实现。Y2K测试生成环境可以经因特网或万维网(“WWW”)访问。处理器104执行一条或多条Y2K测试生成环境的指令中一个和或多个序列,它们可以存储在主存储器106内。这样的指令可以从诸如存储设备110之类其他的计算机可读介质读入主存储器106。包含在主存储器106内的指令序列的执行使处理器104完成所述处理步骤。在另一实现方案中,可以用硬件电路代替或与软件指令组合实现本发明。因此本发明的实现并不局限于硬件电路与软件的任何特定组合。
图3示出了按照本发明的系统的5个模块:(1)用户界面(“UI”)(210);(2)分析器引擎(“PE”)(也称为识别或扫描引擎)(220);(3)测试生成引擎(“GE”)(230);(4)替换引擎(“SE”)(240);以及(5)输出模拟器(“OS”)(250)。
以下详述5个模块的每一个。
A.用户界面(“UI”)
本发明系统与用户之间的交互通过UI进行。用户向系统的输入包括:(1)实际的输入测试例连同列出输入测试例文件名的目录文件;(2)识别输入测试例内依赖日期的域的分析器规则;(3)识别生成输出测试例可能需要的非日期域(以下称为“标识域”)的分析器规则;(4)关于用于捕捉输入测试例的记录工具的信息(也称为测试装置);(5)诸如1999年12月31日、2000年1月1日和假期信息的危险日期清单;(6)标识日期限制的规则;以及(7)其他杂项信息,例如输出测试例应该存入的目录名。
在一个实现方案中,Y2K测试生成系统的用户界面向用户提供基于万维网(“WWW”)的界面以与系统交互。这使得即使远地用户(和测试下系统)也可以经WWW向本发明的Y2K测试生成系统提供输入测试例并经WWW接收输出测试例,从而可以在用户所在地进行Y2K适应测试。
1.安全访问(UI)
在一个实现方案中,用户界面基于WWW,并且任何人如果知道统一资源定位器(“URL”)并拥有商用Web浏览器,则可以访问系统。为了防止未经授权对本发明的Y2K测试生成系统进行访问,提供了具有安全特征的密码。因此只有输入正确登录名和密码的用户才可以访问和使用测试生成环境。系统也可以向用户提供不同级别的安全和访问权限。例如Y2K测试生成系统的管理员可以任何访问权限登录,而其他人不能得到查看系统其他用户的信息或数据的权限。一旦用户登录,当前会话即保持激活状态直到用户结束会话或者在预定间隔内未有效使用。因此对于每个用户都有超时机制,以确保离开浏览器时不包含敏感数据。这种安全特征不仅方便了用户,而且方便了公司内部网与因特网公司防火墙的服务。
2.通过设置页面输入(UI)
根据用户的特权,向不同的用户显示不同的初始页面。因此UI(210)可以为单个用户定制本发明的Y2K测试生成系统外观。普通的用户可以开始访问顶级设置页面的Y2K系统,该页面显示一组Y2K系统支持的记录工具。如上所述,记录工具指的是用于记录系统交易以生成输入测试例的特定记录软件。在选择记录工具之后,用户可以输入其他信息,例如输入测试例的位置、输出测试例的目标目录等。这种初始设置页面是可以配置的并且为新的记录工具提供了足够的灵活性。
除了主要的高级设置页面以外,可以分别为分析器引擎220和生成引擎230所需的输入信息提供两个新的设置页面。第二设置页面使用户可以定义、浏览和编辑识别依赖日期域和目录文件的分析器规则。第三种设置页面被用来为生成引擎230提供输入,包括所用的日期格式、带限制信息的文件名、带危险日期的文件名、系统提供危险日期对用户提供危险日期的选项以及用来生成输出测试例的优化程度(压缩模式或穷尽模式等)。这些设置页面出现在系统操作的开始阶段。从用户收集的信息被合适地确认、格式化和作为输入传送至各引擎。因此,来自第二设置页面的用户输入被传送至分析器引擎220而来自第三设置页面的输入被传送至生成引擎230。
3.浏览并编辑输入信息(UI)
Y2K测试生成系统的UI210可以使用户浏览所有的输入文件(例如目录文件、分析器规则和表示日期间限制的规则)。而且UI210提供修改输入文件所含信息的编辑功能。因此在每个设置页面,用户可以浏览和编辑输入信息。例如如果系统怀疑分析器规则是不正确的(例如如果未在输入分析器规则应该在的位置发现日期域),则UI210可以使用户编辑分析器规则所示并立即发送已经修改的分析器规则。UI210为这些文件动态增加合适的超文本标记语言(“HTML”)标记以提供编辑相关信息的导航和链接。文件的编辑版本被按照原先的格式存储。
4.浏览分析器引擎输出和调试(UI)
UI210从分析器引擎220的输出向用户提供影响分析和计数汇总报告并使用户可以浏览分析器引擎220以各种详细程度产生的警告和错误消息。例如高级影响分析信息由UI210从分析器引擎220的输出文件动态产生并以表格形式显示出来从而更容易理解。更为详细的技术汇总由UI210从分析器引擎输出动态生成以提供详细的技术信息,例如每个输入测试例内部的日期域频率、文件名等。技术汇总更为适合主体事务专家(“SME”)而影响分析汇总主要提供所需付出努力的总体复杂度。汇总信息可以表格或直方图形式显示。
除了浏览汇总信息以外,用户还可以浏览调试用的警告和错误信息。警告和错误信息也可以分两种程度提供:汇总和详细列表。汇总信息可以使用户确定分析阶段问题出在何处。详细的列表给出了各种类别警告和错误信息连同精确位置(由文件名、行号、行内列号以及发生错误处的标记或值组成)。这种信息借助正确的HTML标记动态生成以提供各种与实际测试脚本的直观线索和链接。用户通过浏览和把重点放在分析器引擎220识别的错误位置,可以方便地修改已有的规则并返回分析器引擎220以获得正确和完整的规则集。
5.生成引擎输出的汇总报告(UI)
UI210提供各种与生成的输出测试例有关的汇总信息。汇总信息可以表格或直方图的形式显示。简短的汇总可以提供的信息例如有生成的输出测试例编号、输出测试例中所用各种用户提供和系统生成的附加危险日期值。详细的汇总提供了诸如每个日期域和日期值的限制。UI210也可以使用户按照两种级别浏览新生成的输出测试例:目录级和单个文件或测试例级。
6.进程显示(UI)
UI210提供了状态条信息以指示完成的处理量。该状态信息被提供给分析器引擎220和生成引擎230。
7.帮助页面(UI)
U210在所有级别上提供了合适的帮助页面和工具。因此用户可以在UI210内部方便地得到即时在线帮助。
B.分析器引擎
图4为分析器引擎220、生成引擎230和替换引擎240各种输入和输出的框图。如图4所示,分析器引擎220的输入包括:(1)一个或多个输入测试例;(2)用于识别依赖日期的域的用户提供的分析器规则;(3)用于识别与生成输出测试例相关的标记域的用户提供的分析器规则;以及(4)用于自动识别依赖日期的域的系统提供的分析器规则。根据这些输入,分析器引擎识别和定位输入测试例中相关的日期域和标记域。
输入测试例可以直接提供给系统,或者输入测试例清单以目录文件的形式提供。分析器引擎220扫描输入测试例以查找与用户或系统提供的识别相关日期和标记域用的分析器规则匹配的输入串。
分析器引擎220的分析器规则以域定义表的形式定义。根据这些分析器规则,分析器引擎220寻找并在合适的域使用表内登录所有匹配:(1)日期域用法表(“DFUT”)以及(2)标记域用法表(“TFUT”)。首先与日期相关的域被记录在DFUT内。日期用法表列出了特定域的发生和特定输入测试例内域的位置。随后生成引擎230利用日期域用法表生成用于输出测试例的日期值。其次,与日期无关的域被记录在TFUT内。标记域用法表列出了特定域的发生和特定输入测试例内域的位置。随后替换引擎240利用标记域用法表创建输出测试例。
除了创建域用法表以外,分析器引擎220在登录文件内登录各种警告,而UI210采用登录文件向用户提供各种摘要级别的反馈。而且分析器引擎220可以选择设定为查找各种日期域之间的二目关系(即小于、大于或等于)并在限制频度表内登录与这些关系有关的信息。
分析器引擎220还包含用户可以选择调用的内建自动识别工具。当调用该选择时,分析器引擎220将所有可疑的查找日期作上标记,这些日期未被任何用户提供的分析器规则统计进去。Y2K系统随后通过UI210提示用户修改和/或增加附加的分析器规则。用户可能接受建议。如果例如用户对Y2K系统标记的特定日期域不感兴趣,则也可以忽略这些建议。
1.分析器引擎的输入文件
分析器引擎220接受下列输入文件:
a.测试目录文件:测试目录文件包含输入测试文件的分层清单。测试例的
分析顺序由测试目录文件中的清单确定。
b.分析器规则定义文件:分析器规则定义文件由规则清单组成,分析器引擎220利用其识别输入测试例中的相关串。识别日期的规则与识别标记的规则被区分开来。日期识别规则可以有多种。例如识别日期的分析器规则可包括:(1)偏移型:该规则精确定义了在特定输入测试例何处(例如页面和行号)寻找到日期域;以及(2)日期格式型:该规则定义了输入测试例所用日期的精确格式,例如“mm/dd/yy”、“mm/dd/yyyy”、或“dd/mm/yy”。
c.系统日期模型化表
一些测试例的执行可能依赖于系统时钟(当前日期和时间)。对系统时钟的依赖性可能是隐含的或者需要明确地模式化。当测试例内分配给域的值由宏/功能调用或用普通日期规则计算时以及该值中具有SYS时模式是隐含的。为了明确地建立测试例对系统时钟的依赖性,用户可以利用系统日期模式表。
d.自动识别模式表
分析器引擎220可以选择设定为寻找输入测试例内的可疑日期查找模式,这些模式没有被用户提供的任何规则统计在内。用户可以利用自动识别模式表(“AIPT”)调整自动识别的级别。以下是AIPT的例子。
#北美洲
mm-dd-yyyy y _na
mm-dd-yy y _na
yyyy-mm-dd y _na
yy-mm-dd y _na
mm-dd y _na
yymmdd y _user
mm/dd/yyyy y _na
mm/dd/yy y _na
yyyy/mm/dd y _na
yy/mm/dd y _na
mm/dd y _na
#亚洲/欧洲
dd-mm-yyyy n _asia
dd-mm-yy n _asia
dd-mm n _asia
dd/mm/yyyy n _asia
dd/mm/yy n _asia
dd/mm n _asia
dd.mm.yy n _europe
dd.mm.yy n _europe
#关闭指示符
MSTR off
空行或第一个非空字符是#的行表示注释并且被分析器引擎220忽视。对于其他行,由制表符分割的域列表给出条目。枚举类型(_na,_europe,_asia,or_user)用来标识条目所属的分组。上述日期格式可以是任何常规表达式;但是dd、mm、yy、yyyy、/和.具有特殊的意义。(/无需转义而“dd”,“yy”和“yyyy”不能脱离它们的特殊含义而使用。)没有分隔符的格式(例如mmddyy或mmdd)将使输入模式仅仅与特定的字节数匹配。例如mmddyy和mmdd分别匹配6和4字节模式;即0404属于mmdd而044不是。
用户可以通过下述方式微调自动识别:(1)修改第一域内的日期格式;(2)利用“y”或“n”选择/不选择模式;(3)加入新的条目;(4)通过指示第二与第三域之间的这种限制对特定输入测试例类型的条目范围进行限制;以及(5)关闭某些文件类型的自动识别。在上述实施例中,关闭了文件类型MSTR的自动识别。
2.分析器引擎输出文件
分析器引擎220生成被生成引擎230使用的输出。除了生成用于生成引擎230的信息之外,分析器引擎220也向UI210提供反馈。分析器引擎220生成的被Y2K测试生成系统其他组成单元使用的信息在本节内描述。
a.域用法表
在日期域用法表和标记域用法表内分别记录了分析器引擎220识别的每个日期域或标记域。DFUT被生成引擎230和SE240使用而TFUT仅仅被替换引擎240使用。
(1)日期域用法表
该表列出了每个输入测试例内日期域的所有实例。表列出了每个日期域的日期和位置。
(2)标记域用法表
该表列出了每个输入测试例内标记域的所有实例。表列出了每个标记域的标记和位置。
b.分析器输出文件—限制频度表
日期限制是两种日期类型之间的二目关系<、=或>。在识别了每个数据类型的所有实例之后,分析器引擎220可以选择地列出输入测试例的编号,任意两种日期类型对此关系<、=或>成立。以下是限制频度表的实例。
DD DVA 12 0 0
DD FCD 12 0 0
DD _SYS 0 0 0
DVA FCD 12 0 0
DVA _SYS 0 0 0
FCD _SYS 0 0 0
在上述实例中,DD、DVA、FCD和_SYS是日期类型。第三、第四和第五列分别给出输入测试例的计数,其中列中给出的日期类型为<,而=和>的数据类型在第二列中给出。
c.分析器输出文件—登录文件
在分析阶段遇到的所有警告可以登录在登录文件内。如果遇到警告,分析器引擎200将输出发生警告的行号并在新的一行打印警告信息。各种警告信息包括:
(1)打开文件出错
(2)规则中丢失域
(3)规则中的非法偏移
(4)输入与偏移日期规则中格式之间的不匹配
(5)自动识别和不统计的日期常数
4.分析器引擎处理
分析器引擎处理在三个阶段进行。以下详述三个阶段。
a.初始化阶段
在第一阶段,分析器引擎220读取所有用户提供的分析器规则。在初始化期间,分析器引擎220确定用户提供的输入规则是否有效并且在遇到可能错误时发出适当的警告。
b.分析器规则处理阶段
在第二阶段,分析器引擎220打开测试目录文件并按照目录文件中给定的顺序分析测试例。
c.规则推断阶段
分析器引擎可以有选择地设定为创建限制频度表。该表已经在上面描述过。
C.生成引擎(GE)
如图4所示,生成引擎230采用三种输入:(1)域限制;(2)域值;以及(3)日期域用法表。这些输入由一种生成算法用来创建一组测试例版本(“TCV’s”),它将每个所需的域值推广到每个域但是保持了用户提供的限制。
1.输入GE
a.域限制
这些是用户提供的域限制。例如,如果输入测试例是购货订单表格,域的顺序为订货日期和装船日期,则订货日期必须总是在装船日期之前。域限制(“FC”)可以是下列形式:
<Field1><Operator><Field2>
where
FieldN ∷=域名
Operator ∷=’<’|’>’’=’|’/110’’+5’等
有些FC条目实例可包括:
“DUE_DATE<SHIP_DATE”
“ORDER_INVENTORY>STOCK_INVENTORY”
“ITEM_CLOR=COLOR_ITEM”
每个操作符(’<’|’>’’=’|’/110’’+5’等)用来推断给定值的域在另一相关域内的允许值。在“ORDER_INVENTORY”域内给定值“10000”,则在“STOCK_INVENTORY”域内大于10000的值都是允许的。在“Price(
)”域内给定值“990”,则域“Price($)”只有一个值“9”是允许的。
b.域值
这些是各种用来填充输出测试例域的域值。它们包括Y2K危险日期。域值(FV)有下列形式:
<文字数字><类型>
这里
字符 ∷=字母数字字符串
类型 ∷=“需要的”|“选项的”
有些FV条目实例包括:
“1999-12-31需要的”
“2000-04-15选项的”
“990需要的”
c.日期域用法表
日期域用法表由分析器引擎220提供。表列出了日期域实例及其在每个输入测试例内的位置。数据被组织为根据域名和输入测试例名索引的如下矩阵:
输入测试例 | 域1 | 域2 | … | 域N |
T1 | V11 | V12 | V1N | |
T2 | V21 | V22 | V2N | |
… | ||||
TM | VM1 | VM2 | … | VMN |
这里
TM ∷=测试例
域N ∷=域名
V(m,n)∷=null|<Value_Used><Position_List>
Position_List∷=<Position>|<Position><Position_List>
m ∷=测试例指数
n ∷=域指数
Value_used ∷=字符数字串
Position ∷=文件名、位置和长度
2.GE输出
测试例版本
生成算法取用域限制(“FC”)、域值(“FV”)和日期域用法表数据结构,并且创建测试例版本(“TCV”)数据结构。TCV结构包含每个新生成测试例的一行。列对应来自域用法结构的域名。每个单元包含在替换时使用的生成值。
存储在每个单元内的值由下一节的其中一个生成算法确定。数据被组织为根据逻辑域名和逻辑测试例名索引的矩阵。
输出测试例 | 域1 | 域2 | … | 域3 |
T10 | V110 | V120 | V1N0 | |
T11 | V111 | V121 | V1N1 | |
… | ||||
T1L(1) | V11L(1) | V12L(1) | V1NL(1) | |
… | ||||
TM0 | V110 | V120 | V1N0 | |
TM1 | V111 | V121 | V1N1 | |
… | ||||
TML(M) | V11L(M) | V12L(M) | V1NL(M) |
这里
TML ∷=测试例M的版本L
FieldN ∷=域名
V(m,n,l) ∷=null|<Value>
m ∷=测试例指数
n ∷=域指数
l ∷=版本指数
Value ∷=字母数字串
3.生成算法
生成方法将利用其中一个可能的手段将来自FV结构的数值放入存储在测试例版本(TCV)结构内的生成测试例。每个生成方法的目标是确保所有需要的域值被来自DFUT结构的每个域所测试。该目标通过创建包含来自FV结构的数值的测试例新版本实现。此外,FC域限制被用来在每个测试例的生成版本内确保域之间的关系不变。
通过确定用于生成测试例内的域值相对来自DFUT的域的覆盖度测量达到目标的程度。
域1 | 域2 | … | 域N | |
FV1 | V11 | V12 | V1N | |
FV2 | V21 | V22 | V2N | |
… | ||||
FVP | VP1 | VP2 | … | VPN |
这里
FVP ∷=所需的域值
FieldN ∷=域名
V(p,n) ∷=null|测试例
p ∷=域值指数
n ∷=域指数
例如假定:
a.三个所需的域值是“2000-01-01”、“2000-02-29”和“2000-0301”。
b.生成的三个域是“ORDER”、“SHIP”和“DUE”。
c.两个限制是“ORDER<SHIP”和“SHIP<DUE”。
在该实例中,下列矩阵示出了单个输入测试例(T1,T2,T3和T4)的四个版本覆盖9个所需的域值与域名组合中的8个。
域值 | 订单 | 装船 | 到期 |
2000-01-01 | T1 | T4 | * |
2000-02-29 | T2 | T1 | T4 |
2000-03-01 | T3 | T2 | T1 |
下表列出测试例T的四个版本,它们覆盖了上述矩阵。
输出测试例 | 订单 | 装船 | 到期 |
T1 | 2000-01-01 | 2000-02-29 | 2000-03-01 |
T2 | 2000-02-29 | 2000-03-01 | 2000-02-01+1** |
T3 | 2000-03-01 | 2000-03-01+1** | 2000-03-01+2** |
T4 | 2000-03-01-1** | 2000-01-01 | 2000-02-29 |
备注*:在创建四个版本的这些测试例之后,生成方法创建最后的第五测试例来覆盖域“到期”中的所需值“2000-01-01”,它对应上表中的“*”。
备注**:注意创建该域值以满足域的限制。
生成方法共享同一目标,但是当多个测试例采用同一域时达到目的的方式不同。第一种生成方法即穷尽法确保每个来自FV的数值被放入所有测试例的每个域内。这种方法独立处理每个测试并因而您生成所有测试例中最大的版本总数。第二种(压缩第一方法)和第三种(压缩所有方法)生成方法确保每个域值在至少一个测试例内测试。由于这两种方法复用了测试例上域值的覆盖,所以提供了“压缩”生成形式。利用第二和第三种方法生成的测试例更少。并不需要将所有原始测试例都包含在最终的输出内。第二与第三种方法的差异在于创建多个测试例版本的顺序。第二种方法创建第一输入测试例的许多版本以在试图生成任何后续输入测试例的新版本之前完全测试所有域值。第三种方法在创建任何其他测试例版本之前创建每个输入测试例的一个版本。该过程在循环通过输入测试例列表中延续。第四种生成方法(压缩方法)通常遵循与第三种方法一样的处理步骤,但是它确保输出测试例中包含所有的输入测试例。
D.替换引擎(“SE”)
如图4所示,替换引擎(SE)提取来自分析引擎220的输出(数据域用法表和标记用法域表,提供域的位置)和来自生成引擎230的输出(提供大小和所制造测试例内容的测试例版本)。该信息被用来创建输入测试例的副本,其包含带生成域值的输入域值替换,域值包含Y2K危险日期。此外,SE240可选择地在测试例上唯一地代替其他域值,例如标记值。当测试例内的域包含对每个测试例都是唯一的值时利用该特征。例如零售点系统内的客户名或者存货系统中的部件号对于输出测试例可以不同。
1.输入
a.替换规则
替换规则(SR)具有如下形式:
<name><data type><modifier><value list>
这里
name ∷=分配给PE220寻找的每个域类型的标号
data type ∷=“整数”|“文本”等
modifier ∷=“递增”|“循环”
value list ∷=<value>|<value>’,’<value list>
value ∷=字母数字字符
一些SR条目实例包括:
(1)“CustomerName TEXT CYCLE Jones,Smith,Zeller”
(2)“PartNumber INTEGER INCREMENT 1000”
(3)“Blues TEXT CYCLE Baby,Steel,Light,Navy”
b.日期域用法表
c.标记域用法表
d.测试例版本
2.输出
输出测试例可以在目录结构内创建,这些结构是原始测试例的多个镜像副本。图5示出了该复制过程。根据选定的生成算法,每个输入测试例(T1-TN)被复制合适的次数(例如N’-N”次)。
输出该输出测试例的另一种选择是利用“参数化输出模式”。代替对不同测试例版本生成不同的文件,用户可以决定生成测试例的参数化版本。在这种选择下,系统生成1)参数化程序(合适的硬编码值等被可以从数据文件调用的变量值代替);2)程序的驱动器例程;以及3)包含程序参数输入的数据文件。驱动器例程被预计打开数据文件,并且对于数据文件内的每行,它调用参数值被实际数据代替的程序。该方法节省了存储空间并且改进了测试例的维护。
3.替换算法
SE240执行三个阶段的替换步骤:
a.根据需要复制输入测试例的副本。参见图5。
b.根据TCV和数据域用法表用生成值代替输入文件值。
c.根据SR和标记域用法表用替换值代替原先的域值。
E.输出模拟器(“OS”)
在本发明的一个实例中,本发明的系统生成Y2K适应测试例的预期输出如下。对于每个输出测试例,例“T”,系统创建两个中间测试例,例“I1”和“I2”。中间测试例通过将T内每个日期减去n*28年得到,这里n为大于0的整数,所以在相减之后,所有的日期都在20世纪内。I1和I2的“n”必须不同。一般是n=1或2。I1和I2在未更新的系统上执行并捕捉输出01和02在更新系统上执行输出测试例且从中捕捉到输出0。当镜像Y2K适应测试时,O(来自T的输出)必须在01和02相同的地方一致而在不同的地方不同。如果不是这种情况,则输出测试例T在更新系统内具有未发现的潜在的Y2K“隐患”。虽然讨论的只是n*28方法,但是也可以采用其他合适的测试方法。例如根据本发明输出测试例的系统输出可以与其他已知是正确的系统输出进行比较。
F.其他性能
虽然这里描述的系统和方法是针对Y2K适应测试例创建的,但是本发明的系统和方法也可以用于对于源代码作大量遵循一致替换模式或规则的情形。这种改变的实例有:输入参数类型从数字变为字母数字;定义输入系统的单位从lbs变为kgs或GMT变为EST等;以及电话号码从7位数字变为10位数字。通过在枚举输出测试例场景时采用一组合适的“危险”值,本发明的系统和方法可以用于方便快速地测试这类编号。
以上借助实例对本发明作了描述。但是对于本领域内的技术人员来说,在阅读上述描述之后可以在不偏离本发明范围和精神的前提下对本发明作出各种修改。因此本发明的范围和精神由下面的权利要求限定。
Claims (39)
1.一种生成用于测试系统2000年适应性的测试例的方法,其特征在于包含由数据处理器完成的以下步骤:
向数据处理器提供一个或多个与测试系统对应的输入测试例;
根据第一组预设判据识别一个或多个输入测试例的每一个中一个或多个依赖日期的域;以及
根据第二组预设判据选择生成一个或多个输出测试例,其中每个输出测试例中至少一个依赖日期的域包括来自用于2000年适应测试的一组危险日期的一个危险日期。
2.如权利要求1所述的方法,其特征在于所述提供步骤包括:
通过万维网向数据处理器提供所述一个或多个输入测试例。
3.如权利要求1所述的方法,其特征在于在所述识别步骤中,所述第一组判据包括由数据处理器提供的自动日期识别规则。
4.如权利要求1所述的方法,其特征在于所述识别步骤包括:
在所述识别步骤期间生成检测到的任何潜在错误的报告。
5.如权利要求1所述的方法,其特征在于在所述识别步骤中,所述第一组判据包括用户提供的规则。
6.如权利要求5所述的方法,其特征在于进一步包括:
确定所述用户提供规则是否可能不正确。
7.如权利要求5所述的方法,其特征在于进一步包括:
确定所述用户提供规则是否可能不完整。
8.如权利要求5所述的方法,其特征在于进一步包括:
识别可能不正确或不完整的用户提供规则;以及
允许纠正一些或所有可能不正确或不完整的用户提供规则。
9.如权利要求1所述的方法,其特征在于所述选择生成步骤包括在一组或多组输出测试例内生成所述一个或多个输出测试例,其中所述第二组预设判据确保每组输出测试例对应一个或多个输入测试例。
10.如权利要求9所述的方法,其特征在于在所述选择生成步骤中,所述第二组预设判据确保来自所述危险日期组的每个危险日期被至少一次放入每组输出测试例的每个依赖日期的域内。
11.如权利要求9所述的方法,其特征在于在所述选择生成步骤中,所述第二组预设判据确保来自所述危险日期组的每个危险日期被至少一次放入所述输出测试例的每个依赖日期的域内。
12.如权利要求9所述的方法,其特征在于在所述选择生成步骤中,所述第二组预设判据确保每个输入测试包含至少一个对应的输出测试例组并且来自所述危险日期组的每个危险日期被至少一次放入所述输出测试例的每个依赖日期的域内。
13.如权利要求1所述的方法,其特征在于在所述选择生成步骤中,所述第二组预设判据确保所述输出测试例与用户提供的限制一致。
14.如权利要求1所述的方法,其特征在于进一步包括:
通过万维网提供所述一组或多组输出测试例。
15.一种生成用于测试系统2000年适应性的测试例的方法,其特征在于包含由数据处理器完成的以下步骤:
向数据处理器提供一个或多个与测试系统对应的输入测试例;
根据第一组预设判据识别一个或多个输入测试例的每一个中一个或多个依赖日期的域;
根据第二组预设判据选择生成一个或多个输出测试例,其中每个输出测试例中至少一个依赖日期的域包括来自用于2000年适应测试的一组危险日期的一个危险日期;以及
通过在测试系统内执行所述输出测试例确定测试下的系统是否是2000年适应的。
16.如权利要求15所述的方法,其特征在于所述确定步骤包括:
提供第一组系统输出,所述第一组系统输出通过在测试下系统内执行所述输出测试例而生成;
提供已经知道是正确的第二组系统输出;以及
将所述第一与第二组系统输出比较以检测测试下系统内潜在的错误。
17.如权利要求15所述的方法,其特征在于所述确定步骤包括:
提供第一组系统输出,所述第一组系统输出通过执行第一组测试例生成,其日期都属于20世纪的日期;
提供第二组系统输出,所述第二组系统输出通过执行不同的第二组测试例生成,其日期都属于20世纪的日期;
提供第三组系统输出,所述第三组系统输出通过执行输出测试例而生成;
将所述第一与第二组系统输出进行比较;以及
确定第三组系统输出在第一与第二组系统输出相同和不同的地方是否相同和不同。
18.如权利要求17所述的方法,其特征在于通过将所述输出实施例依赖日期的域内出现的每个日期减去n*28年从所述输出测试例生成所述第一和第二组测试例,其中n为大于0的整数并且所述第一和第二组测试例的n是不同的
19.一种生成用于测试系统2000年适应性的测试例的方法,其特征在于包含由数据处理器完成的以下步骤:
根据第一组预设判据识别与测试下系统对应的一个或多个输入测试例的每一个中一个或多个依赖日期的域;以及
根据第二组预设判据选择生成输出测试例的参数化版本,其中每个所述输出测试例中至少一个依赖日期的域包括来自用于2000年适应测试的一组危险日期的一个危险日期,并且所述参数化版本比输出测试例更为紧凑,可以用于生成输出测试例。
20.一种生成用于转换系统2000年适应性的测试例的方法,其特征在于包含由数据处理器完成的以下步骤:
向数据处理器提供一个或多个对应于测试下系统的输入测试例;
根据第一组预设判据识别一个或多个输入测试例的每一个中一个或多个依赖转换的域;以及
根据第二组预设判据选择生成一个或多个输出测试例,其中每个所述输出测试例中至少一个依赖转换的域包括来自用于转换适应测试的一组危险转换值的一个危险值。
21.如权利要求20所述的方法,其特征在于所述转换涉及货币单位。
22.如权利要求20所述的方法,其特征在于所述转换涉及时间单位。
23.如权利要求20所述的方法,其特征在于所述转换涉及测量单位。
24.一种用于生成用于测试系统2000年适应性的测试例的系统,其特征在于包含:
接收一个或多个对应于测试下系统的输入测试例的界面;
根据第一组预设判据识别一个或多个输入测试例的每一个中一个或多个依赖日期的域的分析器;以及
根据第二组预设判据选择生成一个或多个输出测试例的生成单元,其中每个输出测试例中至少一个依赖日期的域包括来自用于2000年适应测试的一组危险日期的一个危险日期。
25.如权利要求24所述的系统,其特征在于所述生成单元配置为选择生成一个或多个输出例组内一个或多个输出测试例,其中所述第二组预设判据确保每组输出测试例对应一个或多个输入测试例。
26.如权利要求25所述的系统,其特征在于所述第二组预设判据确保来自所述危险日期组的每个危险日期被至少一次放入每组输出测试例的每个依赖日期的域内。
27.如权利要求25所述的系统,其特征在于所述第二组预设判据确保来自所述危险日期组的每个危险日期被至少一次放入所述输出测试例的每个依赖日期的域内。
28.如权利要求25所述的系统,其特征在于所述第二组预设判据确保每个输入测试包含至少一个对应的输出测试例组并且来自所述危险日期组的每个危险日期被至少一次放入所述输出测试例的每个依赖日期的域内。
29.一种用于生成用于测试系统2000年适应性的测试例的系统,其特征在于包含:
接收一个或多个输入测试例的界面;
根据第一组预设判据识别一个或多个输入测试例的每一个中一个或多个依赖日期的域的分析器;以及
根据第二组预设判据选择生成一个或多个输出测试例的生成单元,其中每个输出测试例中至少一个依赖日期的域包括来自用于2000年适应测试的一组危险日期的一个危险日期;以及
测试单元,用来确定测试下的系统是否是2000年适应的。
30.如权利要求29所述的系统,其特征在于所述测试单元包括:
接收第一组系统输出的装置,所述第一组系统输出通过执行第一组测试例而生成,其日期都属于20世纪的日期;
接收第二组系统输出的装置,所述第二组系统输出通过执行不同的第二组测试例而生成,其日期都属于20世纪的日期,其中通过将所述输出测试例依赖日期的域内出现的每个日期减去n*28年从所述输出测试例生成所述第一和第二组测试例,其中n为大于0的整数并且所述第一和第二组测试例的n是不同的;
接收第三组系统输出的装置,所述第三组系统输出通过执行输出测试例生成;
将所述第一与第二组系统输出进行比较的装置;以及
确定第三组系统输出在第一与第二组系统输出相同和不同的地方是否相同和不同的装置。
31.一种生成用于2000年适应性测试的测试例的系统,其特征在于包含:
根据第一组预设判据识别对应测试下系统的一个或多个输入测试例的每一个中一个或多个依赖日期的域的分析器;以及
根据第二组预设判据选择生成输出测试例的参数化版本的生成单元,其中每个所述输出测试例中至少一个依赖日期的域包括来自用于2000年适应测试的一组危险日期的一个危险日期,并且所述参数化版本比输出测试例更为紧凑,可以用于生成输出测试例。
32.一种计算机可读介质,它能够使数据处理器生成用于测试下系统的2000年适应测试的测试例,其特征在于介质包含使数据处理器完成以下步骤的程序代码:
根据第一组预设判据识别与测试系统相应的一个或多个输入测试例的每一个中一个或多个依赖日期的域;以及
根据第二组预设判据选择生成一个或多个输出测试例,其中每个输出测试例中至少一个依赖日期的域包括来自用于2000年适应测试的一组危险日期的一个危险日期。
33.如权利要求32所述的计算机可读介质,其特征在于所述选择生成步骤包括在一组或多组输出测试例内生成所述一个或多个输出测试例,其中所述第二组预设判据确保每组输出测试例对应一个或多个输入测试例。
34.如权利要求33所述的计算机可读介质,其特征在于在所述选择生成步骤中,所述第二组预设判据确保来自所述危险日期组的每个危险日期被至少一次放入每组输出测试例的每个依赖日期的域内。
35.如权利要求33所述的计算机可读介质,其特征在于在所述选择生成步骤中,所述第二组预设判据确保来自所述危险日期组的每个危险日期被至少一次放入所述输出测试例的每个依赖日期的域内。
36.如权利要求33所述的计算机可读介质,其特征在于在所述选择生成步骤中,所述第二组预设判据确保每个输入测试例包含至少一个对应的输出测试例组并且来自所述危险日期组的每个危险日期被至少一次放入所述输出测试例的每个依赖日期的域内。
37.一种计算机可读介质,它能够使数据处理器生成用于测试下系统的2000年适应测试的测试例,其特征在于介质包含使数据处理器完成以下步骤的程序代码:
向数据处理器提供一个或多个输入测试例;
根据第一组预设判据识别一个或多个输入测试例的每一个中一个或多个依赖日期的域;
根据第二组预设判据选择生成一个或多个输出测试例,其中每个输出测试例中至少一个依赖日期的域包括来自用于2000年适应测试的一组重要的危险日期的一个危险日期;以及
确定测试下的系统是否是2000年适应的。
38.如权利要求37所述的计算机可读介质,其特征在于所述确定步骤包括:
提供第一组系统输出,所述第一组系统输出通过执行测试系统的第一组测试例生成,其日期都属于20世纪的日期;
提供第二组系统输出,所述第二组系统输出通过执行测试系统的不同的第二组测试例生成,其日期都属于20世纪的日期,其中通过将所述输出测试例依赖日期的域内每个出现的日期减去n*28年从所述输出测试例生成所述第一和第二组测试例,其中n为大于0的整数并且所述第一和第二组测试例的n是不同的;
提供第三组系统输出,所述第三组系统输出通过执行测试系统的输出测试例生成;
将所述第一与第二组系统输出进行比较;以及
确定第三组系统输出在第一与第二组系统输出相同和不同的地方是否相同和不同。
39.一种计算机可读介质,它能够使数据处理器生成用于测试下系统的2000年适应测试的测试例,其特征在于介质包含使数据处理器完成以下步骤的程序代码:
根据第一组预设判据识别对应测试下系统的一个或多个输入测试例的每一个中一个或多个依赖日期的域;以及
根据第二组预设判据选择生成输出测试例的参数化版本,其中输出测试例的每一组参数在版本对应输入测试例中的一个,其中每个所述输出测试例中至少一个依赖日期的域包括来自用于2000年适应测试的一组危险日期的一个危险日期,并且所述参数化版本比输出测试例更为紧凑,可以用于生成输出测试例。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US5364597P | 1997-07-24 | 1997-07-24 | |
US60/053,645 | 1997-07-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1265207A true CN1265207A (zh) | 2000-08-30 |
Family
ID=21985652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN98807414.1A Pending CN1265207A (zh) | 1997-07-24 | 1998-07-21 | 生成2000年测试例的系统和方法 |
Country Status (10)
Country | Link |
---|---|
US (1) | US6041330A (zh) |
EP (1) | EP1021763A4 (zh) |
JP (1) | JP2001511557A (zh) |
KR (1) | KR20010022215A (zh) |
CN (1) | CN1265207A (zh) |
AU (1) | AU728009B2 (zh) |
CA (1) | CA2297901C (zh) |
ID (1) | ID25875A (zh) |
TW (1) | TW498201B (zh) |
WO (1) | WO1999005598A2 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622528A (zh) * | 2012-04-16 | 2012-08-01 | 广东双利电缆有限公司 | 一种制造铝合金杆所需配方参数的自动生成方法及系统 |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6425118B1 (en) * | 1997-07-18 | 2002-07-23 | Compaq Computer Corporation | System for automatically generating tests to ensure binary compatibility between software components produced by a source-to-source computer language translator |
US6317871B1 (en) | 1997-07-18 | 2001-11-13 | Compaq Computer Corporation | System for ensuring the accuracy of file structures in a source-to-source computer program translator |
US6240546B1 (en) * | 1998-07-24 | 2001-05-29 | International Business Machines Corporation | Identifying date fields for runtime year 2000 system solution process, method and article of manufacture |
US6708180B1 (en) * | 1998-08-14 | 2004-03-16 | International Business Machines Corporation | Method and apparatus for runtime remediation of object-code instructions in a computer program |
US6253336B1 (en) * | 1998-08-20 | 2001-06-26 | International Business Machines Corporation | Predicting year-2000 instruction failures |
US6279127B1 (en) * | 1998-08-20 | 2001-08-21 | International Business Machines Corporation | System for predicting year-2000 instruction failures |
US6295539B1 (en) * | 1998-09-14 | 2001-09-25 | Computer Associates Think, Inc. | Dynamic determination of optimal process for enforcing constraints |
US6523172B1 (en) * | 1998-12-17 | 2003-02-18 | Evolutionary Technologies International, Inc. | Parser translator system and method |
US6389588B1 (en) * | 1999-02-04 | 2002-05-14 | Relativity Technologies | Method and system of business rule extraction from existing applications for integration into new applications |
US6634026B1 (en) * | 1999-06-10 | 2003-10-14 | General Electric Company | Method and apparatus for correcting common errors in multiple versions of a computer program |
US6725380B1 (en) * | 1999-08-12 | 2004-04-20 | International Business Machines Corporation | Selective and multiple programmed settings and passwords for web browser content labels |
US6715108B1 (en) * | 1999-10-12 | 2004-03-30 | Worldcom, Inc. | Method of and system for managing test case versions |
US6493635B1 (en) * | 1999-11-01 | 2002-12-10 | 3Dgeo Development, Inc. | Remote access and automated dialog building for seismic processing |
US7113914B1 (en) * | 2000-04-07 | 2006-09-26 | Jpmorgan Chase Bank, N.A. | Method and system for managing risks |
US8522082B1 (en) * | 2000-04-28 | 2013-08-27 | International Business Machines Corporation | Method and apparatus for identifying remediation failures in year-2000 remediation programs |
US20020032538A1 (en) * | 2000-05-09 | 2002-03-14 | Lee Young-Seok | Software test system and method |
US6823478B1 (en) * | 2000-09-12 | 2004-11-23 | Microsoft Corporation | System and method for automating the testing of software processing environment changes |
US6577982B1 (en) * | 2001-01-30 | 2003-06-10 | Microsoft Corporation | Model-based testing via combinatorial designs |
US7243090B2 (en) * | 2001-05-16 | 2007-07-10 | Sun Microsystems, Inc. | System and method for specification tracking in a Java compatibility testing environment |
US20030003432A1 (en) * | 2001-05-16 | 2003-01-02 | Kinzhalin Arzhan I | System and method for automated assertion acquisition in a Java compatibility testing environment |
US7240243B2 (en) * | 2002-03-28 | 2007-07-03 | International Business Machines Corporation | System and method for facilitating programmable coverage domains for a testcase generator |
WO2005050397A2 (en) * | 2003-11-17 | 2005-06-02 | International Barcode Corporation | System and method of ensuring quality control of software |
US20050234976A1 (en) * | 2004-04-20 | 2005-10-20 | Relativity Technologies, Inc. | System and method for deriving an object oriented design from the business rules of a legacy application |
US7398514B2 (en) | 2004-09-29 | 2008-07-08 | Microsoft Corporation | Test automation stack layering |
US7587393B2 (en) * | 2004-12-20 | 2009-09-08 | Microsoft Corporation | Long running requests |
US7305374B2 (en) * | 2006-01-26 | 2007-12-04 | International Business Machines Corporation | Method, system and program product for automated testing of changes to externalized rules |
US20080040352A1 (en) * | 2006-08-08 | 2008-02-14 | Kenneth Alexander Ellis | Method for creating a disambiguation database |
US20080163159A1 (en) * | 2007-01-03 | 2008-07-03 | Relativity Technologies, Inc. | System and method for extracting UML models from legacy applications |
US8997091B1 (en) * | 2007-01-31 | 2015-03-31 | Emc Corporation | Techniques for compliance testing |
US20090158255A1 (en) * | 2007-12-18 | 2009-06-18 | Electronics And Telecommunications Research Institute | Test method and test device for unit code using unit test code |
CN101251825B (zh) * | 2008-04-03 | 2010-04-14 | 北京星网锐捷网络技术有限公司 | 一种生成测试用例的方法和装置 |
CN101377758B (zh) * | 2008-07-14 | 2010-06-23 | 北京星网锐捷网络技术有限公司 | 一种生成测试用例的方法和装置 |
TW201025217A (en) * | 2008-12-30 | 2010-07-01 | Ind Tech Res Inst | System and method for estimating state of carrier |
US8732667B2 (en) * | 2009-11-13 | 2014-05-20 | Microsoft Corporation | Debugging services for domain specific languages |
FR2964286B1 (fr) * | 2010-08-27 | 2012-08-17 | Alcatel Lucent | Procede et dispositif de test non perturbatif de fonctionnement d'une application de fourniture d'informations accessibles a certaines dates |
US9992243B2 (en) | 2012-09-17 | 2018-06-05 | International Business Machines Corporation | Video conference application for detecting conference presenters by search parameters of facial or voice features, dynamically or manually configuring presentation templates based on the search parameters and altering the templates to a slideshow |
US9984173B2 (en) * | 2014-02-24 | 2018-05-29 | International Business Machines Corporation | Automated value analysis in legacy data |
DE102016002897A1 (de) * | 2015-04-28 | 2016-11-03 | Giesecke & Devrient Gmbh | Wertdokumentbearbeitungsvorrichtung mit einem Datenkommunikationssystem und Verfahren zur Verteilung von Sensordaten in einer Wertdokumentbearbeitungsvorrichtung |
US10782942B1 (en) * | 2019-09-13 | 2020-09-22 | Capital One Services, Llc | Rapid onboarding of data from diverse data sources into standardized objects with parser and unit test generation |
CN113822021B (zh) * | 2021-08-23 | 2024-03-01 | 太原市高远时代科技有限公司 | 一种实现测试用例文件格式转换的方法及系统 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5737609A (en) * | 1994-10-18 | 1998-04-07 | Marcam Corporation | Method and apparatus for testing object-oriented programming constructs |
US5630118A (en) * | 1994-11-21 | 1997-05-13 | 2000, Inc. | System and method for modifying and operating a computer system to perform date operations on date fields spanning centuries |
US5838979A (en) * | 1995-10-31 | 1998-11-17 | Peritus Software Services, Inc. | Process and tool for scalable automated data field replacement |
US5600836A (en) * | 1995-11-14 | 1997-02-04 | Turn Of The Century Solution, Inc. | System and method for processing date-dependent information which spans one or two centuries |
US5761668A (en) * | 1996-03-08 | 1998-06-02 | Adamchick; J. David | Method and apparatus for converting computer software and databases for the year 2000 |
US5644762A (en) * | 1996-05-14 | 1997-07-01 | Resolve 2000, Inc. | Method and apparatus for recording and reading date data having coexisting formats |
US5808889A (en) * | 1996-06-28 | 1998-09-15 | Data Integrity, Incorporated | System and method for identifying and correcting computer operations involving two digit year dates |
US5740442A (en) * | 1996-08-27 | 1998-04-14 | Hitachi Data Systems Corporation | Method and apparatus for identifying and correcting date calculation errors caused by truncated year values |
US5862380A (en) * | 1996-08-29 | 1999-01-19 | Matridigm Corporation | Test method for revised data fields in a program |
US5794048A (en) * | 1996-08-29 | 1998-08-11 | Matridigm Corporation | Method for classification of year-related data fields in a program |
US5806067A (en) * | 1996-10-21 | 1998-09-08 | Catch/21 Enterprises, Inc. | Method and apparatus for data processing with conversion of ambiguous data structures |
US5809500A (en) * | 1997-02-26 | 1998-09-15 | Century Technology Services, Inc. | System for converting programs and databases to correct year 2000 processing errors |
US5852824A (en) * | 1997-05-22 | 1998-12-22 | Brown; Roger W. | Apparatus and method for processing year-date data in computer systems |
-
1998
- 1998-07-20 US US09/119,499 patent/US6041330A/en not_active Expired - Lifetime
- 1998-07-21 JP JP2000504508A patent/JP2001511557A/ja active Pending
- 1998-07-21 EP EP98935847A patent/EP1021763A4/en not_active Withdrawn
- 1998-07-21 CN CN98807414.1A patent/CN1265207A/zh active Pending
- 1998-07-21 ID IDW20000140A patent/ID25875A/id unknown
- 1998-07-21 AU AU85017/98A patent/AU728009B2/en not_active Ceased
- 1998-07-21 KR KR1020007000787A patent/KR20010022215A/ko active IP Right Grant
- 1998-07-21 CA CA002297901A patent/CA2297901C/en not_active Expired - Fee Related
- 1998-07-21 WO PCT/US1998/015020 patent/WO1999005598A2/en active IP Right Grant
- 1998-07-24 TW TW087112137A patent/TW498201B/zh active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622528A (zh) * | 2012-04-16 | 2012-08-01 | 广东双利电缆有限公司 | 一种制造铝合金杆所需配方参数的自动生成方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
TW498201B (en) | 2002-08-11 |
EP1021763A4 (en) | 2006-12-06 |
WO1999005598A2 (en) | 1999-02-04 |
WO1999005598A3 (en) | 1999-04-29 |
AU728009B2 (en) | 2001-01-04 |
AU8501798A (en) | 1999-02-16 |
KR20010022215A (ko) | 2001-03-15 |
EP1021763A2 (en) | 2000-07-26 |
CA2297901C (en) | 2004-04-13 |
US6041330A (en) | 2000-03-21 |
JP2001511557A (ja) | 2001-08-14 |
CA2297901A1 (en) | 1999-02-04 |
ID25875A (id) | 2000-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1265207A (zh) | 生成2000年测试例的系统和方法 | |
CN1105969C (zh) | 用于计算机应用程序开发和执行的方法、系统和数据结构 | |
CN100347696C (zh) | 企业业务过程管理的方法和系统 | |
CN1145901C (zh) | 一种基于信息挖掘的智能决策支持构造方法 | |
CN1158627C (zh) | 用于字符识别的方法和装置 | |
CN1193292C (zh) | 数据处理方法与装置 | |
CN1315017A (zh) | 包含内部引用的两种版本数据表格之间的差别提取 | |
CN1650274A (zh) | 操作管理方法和操作管理服务器 | |
CN1137320A (zh) | 用于建立关系型数据库模式的语义目标模型化系统 | |
CN1773508A (zh) | 把源文档转换成目标网页文件的方法 | |
CN1684063A (zh) | 根据从属关系或文件类型控制文件的公开 | |
CN1328668A (zh) | 用于指定网络上的位置的系统和处理 | |
CN1117160A (zh) | 产生未知字母之字模的方法与系统 | |
CN1525355A (zh) | 图像处理方法与图像处理系统 | |
CN1591408A (zh) | 一种使用应用程序处理数据的方法 | |
CN1379882A (zh) | 将二维数据转换为标准形式的方法 | |
WO2006002009A2 (en) | Document management system with enhanced intelligent document recognition capabilities | |
CN1866260A (zh) | 向用户可操作设备提供程序的方法和系统 | |
CN1707468A (zh) | 处理数据的方法和设备、程序及存有可机读程序的存储介质 | |
CN1382271A (zh) | 自动测量装置,自动测量数据处理与控制装置,网络系统以及自动测量处理与控制程序的记录介质 | |
CN1776724A (zh) | 基于网络的工程制图自动评判方法 | |
CN1650327A (zh) | 可训练可扩充的自动数据-知识转换器 | |
CN1744054A (zh) | 一种自动化测试辅助系统及相应的软件自动测试方法 | |
CN1323415A (zh) | 基于部件的源代码生成器 | |
CN1324524C (zh) | 应用程序间的数据链接支持方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C01 | Deemed withdrawal of patent application (patent law 1993) | ||
WD01 | Invention patent application deemed withdrawn after publication |