软件测试方法及装置的制作方法

文档序号:6458016阅读:538来源:国知局
专利名称:软件测试方法及装置的制作方法
技术领域
本发明涉及计算机软件测试领域,特别是一种软件测试方法及装置。
技术背景现有的软件测试技术,已经能够实现自动化测试代替人工测试,以提高 软件测试的工作效率。近年来,软件自动化测试的研究与应用是软件测试领 域所关注的热点,发展较快,并出现多种解决实现方案。美国的Mercury 7>司出品的软件自动化测试工具QuickTestProfessional (QTP)专门针对软件的功能测试及回归测试自动化而设计,适用于浏览器/ 服务器(B/S)模式、客户端/服务器(C/S)模式、字符终端等多种软件应用 程序的测试。QTP能够以关键字和专家视图构建测试环境,以满足不同测试 场合的需要。美国IBM公司出品的软件测试工具Rational Robot可以测试各种使用集 成开发环境(IDE)和语言开发的应用软件进行自动测试,包括创建、修改并 执行自动化功能测试、分布式功能测试、回归测试和集成测试。该工具实现 对应用软件测试的功能主要采用类C语言脚本录制、回放构建对应用软件进 行测试。而在开源的软件测试工具中,Selenium是影响最大,应用最为广泛的一 种软件测试工具,专门针对Web语言,适用于对应用软件进行功能测试和-验 收测试。以上所述三种软件测试工具功能强大,并且能够实现可编程测试,可以 根据用户对被测软件的具体需求,满足大多数软件自动化测试需要。但是, 在针对具体的软件进行测试的过程中,依然存在以下问题首先,测试工具的操作及使用繁杂,其中所包括的很多高级功能需要经 ^r丰富的编程技术人员才能够掌握,而同时为了编写测试需求与测试案例, 又需要测试人员熟悉被测应用软件所属的业务领域,因此对测试人员要求很 高,这在一定程度上提高了进行软件测试的成本;其次,在一件软件测试工作中,需要预先编写被测软件的测试脚本。一 个大型的软件项目通常至少包括上百个功能测试点,将会组合为成百上千个测试案例。并且测试脚本内容繁瑣,结构复杂,因此编写测试脚本工作量十 分巨大,导致软件测试工作的准备期时间较长。最后,在测试脚本编写完成之后,还需要对测试脚本进行纟务改、调试等 工作。当被测软件的界面、功能或数据发生变化后,均需要对测试脚本进行 相应的调整,但如果在编定测试脚本时没有预先对整体的结构进行设计,则 若对该测试脚本进行调整将会是实现难度极大的一项工作。 发明内容本发明实施例提供一种软件测试方法及装置,以解决软件自动化测试过 程中编写测试脚本工作量大,修改所述测试脚本难于实现,并且实现测试成 本较高的问题。为解决上述问题,本发明实施例提供一种软件测试方法,包括步骤 根据测试案例调用测试模型;根据所述被调用的测试模型选择所述测试模型中所包括的测试积木; 组合所述测试积木成为可才丸行测试脚本文件;调用测试数据以及公共函数,执行所述可执行测试脚本文件,完成测试 任务。优选地,所述方法还包括预置用于进行软件测试的测试数据项。优选地,根据测试案例调用相应的测试模型之后,所述方法还包括步骤 在所述测试模型上设置检测点;在执行测试过程中,获取所述检测点的测试数据,并与标准数据进行比 较验证。优选地,完成测试任务后,所述方法还包括 收集测试结果,并根据所述测试结果生成测试报告。 相应地,本发明实施例还提供一种软件测试装置,包括 测试^t型调用单元,用于才艮据测试案例调用测试才莫型; 测试积木选择单元,用于根据所述被调用的测试模型选择所述测试模型 中所包括的测试积木;组合单元,用于组合所述测试积木成为可执行测试脚本文件; 测试数据及函数调用单元,用于调用测试数据以及公共函数;测试执行单元,用于根据所述测试数据及公共函数,执行所述可执行脚 本文件,完成测试任务。优选地,所述装置还包括预置单元,用于预置进行软件测试的测试数据项。 优选地,所述装置还包括检测点设置单元,用于在在所述测试模型上设置检测点;测试数据获取单元,用于在执行测试过程中,获取所述检测点的测试数据;比较验证单元,用于将所述获取到的测试数据与标准数据进行比较验证。 优选地,所述装置还包括测试结果收集单元,用于在完成测试任务后,收集测试结果; 测试报告生成单元,用于根据所述测试结果生成测试报告。 与现有技术相比,本发明实施例预设重复使用的测试脚本模块为积木模型,并根据业务需要将所述模型组成业务流程,通过调用测试数据以公共函数,从而实现对目标软件的测试,因此能够降低编写测试脚本工作量,根据需要修改测试脚本,进行软件测试的成本较低。


