CN104516737B - 用于生成测试串的方法和系统 - Google Patents

用于生成测试串的方法和系统 Download PDF

Info

Publication number
CN104516737B
CN104516737B CN201410472028.5A CN201410472028A CN104516737B CN 104516737 B CN104516737 B CN 104516737B CN 201410472028 A CN201410472028 A CN 201410472028A CN 104516737 B CN104516737 B CN 104516737B
Authority
CN
China
Prior art keywords
field
test string
test
user
string
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
CN201410472028.5A
Other languages
English (en)
Other versions
CN104516737A (zh
Inventor
比彻特律子
S·布德罗
R·H·伯恩斯
S·拉什德
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.)
Core Usa Second LLC
GlobalFoundries Inc
Original Assignee
GlobalFoundries Inc
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 GlobalFoundries Inc filed Critical GlobalFoundries Inc
Publication of CN104516737A publication Critical patent/CN104516737A/zh
Application granted granted Critical
Publication of CN104516737B publication Critical patent/CN104516737B/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/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Debugging And Monitoring (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明的实施例提供了一种用于生成测试串的方法和系统。该方法包括标识与在用户接口中定义的至少一个字段关联的元数据。处理与在用户接口中定义的字段关联的元数据以标识在用户接口中定义的字段的至少一个特性。基于该特性,生成测试串以用作向在用户接口中定义的字段中的输入来对该字段执行验证。

Description

用于生成测试串的方法和系统
技术领域
这里描述的布置涉及计算机软件的验证。
背景技术
在写计算机程序时,这样的软件通常在被称为验证的过程中经受许多测试以保证程序如希望的那样执行。在计算机程序未通过验证的情况下,通常向负责的计算机程序员呈现验证结果以帮助程序员标识缺陷或者错误在计算机程序上存在于何处。这样的反馈是用于帮助程序员标识需要修正或者改变的程序代码部分的有用工具。
发明内容
在本说明书内公开的一个或者多个布置涉及计算机软件的验证并且更具体地涉及生成将用来验证用户接口的字段的测试串。
一种方法,包括标识与在用户接口中定义的至少一个字段关联的元数据并且处理与在用户接口中定义的字段关联的元数据以标识在用户接口中定义的该字段的至少一个特性。至少基于该至少一个特性,使用处理器生成测试串用于用作向在用户接口中定义的字段中的输入以对该字段执行验证。
一种系统,包括被编程为启动可执行操作的处理器。可执行操作包括标识与在用户接口中定义的至少一个字段关联的元数据并且处理与在用户接口中定义的字段关联的元数据以标识在用户接口中定义的该字段的至少一个特性。至少基于至少一个特性,生成测试串用于用作向在用户接口中定义的字段中的输入以对该字段执行验证。
一种计算机程序产品,包括计算机可读存储介质,该计算机可读存储介质具有存储于其上的程序代码。程序代码可由处理器执行以执行一种方法。该方法包括由处理器标识与在用户接口中定义的至少一个字段关联的元数据并且由处理器处理与在用户接口中定义的字段关联的元数据以标识在用户接口中定义的该字段的至少一个特性。至少基于至少一个特性,由处理器生成测试串用于用作向在用户接口中定义的字段中的输入以对该字段执行验证。
附图说明
图1描绘了根据在本说明书内公开的布置的用户接口的视图。
图2是图示根据在本说明书内公开的布置来生成测试串的方法的流程图。
图3是图示根据在本说明书内公开的布置的处理系统的示例的框图。
具体实施方式
所属技术领域的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在任何一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可用的程序代码。可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质、计算机可读存储介质或者其组合。
如这里定义的那样,术语“计算机可读存储介质”意味着包含或者存储用于由或者结合指令执行系统、装置或者设备使用的程序代码的存储介质。如这里定义的那样,术语“计算机可读存储介质”本身不是瞬态传播信号。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置、器件或者任意以上的组合。计算机可读存储介质的更具体的示例(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘驱动(HDD)、固态驱动(SSD)、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的计算机代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、射频(RF)等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来书写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如JavaTM、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明示例实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令提供实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
为了图示简化和清楚,在各图中示出的单元未必按比例绘制。例如,单元中的一些单元的尺度可以相对于其它单元有所夸大以求清楚。另外,在视为适合时,在各图之中重复标号以指示对应、类似或者相似特征。
这里描述的布置涉及计算机软件的验证并且更具体地涉及生成将用来验证用户接口的字段的测试串。可以标识和处理与在用户接口中定义的至少一个字段关联的元数据以标识该字段的至少一个特性。至少基于该特性和/或用户提供的一个或者多个特性,生成测试串以用作向字段中的输入来对该字段执行验证。测试串可以由测试串生成应用生成,该测试串生成应用具有它自己的、在正被验证的用户接口之上或者附近呈现的用户接口。
有利地,本布置通过自动生成用于对用户接口的验证的测试串来为执行验证的那些人或物节省大量时间。另外,可以针对指定的地点以希望的书写语言来生成测试串。因此,用户无需精通该语言以便使用该语言来执行验证。
现在将呈现贯穿本文献适用的若干附加定义。
如这里定义的那样,术语“测试串”指书写语言的一个或者多个字符的组。字符可以包括与书写语言对应的文字数字字符、记号(symbol)、标点等。
如这里定义的那样,术语“书写语言”指在书写时代表一群人之中讲述的语言的符号(notation),包括单词、字母、数字、字形、标点等。在示例说明中,英语、西班牙语、葡萄牙语、德语、意大利语、日语等是书写语言。如这里定义的那样,计算机编程语言(例如,Fortran、Pascal、Basic、C、C++、Javascript等)不是书写语言。
图1描绘根据在本说明书内公开的一个布置的用户接口100的视图。用户接口100可以包括被配置为将用户输入作为字符串接收的一个或者多个字段104、106、108。元数据114、116、118可以与字段104-108关联。在示例说明中,对于特定字段104、元数据114可以指示字段名称(例如,字段标签)、适合用于向字段104中录入的字符串的最大和/或最小长度、适合用于向字段104中录入的字符串的格式、适合用于向字段104中录入的数据类型等。相似地,元数据116、118可以指示用于相应字段106、108的相似信息。
在用户接口100正被验证时,可以呈现测试串生成应用122(下文为“应用”)的视图120以促进对用户接口100的验证。在一个布置中,可以在显示器上的、在其中呈现字段104的窗口102之上呈现的窗口124中呈现视图120。在一个方面,可以呈现窗口124以免覆盖字段104。在其它布置中,可以在显示器上的别处或者在另一显示器上呈现视图120。实际上,用户可以将窗口124移向任何希望的位置。视图120可以在用户选择特定字段104-108时被呈现或者以别的方式提供输入,该输入指示用户选择起动应用122。
应用122可以生成一个或者多个测试串、例如测试串130,用户可以通过向字段104-108中录入生成的测试串来使用该一个或者多个测试串验证用户接口100。在示例说明中,用户可以选择字段104以执行对字段104的验证。在选择了字段104时,应用122可以读取与字段104关联的元数据114并且向视图120中的一个或者多个字段中填充元数据114提供的信息。例如,视图120可以包括字段140,该字段呈现用于所选择的字段104的元数据114。元数据114提供的信息可以由应用122处理以生成用于字段104的测试串130。相似地,元数据116、118提供的信息可以由应用122处理以生成用于相应字段106、108的测试串。
在示例说明中,用户可以选择在视图120中呈现的元素132、诸如可选择图标、按钮等以启动测试串130的生成,用户可以使用该测试串作为向字段104中的输入以对该字段104执行验证。在一个方面,测试串130可以包括用于以其生成测试串130的语言的一个或者多个字符,其中已知字符在处理包括这些字符的输入串时有问题。例如,在英语中,数据库有时未恰当处理单引号(即“’”)。因而,可以生成测试串130以包括单引号,该单引号可以促进对可能在处理包括单引号的测试串130时出现的错误的识别。在一个布置中,如果测试串130的字符长度充分长,则可以在测试串130中包括已知的在该对象语言中有问题的每个字符。在另一布置中,生成的第一测试串130可以包括一个或者多个问题字符,并且生成的后续测试串130可以包括其它问题字符。
在一个布置中,在选择了元素132以生成测试串130时,可以向字段104中自动录入测试串130。在另一布置中,在选择了元素132以生成测试串130时,可以在弹出窗(未示出)中呈现、向剪贴板(未示出)等存储测试串130。从弹出窗、剪贴板或者另一适当数据结构,用户可以向字段104中复制测试串130。在一个布置中,在已经生成了测试串130时,应用122可以呈现视图180、诸如消息窗口,向用户指示已经生成了测试串130并且向用户指令如何向字段104中粘贴测试串130。用户可以遵从该指令以将测试串130粘贴到字段104中。另外,视图180可以指示用来生成串的规范、例如用来生成测试串130的书写语言、测试串130可适用的地点、测试串130的字符大小和测试串130的数据类型。
无论是向字段104中自动录入测试串130还是用户向字段104中复制测试串130,都可以用生成的测试串130执行包括用户接口100的计算机软件以对字段104执行验证。这样的执行可以由用户启动或者被自动启动。举例而言,用户可以通过敲击键盘上的回车键或者通过将光标放置在字段104之外来启动计算机软件的执行。在另一示例中,用户可以在用户接口100的其它字段已经被填充数据之后启动这样的执行。
继续前例,根据元数据114,可以自动填充视图120的某些字段。例如,可以向字符长度字段150和数据类型字段152自动填充元数据114中所包含的参数。然而,用户可以改变或者以别的方式指定这些参数。例如,用户可以使用适当用户接口设备、诸如鼠标、键盘、触屏等来指定在字段150中包含的字符长度和/或指定在字段152中包含的数据类型。用户指定的字符长度和/或数据类型可以与元数据114对应或者可以不与元数据114对应。就这一点而言,用户可以用各种特性进行实验以生成将在用户接口100的验证期间用作向字段104-108中的输入的多个测试串。
另外,用户可以选择用于在生成测试串130时使用的书写语言和地点。例如,在语言字段154中,用户可以选择书写语言,并且在地点字段156中,用户可以选择地点。书写语言可以是(包括用户接口100的)计算机软件的、位于在字段156中指定的地点中的既定用户讲述的语言。可以生成测试串130以与书写语言和/或地点对应。例如,如果选择的语言是日语并且选择的地点是日本某个省,则可以用该特定省共用的日本语生成测试串130。就这一点而言,应用122生成的测试串130可以既是语言特有的又是地点特有的。在另一示例中,如果选择的书写语言是英语并且地点是美国,则可以规定日期、货币等的格式使其成为在美国按常规方式规定了其格式的字符。例如,美元符号(“$”)可以在代表货币的字符之前被使用,并且可以规定日期的格式为月-日-年(例如,09/01/2013)。然而,如果书写语言是英语并且地点是英国,则可以规定日期、货币等的格式使其成为在英国按常规方式规定了其格式的字符。例如,英镑符号(“£”)可以在代表货币的字符之前被使用,并且可以规定日期的格式为年-月-日(例如,2013/09/01)。
在字段104接受日期的情况下,日期字段158可以用来生成将用来验证字段104的日期。取代日期字段158或者除了日期字段158之外,可以在视图120中呈现日历字段160以允许用户从日历字段160选择日期以验证字段104。
视图120也可以包括用户可选择字段162,用户可以从该用户可选择字段指示测试串130是否应当与选择的字段104的至少一个特性匹配。如果用户选择字段162以指示“否定测试”,则这可以指示测试串130不应与为字段104指定的至少一个特性匹配。例如,如果元数据114或者字段150指示特定字符长度,则在选择了字段162时,生成的测试串130可以具有与元数据114和/或字段150指示的字符长度不同的字符长度。因此,可以测试计算机软件以确定该计算机软件是否能够识别向字段104中录入的测试串130不恰当,并因此生成与不恰当字符长度有关的错误。在未选择字段162或者用户取消选择字段162时,生成的测试串130可以具有与元数据114和/或字段150指示的字符长度相同的字符长度。因此,可以测试计算机软件以确定该计算机软件是否能够识别向字段104中录入的测试串130具有恰当字符长度,并因此不生成与字符长度有关的错误。
除了生成可以具有或者可以不具有恰当字符长度的测试串130之外或者取代生成该测试串,可以选择字段162来生成具有不适合用于字段104的其它特性的测试串130。例如,在用户选择了字段162时,生成的测试串130可以具有与用于字段104的指定的数据类型(例如,与通过元数据114和/或用户选择为测试串指定的特性中的至少一个特性不匹配的数据类型)不兼容的数据类型。因而,字段162可以由用户选择以关于计算机软件触发错误或者以别的方式拒绝字段104中的不适当数据类型来测试字段104。在未选择字段162时,生成的测试串130可以具有与用于字段104的指定的数据类型兼容的数据类型(例如,与通过元数据114和/或用户选择为测试串指定的特性中的每个特性匹配的数据类型)。
视图120也可以包括用于验证生成的测试串130的验证元素170,诸如可选择图标、按钮等。例如,在为字段104生成测试串130的情况下,可以选择验证元素170以验证向字段104中录入的测试串130是否与生成的测试串130精确地匹配。在示例说明中,在用户选择元素132以生成测试串130时,可以向数据库保存该测试串130。在用户向字段104复制测试串130的情况下,用户可以选择元素170以确定在字段104中包含的测试串130是否与向数据库保存的测试串130精确地匹配。如果是这样,则可以向用户呈现指示成功验证的通知。如果不是,则可以向用户呈现指示验证错误的通知(即,向字段104中录入的测试串130与生成的测试串不精确地匹配)。另外,可以向用户呈现在向字段104中录入的测试串130与生成的测试串之间的差异的指示。例如,在从向用户呈现生成的测试串的字段复制测试串时,用户可能无意中未选择整个测试串。另外,用来向字段104复制测试串130的计算机的处理错误可能出现。使用验证元素170以验证测试串130可以向用户提醒这样的实例。
图2是图示根据在本说明书内公开的布置来生成测试串的方法200的流程图。在步骤205,可以标识与在用户接口中定义的至少一个字段关联的元数据。例如,可以在用户选择特定字段时标识与该字段关联的元数据。在步骤210,可以处理与在用户接口中定义的字段关联的元数据以标识在用户接口中定义的该字段的至少一个特性。可以在如下视图中向用户呈现这样的特性,该用户可以在该视图中与被配置为生成测试串的应用交互。可选地,在步骤215,可以接收定义一个或者多个附加特性和/或修改标识的特性的一个或者多个用户输入。例如,用户可以改变数据类型、字符长度、选择语言、选择地点等。在步骤220,至少基于特性(例如,从元数据标识的特性和/或用户选择的特性),使用处理器可以生成测试串以用作向在用户接口中定义的字段中的输入来对字段执行验证。
图3是图示根据在本说明书内公开的布置的处理系统300的示例的框图。处理系统300可以包括通过系统总线315或者其它适当电路耦合到存储器单元310的至少一个处理器305(例如,中央处理单元)。这样,处理系统300可以在存储器单元310内存储程序代码。处理器305可以执行经由系统总线315从存储器单元310访问的程序代码。应当认识到,可以用能够执行在本说明书内描述的功能和/或操作的、包括处理器和存储器的任何系统的形式实施处理系统300。例如,可以将处理系统300实施为计算机、工作站、移动设备(例如,移动计算机、膝上型计算机、写字板计算机、智能电话、个人数字助理等)、游戏设备、装置等。
存储器单元310可以包括一个或者多个物理存储器设备,诸如,例如本地存储器320和一个或者多个大容量存储设备325。本地存储器320指一般在实际执行程序代码期间使用的RAM或者其它非持久存储器设备。大容量存储设备325可以被实施为硬盘驱动(HDD)、固态驱动(SSD)或者其它持久数据存储设备。处理系统300也可以包括一个或者多个高速缓存存储器(未示出),该一个或者多个高速缓存存储器提供至少一些程序代码的暂时存储以便减少在执行期间必须从大容量存储设备325取回程序代码的次数。
输入/输出(I/O)设备、诸如显示器330、指示设备335和键盘340可以耦合到处理系统300。I/O设备可以直接或者通过居间I/O控制器耦合到处理系统300。例如,显示器330可以经由图形处理单元(GPU)耦合到处理系统300,该GPU可以是处理器305的部件或者是分立器件。一个或者多个网络适配器345也可以耦合到处理系统300以使处理系统300能够变成耦合到通过居间专有或者公共网络耦合到其它系统、计算机系统、远程打印机和/或远程存储设备。调制解调器、线缆调制解调器、收发器和以太网卡是可以与处理系统300一起使用的不同类型的网络适配器345的示例。
如在图3中描绘的那样,存储器单元310可以存储在图1中描述的部件,即在测试之下(例如,正被验证)的用户接口100和测试串生成应用122。另外,存储器单元310可以存储用户接口100与之关联的应用350。在以可执行程序代码的形式实施时,这些部件可以由处理系统300执行以执行这里描述的过程并且这样可以被视为处理系统300的一部分。另外,用户接口100、应用350和测试串生成应用122是在作为图3的处理系统300的一部分而运用时赋予功能的功能数据结构。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
这里所用术语仅为了描述具体实施例而未旨在于限制本发明。如这里所用,除非上下文另有明示,单数形式“一”和“该”旨在于也包括复数形式。还将理解术语“包括”在说明书中使用时指示陈述的特征、整件、步骤、操作、单元和/或部件的存在,但是不排除存在或者添加一个或者多个其它特征、整件、步骤、操作、单元、部件和/或其组合。
贯穿本说明书对“一个实施例”、“一实施例”或者相似语言的引用意味着结合该实施例描述的特定特征、结构或者特点被包含在本说明书内公开的至少一个实施例中。因此,贯穿本说明书的短语“在一个实施例中”、“在一实施例中”或者相似语言的出现可以但是未必都指相同实施例。
术语“多个”如这里所用被定义为两个或者多于两个。术语“另一个”如这里所用被定义为至少第二或者更多。除非另有指示,术语“耦合”如这里所用被定义为连接,不管是无任何居间单元的直接连接还是存在一个或者多个居间单元的间接连接,除非另有指明。也可以通过通信信道、途径、网络或者系统机械地、电耦合地或者通信地链接两个单元。术语“和/或”如这里所用是指并且涵盖关联列举的项目中的一个或者多个项目的任何和所有可能组合。也将理解,虽然术语第一、第二等在这里可以用来描述各种单元,但是这些单元不应受这些术语限制,因为除非另有陈述或者上下文另有指示,这些术语仅用来区分一个单元与另一单元。
根据上下文,术语“如果”可以被解释为意味着“在……时”或者“响应于确定”或者“响应于检测到”。相似地,根据上下文,短语“如果确定”或者“如果检测到[陈述的条件或者事件]”可以被解释为意味着“在确定……时”或者“响应于确定”或者“在检测到[陈述的条件或者事件]时”或者“响应于检测到[陈述的条件或者事件]”。
所附权利要求中的所有装置或者步骤加上功能要素的对应结构、材料、动作和等效物旨在于包括用于与具体要求保护的其它权利要求要素组合执行功能的任何结构、材料或者动作。已经出于示例和描述的目的而呈现了在本说明书内公开的实施例的描述,但是该描述不旨在于穷举或者限于公开的形式。许多修改和变化将为本领域普通技术人员所清楚而不脱离本发明的实施例的范围和精神实质。选择和描述实施例以便最好地说明本发明的原理和实际应用,并且使本领域其他普通技术人员能够关于具有与设想的特定使用相配的各种修改的各种实施例理解本发明的布置。

Claims (20)

1.一种用于生成测试串的系统,包括:
被编程为启动可执行操作的处理器,所述可执行操作包括:
标识与在用户接口中定义的至少一个字段关联的元数据;以及
处理与在所述用户接口中定义的所述字段关联的所述元数据以标识在所述用户接口中定义的所述字段的至少一个特性;并且
至少基于所述至少一个特性生成测试串以用作向在所述用户接口中定义的所述字段中的输入来对所述字段执行验证。
2.根据权利要求1所述的系统,所述可执行操作还包括:
从用户接收所述测试串是否应当与所述至少一个特性匹配的指示;
其中生成所述测试串以用作向所述字段中的输入包括:响应于所述指示指出所述测试串不应当与所述至少一个特性匹配而生成所述测试串以不与所述至少一个特性匹配。
3.根据权利要求1所述的系统,所述可执行操作还包括:
从用户接收所述测试串是否应当与所述至少一个特性匹配的指示;
其中生成所述测试串以用作向所述字段中的输入包括:响应于所述指示指出所述测试串应当与所述至少一个特性匹配而生成所述测试串以与所述至少一个特性匹配。
4.根据权利要求1所述的系统,所述可执行操作还包括:
从用户接收书写语言的指示;
其中生成所述测试串以用作向所述字段中的输入包括生成所述测试串以包括所述书写语言的字符。
5.根据权利要求1所述的系统,所述可执行操作还包括:
从用户接收地点的指示;
其中生成所述测试串以用作向所述字段中的输入包括生成所述测试串以包括按照如下方式被规定格式的字符:以所述地点中常用的书写语言按常规对所述字符规定格式。
6.根据权利要求1所述的系统,所述可执行操作还包括:
从用户接收字符长度的指示;
其中生成所述测试串以用作向所述字段中的输入包括生成所述测试串以包括与所述字符长度对应的多个字符。
7.根据权利要求1所述的系统,所述可执行操作还包括:
从用户接收用于所述测试串的数据类型的指示;
其中生成所述测试串以用作向所述字段中的输入包括根据所述数据类型来规定所述测试串的格式。
8.根据权利要求1所述的系统,所述可执行操作还包括:
检测用户已经向在所述用户接口中定义的所述字段中复制所述测试串的至少一部分;
将所述用户向在所述用户接口中定义的所述字段中复制的所述测试串的所述部分与生成的所述测试串进行比较;并且
响应于确定所述用户向在所述用户接口中定义的所述字段中复制的所述测试串的所述部分不与生成的所述测试串精确地匹配,而向所述用户呈现验证错误的通知。
9.根据权利要求1所述的系统,其中在所述用户接口中定义的所述字段的所述至少一个特性包括从由字符长度和数据类型构成的组选择的至少一个参数。
10.根据权利要求1所述的系统,其中生成所述测试串以用作向在所述用户接口中定义的所述字段中的所述输入来对所述字段执行验证包括:
生成所述测试串以包括用于语言的至少一个字符,所述测试串是以所述语言生成的,其中已知所述字符在包括所述字符的输入串被处理时有问题。
11.一种用于生成测试串的方法,包括:
标识与在用户接口中定义的至少一个字段关联的元数据;以及
处理与在所述用户接口中定义的所述字段关联的所述元数据以标识在所述用户接口中定义的所述字段的至少一个特性;并且
至少基于所述至少一个特性,使用处理器来生成测试串以用作向在所述用户接口中定义的所述字段中的输入来对所述字段执行验证。
12.根据权利要求11所述的方法,还包括:
从用户接收所述测试串是否应当与所述至少一个特性匹配的指示;
其中生成所述测试串以用作向所述字段中的输入包括:响应于所述指示指出所述测试串不应当与所述至少一个特性匹配而生成所述测试串以不与所述至少一个特性匹配。
13.根据权利要求11所述的方法,还包括:
从用户接收所述测试串是否应当与所述至少一个特性匹配的指示;
其中生成所述测试串以用作向所述字段中的输入包括:响应于所述指示指出所述测试串应当与所述至少一个特性匹配而生成所述测试串以与所述至少一个特性匹配。
14.根据权利要求11所述的方法,还包括:
从用户接收书写语言的指示;
其中生成所述测试串以用作向所述字段中的输入包括生成所述测试串以包括所述书写语言的字符。
15.根据权利要求11所述的方法,还包括:
从用户接收地点的指示;
其中生成所述测试串以用作向所述字段中的输入包括生成所述测试串以包括按照如下方式被规定格式的字符:以所述地点中常用的书写语言按常规对所述字符规定格式。
16.根据权利要求11所述的方法,还包括:
从用户接收字符长度的指示;
其中生成所述测试串以用作向所述字段中的输入包括生成所述测试串以包括与所述字符长度对应的多个字符。
17.根据权利要求11所述的方法,还包括:
从用户接收用于所述测试串的数据类型的指示;
其中生成所述测试串以用作向所述字段中的输入包括根据所述数据类型来规定所述测试串的格式。
18.根据权利要求11所述的方法,还包括:
检测用户已经向在所述用户接口中定义的所述字段中复制所述测试串的至少一部分;
将所述用户向在所述用户接口中定义的所述字段中复制的所述测试串的所述部分与生成的所述测试串进行比较;以及
响应于确定所述用户向在所述用户接口中定义的所述字段中复制的所述测试串的所述部分不与生成的所述测试串精确地匹配,向所述用户呈现验证错误的通知。
19.根据权利要求11所述的方法,其中在所述用户接口中定义的所述字段的所述至少一个特性包括从由字符长度和数据类型构成的组选择的至少一个参数。
20.根据权利要求11所述的方法,其中生成所述测试串以用作向在所述用户接口中定义的所述字段中的所述输入来对所述字段执行验证包括:
生成所述测试串以包括用于语言的至少一个字符,所述测试串是以所述语言生成的,其中已知所述字符在包括所述字符的输入串被处理时有问题。
CN201410472028.5A 2013-09-30 2014-09-16 用于生成测试串的方法和系统 Expired - Fee Related CN104516737B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/042,083 2013-09-30
US14/042,083 US9292624B2 (en) 2013-09-30 2013-09-30 String generation tool

Publications (2)

Publication Number Publication Date
CN104516737A CN104516737A (zh) 2015-04-15
CN104516737B true CN104516737B (zh) 2018-02-02

Family

ID=52741182

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410472028.5A Expired - Fee Related CN104516737B (zh) 2013-09-30 2014-09-16 用于生成测试串的方法和系统

Country Status (2)

Country Link
US (2) US9292624B2 (zh)
CN (1) CN104516737B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2901703C (en) * 2014-06-06 2016-07-05 Maud Gagne-Langevin System and method for generating task-embedded documents
GB201608576D0 (en) * 2016-05-16 2016-06-29 Pro Intex It Ltd Functional behaviour test system and method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101714119A (zh) * 2009-12-09 2010-05-26 北京邮电大学 基于二进制程序的测试数据生成器和方法
CN102243608A (zh) * 2010-05-13 2011-11-16 方兴 基于全局数据结构描述的软件安全测试方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7272822B1 (en) 2002-09-17 2007-09-18 Cisco Technology, Inc. Automatically generating software tests based on metadata
US20050203935A1 (en) 2004-03-11 2005-09-15 International Business Machines Corporation Clipboard content and document metadata collection
US7752501B2 (en) * 2006-07-27 2010-07-06 International Business Machines Corporation Dynamic generation and implementation of globalization verification testing for user interface controls
US7624353B2 (en) 2006-09-29 2009-11-24 Accenture Global Services Gmbh Computer-implemented clipboard
US7895576B2 (en) * 2006-11-10 2011-02-22 International Business Machines Corporation Method for automating internationalization software testing
US8387024B2 (en) 2007-04-18 2013-02-26 Xerox Corporation Multilingual software testing tool
US7698688B2 (en) * 2008-03-28 2010-04-13 International Business Machines Corporation Method for automating an internationalization test in a multilingual web application
US8311800B1 (en) * 2010-04-01 2012-11-13 Symantec Corporation Systems and methods for detecting incorrect translations of terms in a computing string
US8875103B2 (en) 2010-05-12 2014-10-28 Ca, Inc. Method of testing multiple language versions of a software system using one test script
US8984340B2 (en) * 2012-01-31 2015-03-17 Bank Of America Corporation System and method for test case generation using action keywords
US9734214B2 (en) * 2012-06-28 2017-08-15 Entit Software Llc Metadata-based test data generation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101714119A (zh) * 2009-12-09 2010-05-26 北京邮电大学 基于二进制程序的测试数据生成器和方法
CN102243608A (zh) * 2010-05-13 2011-11-16 方兴 基于全局数据结构描述的软件安全测试方法

Also Published As

Publication number Publication date
US20150095373A1 (en) 2015-04-02
US9292624B2 (en) 2016-03-22
CN104516737A (zh) 2015-04-15
US20150095716A1 (en) 2015-04-02
US9305117B2 (en) 2016-04-05

Similar Documents

Publication Publication Date Title
US11769111B2 (en) Probabilistic language models for identifying sequential reading order of discontinuous text segments
US9135151B2 (en) Automatic verification by comparing user interface images
CN104603772B (zh) 移动电子设备及移动电子设备中的方法和系统
CN106663093A (zh) 用于为机器翻译自动地交换语言和/或内容的技术
US20150234734A1 (en) System and method to implement an electronic document based automated testing of a software application
CN107436762A (zh) 一种寄存器代码文件生成方法、装置和电子设备
US9558089B2 (en) Testing insecure computing environments using random data sets generated from characterizations of real data sets
JP5969697B2 (ja) 検索クエリキーワードを使用した、アプリケーションインターフェースの完成
CN102959538B (zh) 给文档编索引
CN109460663A (zh) 一种智能合约审计方法、装置及其存储介质
CN108780542A (zh) 作业支持系统、管理服务器、便携式终端、作业支持方法以及程序
CN105630763A (zh) 用于提及检测中的消歧的方法和系统
CN104008093A (zh) 用于中文姓名音译的方法和系统
US9652360B2 (en) Crawling for extracting a model of a GUI-based application
US10289798B1 (en) System, method, and computer program product for property clustering associated with formal verification of an electronic circuit design
US8595680B1 (en) Constrained random error injection for functional verification
CN111931488A (zh) 用于验证判断结果准确性的方法、装置、电子设备及介质
CN104516737B (zh) 用于生成测试串的方法和系统
CN108733557A (zh) 一种测试点生成方法及装置
CN112989789B (zh) 文本审核模型的测试方法、装置、计算机设备及存储介质
US10747794B2 (en) Smart search for annotations and inking
CN104268244B (zh) 处理表单的方法及装置
CN116245076A (zh) Drc测试版图库的自动构造方法及drc方法、系统、可读存储介质
CN110209572A (zh) 用户界面测试方法、用户界面测试系统及终端
US20230004924A1 (en) Computerized systems and methods for electronic document preparation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20171123

Address after: Grand Cayman, Cayman Islands

Applicant after: GLOBALFOUNDRIES INC.

Address before: American New York

Applicant before: Core USA second LLC

Effective date of registration: 20171123

Address after: American New York

Applicant after: Core USA second LLC

Address before: New York grams of Armand

Applicant before: International Business Machines Corp.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180202

Termination date: 20190916

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