软件测试的方法及系统技术方案

技术编号:20944196 阅读:29 留言:0更新日期:2019-04-24 02:16
本发明专利技术描述了一种改进的软件测试系统。在各种实施实例中,改进的软件测试系统接收标识要测试的软件应用程序的逻辑的一组关键字,将该组关键字中的每个关键字与执行要测试的软件应用程序的功能的测试组件相关联;导出要测试的软件应用程序的行为模型,并基于关键字和派生模型测试软件应用程序。

The Method and System of Software Testing

The invention describes an improved software testing system. In various implementations, the improved software testing system receives a set of keywords identifying the logic of the software application to be tested, associates each keyword in the set of keywords with the test components that perform the functions of the software application to be tested, derives the behavior model of the software application to be tested, and tests the software application based on keywords and derived models. \u3002

【技术实现步骤摘要】
软件测试的方法及系统
:在各种实现中,当软件测试器指定关键字并使用状态引擎模型来自动化软件测试时,改进的软件测试系统生成状态引擎模型。指定的关键字存储在关键字词汇表中。例如,指定的关键字可以存储在可扩展标记语言(XML)文档中。词汇表可以包含关键字和参数或有效输入的其他规范,例如与每个关键字相关联的先前或下一状态。词汇表还可以包含各种参数的默认值。然后,软件测试人员可以将一个或多个关键字与测试脚本相关联,以后可以选择该测试脚本来自动化测试改进的软件测试系统可以从软件测试器接收测试组件。作为示例,改进的软件测试系统可以提供向导界面,该界面使软件测试人员能够将关键字与测试组件相关联。当测试脚本引用关键字时,可以执行改进的软件测试系统。技术背景大型软件开发项目可以具有多个阶段,包括规划,开发和测试。各种软件开发方法包括多次重复这些阶段中的一些或全部,例如在大型或复杂的软件开发项目中。专业软件开发团队通常聘请测试人员在将软件发布给客户之前对其进行测试。测试人员可以测试软件以确保正确性,完整性,安全性和质量。当测试软件不符合测试人员的期望时,测试人员可能会识别出软件缺陷(“bug”)。测试者可以提供一系列步骤,以便软件开发者可以再现缺陷。然后,软件开发者可以解决该缺陷,例如通过修复源代码并生成软件的新“构建”。在本领域中众所周知,修复错误有时会引入其他错误。因此,测试人员经常进行回归测试,这可能涉及遵循先前确定为产生缺陷的步骤。存在各种软件测试技术。这些技术通常可分为手动测试和自动测试。手动测试需要人员执行大多数测试步骤。作为示例,人可以通过遵循详细描述潜在用户与软件的交互的各种场景或者通过采取诸如随机的各种步骤来识别缺陷来测试软件。在执行自动化测试时,软件测试人员使用测试自动化工具自动使测试软件采取各种步骤。例如,测试自动化工具可以记录测试人员与软件的交互作为步骤,然后回放步骤。一些测试自动化工具采用以编程方式与测试软件交互的框架,例如通过使用由测试软件提供的应用程序接口(API)。除了记录和重放步骤之外的自动测试技术可以进一步分为基于关键字的测试和基于模型的测试。在基于关键字的测试中,每个与测试软件的离散交互都会分配一个关键字,并且可以包含相关参数。作为示例,登录过程可以与关键字“登录”相关联,并且具有用户标识符和密码作为关联参数。为了自动测试软件,软件测试者可以指定一个或多个关键字,例如按顺序,以便测试自动化工具执行与每个指定关键字有关的步骤。在基于模型的测试中,软件测试器指定(或导致指定)测试软件的状态引擎模型。状态引擎模型可以识别与测试软件和交互相关的一组状态,这些状态使得测试软件从一种状态移动到另一种状态。然后,软件测试人员可以指定一个测试套件,用于将测试软件从通过或移动到各种软件。
技术实现思路
关联组件并提供与引用的关键字对应的词汇表中标识的参数。测试组件可以是在脚本语言或目标代码中指定的可执行逻辑。测试组件可以与要测试的软件交互,例如通过测试应用程序或框架。测试应用程序或框架可以通过由测试软件提供的API,由底层操作系统提供的API等与测试软件交互。改进的软件测试系统可以采用一个或多个角色。角色表示要执行的一个或多个测试脚本以及相关的权重。作为示例,角色可以指示一个测试脚本将在75%的时间执行而另一个测试脚本将在25%的时间执行。当软件测试人员开始自动测试并选择此角色时,改进的软件测试系统可以以指定的比例使用测试脚本。一旦改进的软件测试系统配置有关键字和测试组件,软件测试器就可以通过指定关键字来生成测试脚本,或者可以请求改进的软件测试系统自动生成测试脚本。改进的软件测试系统可以通过使测试的软件移动通过由生成的状态引擎模型识别的各种状态来自动生成测试脚本。因此,改进的软件测试系统可以自动生成“随机游走”测试和基于人的或加权路径测试。改进的软件测试系统还可以在手动指定测试脚本期间启用语法检查,转换检查和参数的自动生成。当软件开发者指定一系列关键字时,改进的软件测试系统可以验证软件开发者是否提供了适当的,语法上正确的参数。如果软件开发人员未指定语法正确的参数,则改进的软件测试系统可以警告软件测试人员或进行适当的更正。改进的软件测试系统可以验证测试脚本是否经过适当设计,以使测试软件从一种状态转换到另一种状态。改进的软件测试系统可以验证状态引擎模型以进行此验证。改进的软件测试系统可以通过使用术语表中指定的参数在手动指定测试脚本期间自动生成参数。参数可以是值,值范围,选项选择等。因此,改进的软件测试系统实现了有效的测试自动化,同时减轻了软件测试者的错误输入的错误。当测试脚本执行时,改进的软件测试系统可以存储步骤和步骤的结果,例如存储在日志文件中。当软件开发人员需要重现测试脚本识别的缺陷时,软件开发人员可以查看存储的步骤和结果,以更容易地找到导致缺陷的软件代码。改进了软件测试系统包括测试平台组件,词汇表组件,关键字引擎组件,测试脚本组件,应用组件和角色组件。具体实施方式测试平台组件可以包括测试应用程序和便于测试软件的其他组件。测试应用程序可以是测试平台的一部分,例如协调改进的软件测试系统的其他组件的应用程序。测试应用程序可以使用词汇表组件和测试脚本组件来执行测试脚本。测试平台组件还可以自动生成测试脚本,例如基于状态引擎模型。词汇表组件可以是与要测试的软件相关联的文档,文件或其他信息库。词汇表可以包括关键字和运行时状态。关键字是改进的软件测试系统在执行测试脚本时可以执行的命令或命令集。运行时状态是要测试的软件的状态。运行时状态可以包括与关键字相关的开始状态和结束状态。术语表还可以包括参数(例如,与测试软件的命令相关联的值),参数默认值,权重等。权重可以指定相应关键字的使用频率,例如通过测试脚本。当词汇表指示特定关键字需要参数时,测试应用程序可以向软件测试者提示值或者可以生成参数的值。关键字引擎组件可以使用来自词汇表的关键字并识别软件开发者已经提供的与关键字相对应的测试组件。测试组件可以使测试软件调用命令,例如通过使用由测试软件或操作系统提供的API。一个或多个测试脚本可以识别步骤序列,例如通过从词汇表中识别关键字。可以手动或自动创建测试脚本。例如,软件测试人员可以通过指定一个或多个关键字来创建测试脚本。或者,测试应用程序可以自动创建测试脚本。应用程序组件是要测试的软件应用程序。改进的软件测试系统可以测试各种应用程序。改进的软件测试系统可以与一个或多个角色组件一起工作。角色可以识别测试类型,持续时间,要执行的测试脚本,测试脚本的权重等。改进的软件测试系统在其上运行的计算设备可以包括一个或多个中央处理单元,存储器,输入设备(例如,键盘和指示设备),输出设备(例如,显示设备),存储设备(例如,磁盘驱动器)和网络设备(例如,网络接口)。存储器和存储设备是计算机可读介质,其可以存储实现改进的软件测试系统的指令。此外,数据结构和消息结构可以通过数据传输介质存储或传输,例如通信链路上的信号。可以采用各种通信链路,例如因特网,局域网,广域网或点对点拨号连接。改进的软件测试系统可以使用各种计算系统或设备,包括个人计算机,服务器计算机,手持或膝上型设备,多处理器系统,基于微处理器的系统,可编程消费电子产品,电子游戏本文档来自技高网
...

【技术保护点】
1.一种用于测试软件的系统,包括:待测试的软件应用程序;包含关键字和规范的词汇表要测试的软件的第一和第二状态;包含对关键字的引用的测试脚本;和一个检索测试脚本的测试平台,识别一个测试脚本引用的关键字,并执行导致软件应用程序移动的步骤第一个州到第二个州。

【技术特征摘要】
1.一种用于测试软件的系统,包括:待测试的软件应用程序;包含关键字和规范的词汇表要测试的软件的第一和第二状态;包含对关键字的引用的测试脚本;和一个检索测试脚本的测试平台,识别一个测试脚本引用的关键字,并执行导致软件应用程序移动的步骤第一个州到第二个州。2.如权利要求1所述的系统,其特征在于还包括识别对所述测试脚本执行频率的指示的角色。3.如权利要求1所述的系统,还包括关键字引擎,其将关键字与测试组件相...

【专利技术属性】
技术研发人员:王彪任燕
申请(专利权)人:南昌弘为企业管理有限公司
类型:发明
国别省市:江西,36

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1