图1是本发明实施例方法流程图; 图2是本发明实施例装置结构图。
具体实施方式
下面结合附图及实施例对本发明作详细的说明。请参阅图1所示为本发 明实施例的方法流程图,包括步骤步骤S101:根据测试案例调用测试模型;步骤S102:根据所述被调用的测试模型选择所述测试模型中所包括的测 试积木;步骤S103:组合所述测试积木成为可执行测试脚本文件; 步骤S104:调用测试数据以及公共函数,执行所述可执行测试脚本文件, 完成测试任务。本发明实施例所提供的方法主要应用于软件自动测试领域。当前软件的 规模较之以前大规模增长,因此对于软件测试工程来说,完全进行人工测试是一件既耗费时间,又浪费人力的工作,同时由于人为操作因素,在测试过 程中存在潜在错误,这对测试结果可能会产生不可预计的严重影响。因此, 在目前的软件测试工程中,越来越多应用到自动化测试软件。应用自动化测 试软件对目标软件进行测试,提高了软件测试效率,避免人为失误。但是,应用自动化测试软件的过程中,同样存在以下问题软件测试人员缺乏目标测试软件的业务经验,因此对于测试特定的目标 业务软件来说,很难保证自动化测试的顺利开展。同时,对于一种自动化测 试软件来说,不可能只是专用于某一种特定的目标测试软件,而是应具有通 用性,能够对大部分的目标测试软件进行测试。而目前的自动化测试软件在 对不同的目标测试软件进行测试的过程中,需要软件测试人员预先编写相应 的测试脚本,所述自动化测试软件执行测试脚本,对所述目标测试软件进行 测试。但是对于特定行业的业务软件来说,软件测试人员并不可能熟悉该行 业的业务流程,因此并不可能编写相应的测试脚本。以金融业务软件为例, 在金融业务软件中会涉及到不同的时间概念,"营业日"与"日期"的概念具 有本质的区别,在营业日中,可能只是能够执行特定种类业务的操作;另夕卜, 在金融业务领域中,还会涉及到不同的执行权限,只有具有正确的执行权限, 才可以执行特定业务。根据这种情况,软件测试人员就必须熟悉金融业务规 则,根据特定的金融业务需求编写相应的测试脚本。而这种既精通软件测试 技术,又熟悉金融业务的技术人员并不多见。因此,根据本发明实施例所提供的方法,根据特定业务领域,针对不同 的业务流程,预先编写出对应的测试模型,并将所述测试模型存储在数据库 中。本发明的优选实施例以测试金融业务软件为例,对于金融业务软件来说, 预先编写的测试模型包括所有需要进行测试的金融业务流程,如个人存取款 业务、对公结算业务等。在所述测试模型中,包括了若干实现所述测试模型功能的测试积木,所 述测试积木即为实现所述测试才莫型相对应的业务流程的各个实现步骤,如余 额查询,对账、存款、转账等等。所述测试积木也是软件测试人员预先编写, 并存储在数据库中。本发明的第一优选实施例以测试信用卡结算软件为例。首先根据所述业 务类型,即信用卡消费,选择相对应的测试模型。所述测试模型为信用卡消费的流程,主要包括步骤在使用信用卡进行消费前,首先查询信用卡目前 的欠费额度,若欠款在可消费额度内,则可以继续消费;对信用卡进行刷卡 操作后,记录消费价格;在预定时间点,对所述消费价格进行批处理操作, 结算每一个信用卡账户的欠款总数。在上述信用卡消费测试模型中,包括有如下操作步骤查询余额、判断 欠费额度、记录消费价格以及对信用卡账户进行结算。因此根据所述测试模 型所包括的操作步骤,在数据库中选择相对应的测试积木,包括查询模块、 判断模块、记录模块以及结算模块。软件测试人员选定所述测试积木后,对所述测试积木进行组合,形成测 试脚本模板。根据所述模板,测试人员可以匹配相应的测试数据,从而形成 真正的可执行测试脚本文件,通过执行所述测试脚本文件,对所述信用卡消 费软件进行测试。对于本次测试过程来说,可以通过匹配不同的测试数据,形成不同的可 执行测试脚本文件,测试所述信用卡消息软件在不同的消费额度下的工作状 态。另外,在执行测试流程之前,还可以在测试模型上设置检测点,如在判 断欠费额度的步骤时,提取该信用卡账户的欠费值,并与所述信用卡账户的 真正欠费值进行对比,验证执行所述判断前的查询步骤是否正确。在完成测试之后,测试人员通过相应的数据收集工具收集测试结果,包 括信用卡账户结算后的最终欠款额度、判断欠款额度的检测点数据,并生成 相应的测试净艮告。在本发明的第一优选实施例中,运用本发明所提供的方法,对信用卡结 算软件进行测试,从而实现了根据信用卡的消费过程选择测试模型及相应的 测试积木,生成可执行测试脚本文件,而不需要测试人员根据特定的信用卡 消费过程编写可执行测试脚本文件,因此实现测试所述信用卡结算软件的过 程中工作量较小,测试成本较低。本发明的第二优选实施例以测试金融账户管理软件为例。首先根据应用 所述金融账户管理软件的业务类型,如修改账户资料的业务,则根据所述业 务程序,在数据库中选择预存的测试模型。所述测试模型为修改账户资料的 流程,主要包括步骤根据信用卡卡号查询所述信用卡客户信息;选择特定 的货币类型;修改所述货币类型下的账户资料;查询修改后的账户资料,并验证修改是否正确。在上述修改账户资料业务的测试模型中,包括有如下操作步骤查询信用卡客户信息、判断货币类型、修改账户资料以及验证修改后的账户资料。 因此根据所述测试模型所包括的操作步骤,在数据库中选择相对应的测试积木,包括客户层信息查询模块、货币类型判断模块、账户资料修改模块以 及验证模块。软件测试人员选定所述测试积木后,对所述测试积木进行组合,形成测 试脚本模板。根据所述生成的模板,测试人员可以假定不同的情况匹配相应 的数据,从而形成真正的可执行测试脚本文件,通过执行所述测试脚本文件, 对所述金融账户管理软件进行测试。对于本次测试,测试人员对测试脚本模板匹配了不同的目标数据,需要 将账户信息中的人民币账户的数据修改为所述目标数据。另外,在进行货币 类型判断时,提取所述信用卡所包括的货币种类,并与所述信用卡客户信息 的货币种类进行比对, -验^I所述货币种类是否正确。在完成测试之后,测试人员通过相应的数据收集工具收集测试结果,包 括信用卡账户修改后的人民币账户金额、货币种类,并生成相应的测试报告。在本发明的第二优选实施例中,运用本发明所提供的方法,对金融账户 管理软件进行测试,从而实现了根据修改信用卡账户金额选择测试模型及相 应的测试积木,生成可执行测试脚本文件,而不需要测试人员根据特定的信 用卡金额修改过程编写可执行测试脚本文件,因此实现测试所述金融账户管 理软件的过程中工作量较小,测试成本较低。相应地,本发明实施例还提供一种软件测试装置,请参阅图2所示,包 括测试模型调用单元201,用于根据测试案例调用测试模型;测试积木选择 单元202,用于根据所述被调用的测试模型选择所述测试模型中所包括的测试 积木;组合单元203,用于组合所述测试积木成为可执行测试脚本文件;测试 数据及函数调用单元204,用于调用测试数据以及公共函数;测试执行单元 205,用于根据所述测试数据及公共函数,执行所述可执行脚本文件,完成测 试任务。另外,所述装置还包括预置单元206,用于预置进行软件测试的测试数据 项;检测点设置单元207,用于在在所述测试模型上设置检测点;测试数据获取单元208,用于在执行测试过程中,获取所述检测点的测试数据;比较验证 单元209,用于将所述获取到的测试数据与标准数据进行比较验证;测试结果 收集单元210,用于在完成测试任务后,收集测试结果;'测试"t艮告生成单元 211,用于才艮据所述测试结果生成测试^f艮告。本发明的第三优选实施例同样以测试信用卡结算软件为例。首先通过测 试模型调用单元201根据所述业务类型,即信用卡消费,选择相对应的测试 模型。所述测试模型为信用卡消费的流程,主要包括步骤在使用信用卡进 行消费前,首先查询信用卡目前的欠费额度,若欠款在可消费额度内,则可 以继续消费;对信用卡进行刷卡操作后,记录消费价格;在预定时间点,对 所述消费价格进行批处理操作,结算每一个信用卡账户的欠款总数。在上述信用卡消费测试模型中,包括有如下操作步骤查询余额、判断 欠费额度、记录消费价格以及对信用卡账户进行结算。因此根据所述测试模 型所包括的操作步骤,测试积木选择单元202在数据库中选择相对应的测试 积木,包括查询模块、判断模块、记录模块以及结算模块。选定所述测试积木后,组合单元203对所述测试积木进行组合,形成测 试脚本模板。根据所述模板,在所述预置单元206中选择相应的测试数据, 测试数据及函数调用单元204匹配所述相应的测试数据至所述测试模板,从 而形成真正的可执行测试脚本文件,通过测试执行单元205才丸行所述测试脚 本文件,对所述信用卡消费软件进行测试。对于本次测试过程来说,可以通过匹配不同的测试数据,形成不同的可 执行测试脚本文件,测试所述信用卡消息软件在不同的消费额度下的工作状 态。另外,在执行测试流程之前,还可以通过检测点设置单元207在测试模 型上设置检测点,如在判断欠费额度的步骤时,通过测试数据获取单元208 获取该信用卡账户的欠费值,并通过比较验证单元209与所述信用卡账户的 真正欠费值进行对比,验_逸执行所述判断前的查询步骤是否正确。在完成测试之后,测试结果收集单元210收集测试结果,包括信用卡账 户结算后的最终欠款额度、判断欠款额度的检测点数据,并通过测试报告生 成单元211生成相应的测试净艮告。在本发明的第三优选实施例中,运用本发明所提供的装置,对信用卡结 算软件进行测试,从而实现了根据信用卡的消费过程选择测试模型及相应的测试积木,生成可执行测试脚本文件,而不需要测试人员根据特定的信用卡 消费过程编写可执行测试脚本文件,因此实现测试所述信用卡结算软件的过 程中工作量较小,测试成本较低。本发明的第四优选实施例应用本发明提供的装置,同样以测试金融账户 管理软件为例。首先测试模型调用单元201根据应用所述金融账户管理软件 的业务类型,如修改账户资料的业务,则根据所述业务程序,在数据库中选择预存的测试模型。所述测试模型为修改账户资料的流程,主要包括步骤 根据信用卡卡号查询所述信用卡客户信息;选择特定的货币类型;修改所述 货币类型下的账户资料;查询修改后的账户资料,并验证修改是否正确。在上述修改账户资料业务的测试模型中,包括有如下操作步骤查询信 用卡客户信息、判断货币类型、修改账户资料以及验证修改后的账户资料。 因此根据所述测试模型所包括的操作步骤,测试积木选择单元202在数据库 中选择相对应的测试积木,包括客户层信息查询模块、货币类型判断模块、 账户资料修改模块以及验证模块。选定所述测试积木后,组合单元203对所述测试积木进行组合,形成测 试脚本模板。根据所述生成的模板,在预置单元206中读取以假定不同情况 的测试数据,通过测试数据及函数调用单元204匹配所述测试数据至所述脚 本模板,从而形成真正的可执行测试脚本文件,通过测试执行单元205执行 所述测试脚本文件,对所述金融账户管理软件进^f于测试。在本次测试中对测试脚本模板匹配了不同的目标数据,需要将账户信息 中的人民币账户的数据修改为所述目标数据。另外,4企测点设置单元207在 进行货币判断时设置检测点,在进行货币类型判断时,测试数据获取单元208 提取所述信用卡所包括的货币种类,并通过比较验证单元209与所述信用卡 客户信息的货币种类进行比对,验证所述货币种类是否正确。在完成测试之后,测试结果收集单元210收集测试结果,包括信用卡账 户修改后的人民币账户金额、货币种类,并根据测试报告生成单元211生成 相应的测试报告。在本发明的第四优选实施例中,运用本发明所提供的装置,对金融账户 管理软件进行测试,从而实现了根据修改信用卡账户金额选择测试模型及相 应的测试积木,生成可执行测试脚本文件,而不需要测试人员纟艮据特定的信用卡金额修改过程编写可执行测试脚本文件,因此实现测试所述金融账户管 理软件的过程中工作量较小,测试成本较低。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普 通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润 饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1、一种软件测试方法,其特征在于,包括根据测试案例调用测试模型;根据所述被调用的测试模型选择所述测试模型中所包括的测试积木;组合所述测试积木成为可执行测试脚本文件;调用测试数据以及公共函数,执行所述可执行测试脚本文件,完成测试任务。
2、 根据权利要求1所述的方法,其特征在于,所述方法还包括 预置用于进行软件测试的测试数据项。
3、 根据权利要求1所述的方法,其特征在于,根据测试案例调用相应的 测试模型之后,所述方法还包括步骤在所述测试模型上设置检测点;在执行测试过程中,获取所述检测点的测试数据,并与标准数据进行比 较验证。
4、 根据权利要求1所述的方法,其特征在于,完成测试任务后,所述方 法还包括收集测试结果,并根据所述测试结果生成测试报告。
5、 一种软件测试装置,其特征在于,包括 测试-漠型调用单元,用于根据测试案例调用测试^^莫型; 测试积木选择单元,用于根据所述被调用的测试模型选择所述测试才莫型中所包括的测试积木;组合单元,用于组合所述测试积木成为可执行测试脚本文件; 测试数据及函数调用单元,用于调用测试数据以及公共函数; 测试执行单元,用于根据所述测试数据及公共函数,执行所述可执行脚本文件,完成测试^f壬务。
6、 根据权利要求5所述的装置,其特征在于,所述装置还包括 预置单元,用于预置进行软件测试的测试数据项。
7、 根据权利要求5所述的装置,其特征在于,所述装置还包括 检测点设置单元,用于在在所述测试模型上设置检测点; 测试数据获取单元,用于在执行测试过程中,获取所述检测点的测试数比较验证单元,用于将所述获取到的测试数据与标准数据进行比较验证。
8、根据〗又利要求5所述的装置,其特征在于,所述装置还包括 测试结果收集单元,用于在完成测试任务后,收集测试结果; 测试报告生成单元,用于根据所述测试结果生成测试报告。
全文摘要
本发明涉及计算机软件测试领域,公开了一种软件测试方法,包括步骤根据测试案例调用测试模型;根据所述被调用的测试模型选择所述测试模型中所包括的测试积木;组合所述测试积木成为可执行测试脚本文件;调用测试数据以及公共函数,执行所述可执行测试脚本文件,完成测试任务。应用本发明提供的方法,能够降低编写测试脚本工作量,根据需要修改测试脚本,进行软件测试的成本较低。相应地,本发明还公开一种软件测试装置。
文档编号G06F9/44GK101221503SQ20081000606
公开日2008年7月16日 申请日期2008年2月1日 优先权日2008年2月1日
发明者正 刘, 羽 刘, 斌 杜, 杨朝晖, 浩 谭 申请人:中国建设银行股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1