CN107329895A - 一种模块化测试用例的测试方法及装置 - Google Patents

一种模块化测试用例的测试方法及装置 Download PDF

Info

Publication number
CN107329895A
CN107329895A CN201710475377.6A CN201710475377A CN107329895A CN 107329895 A CN107329895 A CN 107329895A CN 201710475377 A CN201710475377 A CN 201710475377A CN 107329895 A CN107329895 A CN 107329895A
Authority
CN
China
Prior art keywords
flow chart
case
performing module
reverse side
main flow
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.)
Granted
Application number
CN201710475377.6A
Other languages
English (en)
Other versions
CN107329895B (zh
Inventor
沈文策
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.)
Fujian Cnfol Information Technology Co Ltd
Original Assignee
Fujian Cnfol Information Technology Co Ltd
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 Fujian Cnfol Information Technology Co Ltd filed Critical Fujian Cnfol Information Technology Co Ltd
Priority to CN201710475377.6A priority Critical patent/CN107329895B/zh
Publication of CN107329895A publication Critical patent/CN107329895A/zh
Application granted granted Critical
Publication of CN107329895B publication Critical patent/CN107329895B/zh
Active 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • 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/3676Test management for coverage analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例提供了一种模块化测试用例的测试方法及装置,该方法为读取用于存储待测产品的模块化用例的脚本文件A和期望结果的脚本文件B;对主流程图正面执行模块用例进行测试,获得主流程图正面执行模块用例的测试结果;判断主流程图正面执行模块用例的测试结果是否与对应的期望结果一致,若为否,保存所述主流程图正面执行模块用例的测试结果,对M个主流程图反面执行模块用例均按照第一种方式进行测试;对N个副流程图正面执行模块用例均按照第二种方式进行测试;对P个副流程图反面执行模块用例均按照第三种方式进行测试。该方法和装置实现了用例更加能覆盖待开发产品所有流程图中的执行步骤。

Description

一种模块化测试用例的测试方法及装置
技术领域
本发明涉及软件测试技术领域,特别是涉及一种模块化测试用例的测试方法及装置。
背景技术
测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及期望结果,以便测试某个程序路径或核实是否满足某个特定需求
软件测试的重要性是毋庸置疑的。但如何以最少的人力、资源投入,在最短的时间内完成测试,发现软件系统的缺陷,保证软件的优良品质,则是软件公司探索和追求的目标。每个软件产品或软件开发项目都需要有一套测试方案,每套测试方案均对应一套测试方法。因此测试方法和测试用例的设计和编制是软件测试活动中最重要的。其中,测试用例是测试工作的指导,是软件测试的必须遵守的准则,更是软件测试质量稳定的根本保障。
目前,在已有的测试用例模板中,一个测试用例的步骤包含了多个事件,当测试用例执行时,若其中一个事件失败,整个测试用例就被标记为失败,导致对所述步骤中其他事件的测试造成疏漏,如何获得一套能测试待开发产品中所有事件的测试用例是待解决问题之一。
发明内容
本发明实施例的目的在于提供一种软件测试用例模块化撰写方法及装置,以实现用例更加能覆盖待开发产品所有流程图中的执行步骤。
具体技术方案如下:
一种模块化测试用例的测试方法,包括:
读取用于存储待测产品的模块化用例的脚本文件A和期望结果的脚本文件B;其中,所述模块化用例包括:主流程图正面执行模块用例、主流程图反面执行模块用例、副流程图正面执行模块用例和副流程图反面执行模块用例;主流程图正面执行模块用例是按照主程序流程图步骤的执行顺序,将执行成功的步骤组合生成的用例;主流程图反面执行模块用例是按照主程序流程图步骤的执行顺序,将执行失败的步骤和在执行失败的步骤前执行成功的步骤组合生成的用例;副程序流程图正面执行模块用例是按照副程序流程图步骤的执行顺序,将执行成功的步骤组合生成的用例;副程序流程图反面执行模块是按照副程序流程图步骤的执行顺序,将执行失败的步骤和在执行失败的步骤前执行成功的步骤组合生成的用例;一个执行步骤至少包括一个事件,所述执行成功的步骤对应包含一个成功的事件,执行失败的步骤对应包含一个失败的事件;所述副流程图是由除主程序流程图实现预设功能的执行步骤之外实现补充功能的执行步骤构成的流程图;所述期望结果与用例是一一对应的;
对主流程图正面执行模块用例进行测试,获得主流程图正面执行模块用例的测试结果;
判断主流程图正面执行模块用例的测试结果是否与对应的期望结果一致,
若为是,对M个主流程图反面执行模块用例均按照第一种方式进行测试;其中,M为主流程图反面执行模块用例的个数,M为正整数;
若为否,保存所述主流程图正面执行模块用例的测试结果,对M个主流程图反面执行模块用例均按照第一种方式进行测试;
对N个副流程图正面执行模块用例均按照第二种方式进行测试;其中,N为主流程图反面执行模块用例的个数,N为正整数;
对P个副流程图反面执行模块用例均按照第三种方式进行测试;其中,P为P个副流程图反面执行模块用例个数,P为正整数。
进一步地,对M个主流程图反面执行模块用例均按照第一种方式进行测试,包括:
对第M个主流程图反面执行模块用例进行测试,获得第M个主流程图反面执行模块用例对应的测试结果;
判断第M个主流程图反面执行模块用例对应的测试结果与对应的期望结果是否一致;
若为是,判断M是否等于L,若为是,执行所述对N个副流程图正面执行模块用例均按照第二种方式进行测试的步骤,若为否,M自加1,返回执行所述对第M个主流程图反面执行模块用例进行测试,获得第M个主流程图反面执行模块对应的测试结果的步骤;其中,L为主流程图反面执行模块用例的总数,L为正整数,1≤M≤L;
若为否,保存所述主流程图反面执行模块用例对应的测试结果,判断M是否等于L,若为是,执行所述对N个副流程图正面执行模块用例均按照第二种方式进行测试的步骤,若为否,M自加1,返回执行所述对第M个主流程图反面执行模块用例进行测试,获得第M个主流程图反面执行模块对应的测试结果的步骤。
进一步地,对N个副流程图正面执行模块用例均按照第二种方式进行测试,包括:
对第N个副流程图正面执行模块用例进行测试,获得第N个副流程图正面执行模块的用例对应的测试结果;
判断第N个副流程图正面执行模块的用例对应的测试结果与对应的期望结果是否一致;
若为是,判断N是否等于F,若为是,执行所述对P个副流程图反面执行模块的用例均按照第三种方式进行测试的步骤,若为否,N自加1,返回执行对第N个副流程图正面执行模块的用例进行测试,获得所述第N个副流程图正面执行模块对应的测试结果的步骤;其中F为副流程图正面执行模块用例的总数,F为正整数,1≤N≤F;
若为否,保存所述副流程图正面执行模块对应的测试结果,判断N是否等于F,若为是,执行所述对第P个副流程图反面执行模块的用例均按照第三种方式进行测试的步骤,若为否,N自加1,返回执行所述对第N个副流程图正面执行模块的用例进行测试,获得第N个副流程图正面执行模块对应的测试结果的步骤。
进一步地,对P个副流程图反面执行模块用例均按照第三种方式进行测试,包括:
对第P个副流程图反面执行模块的用例进行测试,获得第P个副流程图反面执行模块的用例对应的测试结果;
判断第P个副流程图反面执行模块用例对应的测试结果与对应的期望结果是否一致;
若为是,判断P是否等于T,若为是,测试结束,若为否,P自加1,返回执行所述对第P个副流程图反面执行模块用例进行测试,获得第P个副流程图反面执行模块对应的测试结果的步骤;其中,T为正整数,T为主流程图反面执行模块用例的总数,1≤P≤T;
若为否,保存所述第P个副流程图反面执行模块用例对应的测试结果,判断P是否等于T,若为是,测试结束,若为否,P自加1,返回执行所述对第P个副流程图反面执行模块用例进行测试,获得第P个副流程图反面执行模块对应的测试结果的步骤。
一种模块化测试用例的测试装置,包括:
读取单元,用于读取用于存储待测产品的模块化用例的脚本文件A和期望结果的脚本文件B;其中,所述模块化用例包括:主流程图正面执行模块用例、主流程图反面执行模块用例、副流程图正面执行模块用例和副流程图反面执行模块用例;主流程图正面执行模块用例是按照主程序流程图步骤的执行顺序,将执行成功的步骤组合生成的用例;主流程图反面执行模块用例是按照主程序流程图步骤的执行顺序,将执行失败的步骤和在执行失败的步骤前执行成功的步骤组合生成的用例;副程序流程图正面执行模块用例是按照副程序流程图步骤的执行顺序,将执行成功的步骤组合生成的用例;副程序流程图反面执行模块是按照副程序流程图步骤的执行顺序,将执行失败的步骤和在执行失败的步骤前执行成功的步骤组合生成的用例;一个执行步骤至少包括一个事件,所述执行成功的步骤对应包含一个成功的事件,执行失败的步骤对应包含一个失败的事件;所述副流程图是由除主程序流程图实现预设功能的执行步骤之外实现补充功能的执行步骤构成的流程图;所述期望结果与用例是一一对应的;
主流程图正面用例测试单元,用于对主流程图正面执行模块用例进行测试,获得主流程图正面执行模块用例的测试结果;
主流程图正面用例判断单元,用于判断主流程图正面执行模块用例的测试结果是否与对应的期望结果一致,若为是,对M个主流程图反面执行模块用例均按照第一种方式进行测试;其中,M为主流程图反面执行模块用例的个数,M为正整数;若为否,执行保存主流程图正面测试结果单元;
所述保存主流程图正面测试结果单元,用于保存所述主流程图正面执行模块用例的测试结果,对M个主流程图反面执行模块用例均按照第一种方式进行测试;
副流程图正面用例单元,用于对N个副流程图正面执行模块用例均按照第二种方式进行测试;其中,N为主流程图反面执行模块用例的个数,N为正整数;
副流程图反面用例单元,用于对P个副流程图反面执行模块用例均按照第三种方式进行测试;其中,P为P个副流程图反面执行模块用例个数,P为正整数。
进一步地,主流程图反面用例测试单元,包括:
主流程图反面用例子单元,用于对第M个主流程图反面执行模块用例进行测试,获得第M个主流程图反面执行模块用例对应的测试结果;
主流程图反面用例判断单元,用于判断第M个主流程图反面执行模块用例对应的测试结果与对应的期望结果是否一致;若为是,判断M是否等于L,若为是,执行所述对N个副流程图正面执行模块用例均按照第二种方式进行测试的步骤,若为否,M自加1,返回执行所述对第M个主流程图反面执行模块用例进行测试,获得第M个主流程图反面执行模块对应的测试结果的步骤;其中,L为主流程图反面执行模块用例的总数,L为正整数,1≤M≤L;若为否,执行保存主流程图反面测试结果单元;
所述保存主流程图反面测试结果单元,用于保存所述主流程图反面执行模块用例对应的测试结果,判断M是否等于L,若为是,执行所述对N个副流程图正面执行模块用例均按照第二种方式进行测试的步骤,若为否,M自加1,返回执行所述对第M个主流程图反面执行模块用例进行测试,获得第M个主流程图反面执行模块对应的测试结果的步骤。
进一步地,副流程图正面用例单元,包括:
副流程图正面用例子单元,用于对第N个副流程图正面执行模块用例进行测试,获得第N个副流程图正面执行模块的用例对应的测试结果;
副流程图正面用例判断子单元,用于判断第N个副流程图正面执行模块的用例对应的测试结果与对应的期望结果是否一致;若为是,判断N是否等于F,若为是,执行所述对P个副流程图反面执行模块的用例均按照第三种方式进行测试的步骤,若为否,N自加1,返回执行对第N个副流程图正面执行模块的用例进行测试,获得所述第N个副流程图正面执行模块对应的测试结果的步骤;其中,F为副流程图正面执行模块用例的总数,F为正整数,1≤N≤F;若为否,执行保存副流程图正面测试结果子单元;
所述保存副流程图正面测试结果子单元,用于保存所述副流程图正面执行模块对应的测试结果,判断N是否等于F,若为是,执行所述对第P个副流程图反面执行模块的用例均按照第三种方式进行测试的步骤,若为否,N自加1,返回执行所述对第N个副流程图正面执行模块的用例进行测试,获得第N个副流程图正面执行模块对应的测试结果的步骤。
进一步地,副流程图反面用例单元,包括:
副流程图反面用例子单元,用于对第P个副流程图反面执行模块的用例进行测试,获得第P个副流程图反面执行模块的用例对应的测试结果;
副流程图反面用例判断子单元,用于判断第P个副流程图反面执行模块用例对应的测试结果与对应的期望结果是否一致;若为是,判断P是否等于T,若为是,测试结束,若为否,P自加1,返回执行所述对第P个副流程图反面执行模块用例进行测试,获得第P个副流程图反面执行模块对应的测试结果的步骤;其中,T为正整数,T为主流程图反面执行模块用例的总数,1≤P≤T;若为否,执行保存副流程图反面测试结果子单元;
所述保存副流程图反面测试结果子单元,用于保存所述第P个副流程图反面执行模块用例对应的测试结果,判断P是否等于T,若为是,测试结束,若为否,P自加1,返回执行所述对第P个副流程图反面执行模块用例进行测试的步骤,获得第P个副流程图反面执行模块对应的测试结果。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的一种模块化测试用例的测试方法。
在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的一种模块化测试用例的测试方法。
本发明实施例提供的一种模块化测试用例的测试方法及装置,可以通过读取用于存储待测产品的模块化用例的脚本文件A和期望结果的脚本文件B;对主流程图正面执行模块用例进行测试,获得主流程图正面执行模块用例的测试结果;判断主流程图正面执行模块用例的测试结果是否与对应的期望结果一致,对N个副流程图正面执行模块用例均按照第二种方式进行测试;对P个副流程图反面执行模块用例均按照第三种方式进行测试;所述测试方法使得用例更加能覆盖待开发产品所有流程图中的执行步骤;当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请文件实施例提供的一种模块化测试用例的测试方法流程图。
图2为本申请文件实施例提供的一种模块化测试用例的测试装置示意图。
图3为本申请文件实施例提供的一种电子设备示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面通过具体实施例,对本发明进行详细说明。
本发明实施例提供了一种模块化测试用例的测试方法,如图1所示,该方法包括:
S101,读取用于存储待测产品的模块化用例的脚本文件A和期望结果的脚本文件B;其中,所述模块化用例包括:主流程图正面执行模块用例、主流程图反面执行模块用例、副流程图正面执行模块用例和副流程图反面执行模块用例;主流程图正面执行模块用例是按照主程序流程图步骤的执行顺序,将执行成功的步骤组合生成的用例;主流程图反面执行模块用例是按照主程序流程图步骤的执行顺序,将执行失败的步骤和在执行失败的步骤前执行成功的步骤组合生成的用例;副程序流程图正面执行模块用例是按照副程序流程图步骤的执行顺序,将执行成功的步骤组合生成的用例;副程序流程图反面执行模块是按照副程序流程图步骤的执行顺序,将执行失败的步骤和在执行失败的步骤前执行成功的步骤组合生成的用例;一个执行步骤至少包括一个事件,所述执行成功的步骤对应包含一个成功的事件,执行失败的步骤对应包含一个失败的事件;所述副流程图是由除主程序流程图实现预设功能的执行步骤之外实现补充功能的执行步骤构成的流程图;
其中,上述主流程图正面执行模块用例和期望结果之间的关系可以理解为:按照主流程图的每个步骤成功地按照执行顺序执行,将所有成功执行的步骤组合生成一个用例,根据待开发产品的需求文档和用例,获得相应的期望结果;
为了更加清楚的描述,现举一示例进行说明,如:
主流程图正面执行模块包括步骤A、步骤B、……、步骤K;执行步骤顺序由步骤A到步骤K,其中,步骤A包括事件A0,步骤B包括事件B0,……,步骤L包括事件K0,事件A0、事件B0、……、事件K0分别对应步骤A、步骤B、……、步骤K执行成功的事件;
步骤A的事件A0发生,步骤B的事件B0发生,……,步骤K的事件K0发生,则将事件A0、事件B0、……、事件K0组合生成一个用例。
示例性的,现以美团外卖苹果app编写其中个别用例为例,默认微信支付,用户已安装微信客户端并且为登录状态:
主流程图的步骤为:登录—进入商家—选择商品—提交订单—订单支付—下单成功;
步骤A:输入正确的用户名和密码A0,获得登录成功;
步骤B:点击商家名称B0,进入商家详细页;
步骤C:勾选所需商品,点击去结算C0,成功进入订单提交页面;
步骤D:选择正确的地址、送出时间、美团红包、商家代金券后、选择支付方、填写备注/发票,点击提交订单D0,提交成功,进入订单支付页面;
步骤E:选择微信支付,点击立即支付E0,打开微信客户端,并且弹出支付页面
步骤F:点击确定F0,支付订单成功,返回到美团外卖app提示下单成功;
事件A0~事件F0均发生,事件A0~事件F0组合生成一个用例,期望结果为下单成功;
需要说明的是,上述以美团外卖苹果app、微信支付及已安装微信客户端并且登录状态为例编写其中个别用例,仅为本发明的一具体实例,并不构成对本发明的限定。
主流程图反面执行模块用例和对应的期望结果之间的关系可以理解为:按照主流程图的执行步骤顺序执行时,若执行步骤操作失败则停止执行,将操作失败步骤及操作失败步骤前所有操作成功的步骤组合生成一个用例,根据待开发产品的需求文档和用例,获得相应的期望结果;
主流程图反面执行模块包括步骤A、步骤B、……、步骤P、步骤K;执行步骤顺序由步骤A到步骤K,其中,步骤A包括事件A0、事件A1、事件A2、……、事件An;步骤B包括事件B0、事件B1、事件B2、……、事件Bi,步骤P包括事件P0、事件P1、事件P2、……、事件Px,步骤K包括事件K0、事件K1、事件K2、……、事件Kj;其中,n、i、x和j均为正整数;事件A0、事件B0、……、事件P0、事件K0分别对应步骤A、步骤B、……、步骤P、步骤K执行成功的事件,事件A1~事件An、事件B1~事件Bi、……、事件P1~事件Px、事件K1~事件Kj分别对应步骤A、步骤B、……、步骤P、步骤K执行失败的事件;
事件A1~事件An中任一事件发生,则将对应发生的事件生成一个用例,若事件A0执行成功,事件B1~事件Bi中任一事件发生,则将事件A0和步骤B对应发生的事件组合生成一个用例,……,若事件A0、事件B0、……、事件P0均执行成功,事件K1~事件Kj中任一事件发生,则将事件A0、事件B0、……、事件P0和步骤K对应发生的事件组合生成一个用例。
示例性的,
用例1:步骤A,输入错误的用户名,正确的密码A1,登录失败,提示用户名错误,请重新输入;其中,步骤A的事件A1生成一个用例1,期望结果为提示用户名错误,请重新输入;
用例2:步骤A,输入正确的用户名,错误的密码A2,登录失败,提示密码错误,请重新输入;其中,步骤A的事件A2生成一个用例2,期望结果为提示密码错误,请重新登录;
用例3:步骤A,输入为空的用户名,正确的密码A3,登录失败,提示用户名不能为空;其中,步骤A的事件A3生成一个用例3,期望结果为用户名不能为空;
用例4:步骤A,输入正确的用户名和密码A0,登录成功;步骤B,点击商家名称B0,进入商家网页;步骤C,未勾选所需商品,点击去结算C1,未进入订单提交页面,提示请先勾选商品;其中,步骤A的事件A0、步骤B的事件B0和步骤C的事件C1组合生成一个用例4,期望结果提示请先勾选商品;
用例5:步骤A,输入正确的用户名密码A0,登录成功;步骤B,点击商家名称B0,进入商家详细页;步骤C,勾选所需商品,点击去结算C0,成功进入订单提交页面;步骤D,未选择送货地址、选择正确的送出时间、美团红包、商家代金券后、选择支付方、填写备注/发票,点击提交订单D1,提交订单不成功,提示请选择送货地址;其中,事件A0、事件B0、事件C0和事件D1组合生成一个用例5,期望结果提示请选择送货地址。
用例6:步骤A,输入正确的用户名密码,登录成功A0;步骤B,点击商家名称B0,进入商家网页;步骤C,勾选所需商品,点击去结算C0,成功进入订单提交页面;步骤D,选择正确的地址、送出时间、美团红包、商家代金券后、选择支付方、填写备注/发票,点击提交订单D0,步骤E:进入订单支付页面,选择微信支付,点击立即支付E0,打开微信客户端,并且弹出支付页面;步骤F,点击返回F1,提示支付订单取消,返回到美团外卖app的订单支付页面;其中,事件A0、事件B0、步事件C0、事件D0、事件E0和事件F1组合生成一个用例6,期望结果提示支付订单取消,返回到美团外卖app的订单支付页面。
需要说明的是,上述以美团外卖苹果app、微信支付及已安装微信客户端并且登录状态为例编写其中个别用例,仅为本发明的一具体实例,并不构成对本发明的限定。
副流程图正面执行模块用例和对应的期望结果之间的关系可以理解为:按照副流程图的每个步骤成功地按照执行顺序执行,将所有成功执行的步骤组合生成一个用例,根据待开发产品的需求文档和用例,获得相应的期望结果;
副流程图正面执行模块包括步骤A′、步骤B′、……、步骤P′、步骤L′;执行顺序的序号由步骤A′到步骤L′,其中,步骤A′包括事件A′0,步骤B′包括事件B′0,……,步骤L′包括事件L′0,事件A′0、事件B′0、……、事件L′0分别对应步骤A′、步骤B′、……、步骤L′执行成功的事件。
当步骤A′的事件A′0执行成功,步骤B′的事件B′0执行成功,……,步骤L′的事件L′0执行成功,则事件A′0、事件B′0、……、事件L′0组合生成一个用例。
示例性的,假设副流程图的前置条件是用户已登录
副流程图主要有:副流程图1,我的-我的地址-新增收货地址,副流程图2,我的-我的地址-管理,等等。
示例性的,假设副流程图的前置条件是用户已登录,进入我的页面
副流程图主要有:副流程图1,我的地址-新增收货地址,副流程图2,我的地址-管理,等等。
现以副流程图1为例进行说明,
用例1:步骤A′,点击我的地址成功进入我的地址页面A′0;
步骤B′,点击新增收获地址成功进入新增收货地址页面B′0;
步骤C′,输入正确电话,填写送货地址,点击保存C′0,新增收获地址成功,则事件A′0、事件B′0和事件C′0组合生成一个用例1,期望结果为新增收货地址成功。
需要说明的是,上述以美团外卖苹果app、微信支付及已安装微信客户端并且登录状态为例编写其中个别用例,仅为本发明的一具体实例,并不构成对本发明的限定。
副流程图反面执行模块用例和期望结果之间的关系可以理解为:按照副流程图的步骤执行顺序执行时,若执行步骤操作失败则停止执行,将操作失败步骤及操作失败步骤前所有操作成功的步骤组合生成一个用例,针对每个用例,根据待开发产品的需求文档,获得相应的期望结果。
副流程图反面执行模块包括步骤A′、步骤B′、……、步骤P′、步骤L′;执行顺序的序号由步骤A′到步骤L′,其中,步骤A′包括事件A′0、事件A′1、事件A′2、……、事件A′n,步骤B′包括事件B′0、事件B′1、事件B′2、……、事件B′i,步骤P′包括事件P′0、事件P′1、事件P′2、……、事件P′x,步骤L′包括事件L′0、事件L′1、事件L′2、……、事件L′j;n、i、x和j均为正整数;事件A′0、事件B′0、……、事件P′0、事件L′0分别对应步骤A′、步骤B′、……、步骤P′、步骤L′执行成功的事件;事件A′1~事件A′n、事件B′1~事件B′i、……、事件L′1~事件L′j分别对应步骤A′、步骤B′、……、步骤P′、步骤L′执行失败的事件。
若事件A′1~事件A′n中任一事件发生,则将步骤A′对应发生的事件生成一个用例,若事件A′0发生,事件B′1~事件B′i中任一事件发生,则将事件A′0和步骤B′对应发生的事件组合生成一个用例,……,若事件A′0、事件B′0、……、事件P′0、事件L′0均发生,事件L′1~事件L′j中任一事件发生,则将事件A′0、事件B′0、……、事件P′0、事件L′0和步骤L′中的失败事件组合生成一个用例。
用例1:步骤A′,点击我的成功进入个人中心页面A′0;
步骤B′,点击新增收获地址成功进入新增收货地址页面B′0;
步骤C′,未输入电话,选择送货地址,点击保存C′1,新增收获地址不成功,提示输入电话号码不能为空,则步骤A′、步骤B′和步骤C′中的事件A′0、事件B′0和C′1组合生成一个用例1,期望结果为输入电话号码不能为空。
用例2:步骤A′,点击我的成功进入个人中心页面A′0;
步骤B′,点击新增收获地址成功进入新增收货地址页面B′0;
步骤C′,输入12位电话号码,选择送货地址,点击保存C′2,新增收获地址不成功,提示输入电话号码错误,则步骤A′、步骤B′和步骤C′对应的事件A′0、事件B′0和事件C′2组合生成一个用例2,期望结果为输入电话号码错误。
用例3:步骤A′点击我的成功进入个人中心页面A′0;
步骤B′,点击新增收获地址成功进入新增收货地址页面B′0;
步骤C′,输入正确的电话,未选择送货地址,点击保存C′3,新增收获地址不成功,提示选择小区/大厦/学校。则步骤A′、步骤B′和步骤C′对应的事件A′0、事件B′0和事件C′3组合生成一个用例3,期望结果为提示选择小区/大厦/学校。
需要说明的是,上述以美团外卖苹果app、微信支付及已安装微信客户端并且登录状态为例编写其中个别用例,仅为本发明的一具体实例,并不构成对本发明的限定。
S102,对主流程图正面执行模块用例进行测试,获得主流程图正面执行模块用例的测试结果;
其中,上述测试结果可以理解为对用例进行测试后,出现的结果,所述结果可能是期望结果中的内容,也可能是其他结果,如测试失败或中断等。
S103,判断主流程图正面执行模块用例的测试结果是否与对应的期望结果一致,若为是,对M个主流程图反面执行模块用例均按照第一种方式进行测试;其中,M为主流程图反面执行模块用例的个数,M为正整数;若为否,
其中,由上述描述可知期望结果是均与每个用例一一对应的,期望结果是预先设计的,也就是说,期望结果,是待测产品开发人预先设计的;测试结果是正在待测产品在测试过程中产生的结果,若二者一致,则认为待测产品顺利通过,若二者不一致,则认为待测产品还需要进行改进。针对出现不一致的待测结果进行修改。
S104,保存所述主流程图正面执行模块用例的测试结果,执行S105;
其中,由前面描述可知,由主流程图正面执行模块用例的描述可知主流程图正面执行模块用例只有一个,则对应的测试结果也仅有一个。
S105,对M个主流程图反面执行模块用例均按照第一种方式进行测试;
其中,由前面描述可知,由于主流程图反面执行模块用例是将操作失败步骤及操作失败步骤前所有操作成功的步骤组合生成的一个用例,也就是说,主失败步骤的个数决定了主流程反面执行模块用例的个数。
S106,对N个副流程图正面执行模块用例均按照第二种方式进行测试;其中,N为主流程图反面执行模块用例的个数,N为正整数;
其中,由前面描述可知,由于副流程图正面执行模块用例是将所有成功执行的步骤组合生成一个用例,也就是说,副流程图正面执行模块用例的个数与副流程图的个数有关,可以理解为:副流程图的个数决定了副流程正面执行模块用例的个数。
S107,对P个副流程图反面执行模块用例均按照第三种方式进行测试;其中,P为P个副流程图反面执行模块用例个数,P为正整数。
其中,由前面描述可知,由于副流程图反面执行模块用例是将操作失败步骤及操作失败步骤前所有操作成功的步骤组合生成的一个用例,也就是说,副流程图正面执行模块用例的个数不仅与副流程图的个数有关,还和副流程图中执行失败的个数相关,可以理解为:副流程图的个数和副流程图中执行失败的步骤合起来决定了副流程反面执行模块用例的个数。
由上可知,通过上述测试方法可知四个模块用例将整个产品的每个步骤都涵盖在用例里面。本申请文件根据正、副流程图的正、反两面进行划分模块,并根据每个步骤的多个事件执行情况对用例进行测试,使获得的用例更加思路清晰,通过对用例测试便可以清楚了解产品的流程,了解产品的实际用途,进而使得测试用例富含逻辑性、思路清晰、阅读性强。
与上述撰写方法相对应,本申请实施例还提供了一种模块化测试用例的测试装置,参见图2,该装置包括:
读取单元201,用于读取用于存储待测产品的模块化用例的脚本文件A和期望结果的脚本文件B;其中,所述模块化用例包括:主流程图正面执行模块用例、主流程图反面执行模块用例、副流程图正面执行模块用例和副流程图反面执行模块用例;主流程图正面执行模块用例是按照主程序流程图步骤的执行顺序,将执行成功的步骤组合生成的用例;主流程图反面执行模块用例是按照主程序流程图步骤的执行顺序,将执行失败的步骤和在执行失败的步骤前执行成功的步骤组合生成的用例;副程序流程图正面执行模块用例是按照副程序流程图步骤的执行顺序,将执行成功的步骤组合生成的用例;副程序流程图反面执行模块是按照副程序流程图步骤的执行顺序,将执行失败的步骤和在执行失败的步骤前执行成功的步骤组合生成的用例;一个执行步骤至少包括一个事件,所述执行成功的步骤对应包含一个成功的事件,执行失败的步骤对应包含一个失败的事件;所述副流程图是由除主程序流程图实现预设功能的执行步骤之外实现补充功能的执行步骤构成的流程图;所述期望结果与用例是一一对应的;
主流程图正面用例测试单元202,用于对主流程图正面执行模块用例进行测试,获得主流程图正面执行模块用例的测试结果;
主流程图正面用例判断单元203,用于判断主流程图正面执行模块用例的测试结果是否与对应的期望结果一致,若为是,对M个主流程图反面执行模块用例均按照第一种方式进行测试;其中,M为主流程图反面执行模块用例的个数,M为正整数;若为否,执行保存主流程图正面测试结果单元204;
所述保存主流程图正面测试结果单元204,用于保存所述主流程图正面执行模块用例的测试结果,执行主流程图反面用例测试单元205;
所述主流程图反面用例测试单元205,对M个主流程图反面执行模块用例均按照第一种方式进行测试;
副流程图正面用例单元206,用于对N个副流程图正面执行模块用例均按照第二种方式进行测试;其中,N为主流程图反面执行模块用例的个数,N为正整数;
副流程图反面用例单元207,用于对P个副流程图反面执行模块用例均按照第三种方式进行测试;其中,P为P个副流程图反面执行模块用例个数,P为正整数。
具体的,
主流程图反面用例测试单元205,包括:
主流程图反面用例子单元,用于对第M个主流程图反面执行模块用例进行测试,获得第M个主流程图反面执行模块用例对应的测试结果;
主流程图反面用例判断单元,用于判断第M个主流程图反面执行模块用例对应的测试结果与对应的期望结果是否一致;若为是,判断M是否等于L,若为是,执行所述对N个副流程图正面执行模块用例均按照第二种方式进行测试的步骤,若为否,M自加1,返回执行所述对第M个主流程图反面执行模块用例进行测试,获得第M个主流程图反面执行模块对应的测试结果的步骤;其中,L为主流程图反面执行模块用例的总数,L为正整数,1≤M≤L;若为否,执行保存主流程图反面测试结果单元;
所述保存主流程图反面测试结果单元,用于保存所述主流程图反面执行模块用例对应的测试结果,判断M是否等于L,若为是,执行所述对N个副流程图正面执行模块用例均按照第二种方式进行测试的步骤,若为否,M自加1,返回执行所述对第M个主流程图反面执行模块用例进行测试,获得第M个主流程图反面执行模块对应的测试结果的步骤。
副流程图正面用例单元206,包括:
副流程图正面用例子单元,用于对第N个副流程图正面执行模块用例进行测试,获得第N个副流程图正面执行模块的用例对应的测试结果;
副流程图正面用例判断子单元,用于判断第N个副流程图正面执行模块的用例对应的测试结果与对应的期望结果是否一致;若为是,判断N是否等于F,若为是,执行所述对P个副流程图反面执行模块的用例均按照第三种方式进行测试的步骤,若为否,N自加1,返回执行对第N个副流程图正面执行模块的用例进行测试,获得所述第N个副流程图正面执行模块对应的测试结果的步骤;其中,F为副流程图正面执行模块用例的总数,F为正整数,1≤N≤F;若为否,执行保存副流程图正面测试结果子单元;
所述保存副流程图正面测试结果子单元,用于保存所述副流程图正面执行模块对应的测试结果,判断N是否等于F,若为是,执行所述对第P个副流程图反面执行模块的用例均按照第三种方式进行测试的步骤,若为否,N自加1,返回执行所述对第N个副流程图正面执行模块的用例进行测试,获得第N个副流程图正面执行模块对应的测试结果的步骤。
副流程图反面用例单元207,包括:
副流程图反面用例子单元,用于对第P个副流程图反面执行模块的用例进行测试,获得第P个副流程图反面执行模块的用例对应的测试结果;
副流程图反面用例判断子单元,用于判断第P个副流程图反面执行模块用例对应的测试结果与对应的期望结果是否一致;若为是,判断P是否等于T,若为是,测试结束,若为否,P自加1,返回执行所述对第P个副流程图反面执行模块用例进行测试,获得第P个副流程图反面执行模块对应的测试结果的步骤;其中,T为正整数,T为主流程图反面执行模块用例的总数,1≤P≤T;若为否,执行保存副流程图反面测试结果子单元;
所述保存副流程图反面测试结果子单元,用于保存所述第P个副流程图反面执行模块用例对应的测试结果,判断P是否等于T,若为是,测试结束,若为否,P自加1,返回执行所述对第P个副流程图反面执行模块用例进行测试的步骤,获得第P个副流程图反面执行模块对应的测试结果。
由上可知,该装置对待测产品根据主、副流程图的正、反两面进行划分模块获得的用例进行测试,使得在测试用例的过程中,思路更加清晰,并通过对用例的测试,可以清楚地了解产品的流程,了解产品的实际用途,进而使得测试用例富含逻辑性、思路清晰、阅读性强。
本发明实施例还提供了一种电子设备,如图3所示,包括处理器301、通信接口302、存储器303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信,
存储器303,用于存放计算机程序;
处理器301,用于执行存储器303上所存放的程序时,实现如下步骤:
读取用于存储待测产品的模块化用例的脚本文件A和期望结果的脚本文件B;其中,所述模块化用例包括:主流程图正面执行模块用例、主流程图反面执行模块用例、副流程图正面执行模块用例和副流程图反面执行模块用例;主流程图正面执行模块用例是按照主程序流程图步骤的执行顺序,将执行成功的步骤组合生成的用例;主流程图反面执行模块用例是按照主程序流程图步骤的执行顺序,将执行失败的步骤和在执行失败的步骤前执行成功的步骤组合生成的用例;副程序流程图正面执行模块用例是按照副程序流程图步骤的执行顺序,将执行成功的步骤组合生成的用例;副程序流程图反面执行模块是按照副程序流程图步骤的执行顺序,将执行失败的步骤和在执行失败的步骤前执行成功的步骤组合生成的用例;一个执行步骤至少包括一个事件,所述执行成功的步骤对应包含一个成功的事件,执行失败的步骤对应包含一个失败的事件;所述副流程图是由除主程序流程图实现预设功能的执行步骤之外实现补充功能的执行步骤构成的流程图;所述期望结果与用例是一一对应的;
对主流程图正面执行模块用例进行测试,获得主流程图正面执行模块用例的测试结果;
判断主流程图正面执行模块用例的测试结果是否与对应的期望结果一致,
若为是,对M个主流程图反面执行模块用例均按照第一种方式进行测试;其中,M为主流程图反面执行模块用例的个数,M为正整数;
若为否,保存所述主流程图正面执行模块用例的测试结果,对M个主流程图反面执行模块用例均按照第一种方式进行测试;
对N个副流程图正面执行模块用例均按照第二种方式进行测试;其中,N为主流程图反面执行模块用例的个数,N为正整数;
对P个副流程图反面执行模块用例均按照第三种方式进行测试;其中,P为P个副流程图反面执行模块用例个数,P为正整数。
由此可见,执行本实施例提供的计算机可读存储介质中存储的应用程序时,能够通过上述测试方法可知四个模块用例将整个产品的每个步骤都涵盖在用例里面,使获得的用例更加思路清晰,通过对用例测试便可以清楚了解产品的流程,了解产品的实际用途,进而使得测试用例富含逻辑性、思路清晰、阅读性强。
上述的相关模块化测试用例的测试方法的实施方式与前述方法实施例部分提供的模块化测试用例的测试方式相同,这里不再赘述。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:
读取用于存储待测产品的模块化用例的脚本文件A和期望结果的脚本文件B;其中,所述模块化用例包括:主流程图正面执行模块用例、主流程图反面执行模块用例、副流程图正面执行模块用例和副流程图反面执行模块用例;主流程图正面执行模块用例是按照主程序流程图步骤的执行顺序,将执行成功的步骤组合生成的用例;主流程图反面执行模块用例是按照主程序流程图步骤的执行顺序,将执行失败的步骤和在执行失败的步骤前执行成功的步骤组合生成的用例;副程序流程图正面执行模块用例是按照副程序流程图步骤的执行顺序,将执行成功的步骤组合生成的用例;副程序流程图反面执行模块是按照副程序流程图步骤的执行顺序,将执行失败的步骤和在执行失败的步骤前执行成功的步骤组合生成的用例;一个执行步骤至少包括一个事件,所述执行成功的步骤对应包含一个成功的事件,执行失败的步骤对应包含一个失败的事件;所述副流程图是由除主程序流程图实现预设功能的执行步骤之外实现补充功能的执行步骤构成的流程图;所述期望结果与用例是一一对应的;
对主流程图正面执行模块用例进行测试,获得主流程图正面执行模块用例的测试结果;
判断主流程图正面执行模块用例的测试结果是否与对应的期望结果一致,
若为是,对M个主流程图反面执行模块用例均按照第一种方式进行测试;其中,M为主流程图反面执行模块用例的个数,M为正整数;
若为否,保存所述主流程图正面执行模块用例的测试结果,对M个主流程图反面执行模块用例均按照第一种方式进行测试;
对N个副流程图正面执行模块用例均按照第二种方式进行测试;其中,N为主流程图反面执行模块用例的个数,N为正整数;
对P个副流程图反面执行模块用例均按照第三种方式进行测试;其中,P为P个副流程图反面执行模块用例个数,P为正整数。
由此可见,执行本实施例提供的计算机可读存储介质中存储的应用程序时,能够通过上述测试方法可知四个模块用例将整个产品的每个步骤都涵盖在用例里面,使获得的用例更加思路清晰,通过对用例测试便可以清楚了解产品的流程,了解产品的实际用途,进而使得测试用例富含逻辑性、思路清晰、阅读性强。
上述的相关模块化测试用例的测试方法的实施方式与前述方法实施例部分提供的模块化测试用例的测试方式相同,这里不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种模块化测试用例的测试方法,其特征在于,包括:
读取用于存储待测产品的模块化用例的脚本文件A和期望结果的脚本文件B;其中,所述模块化用例包括:主流程图正面执行模块用例、主流程图反面执行模块用例、副流程图正面执行模块用例和副流程图反面执行模块用例;主流程图正面执行模块用例是按照主程序流程图步骤的执行顺序,将执行成功的步骤组合生成的用例;主流程图反面执行模块用例是按照主程序流程图步骤的执行顺序,将执行失败的步骤和在执行失败的步骤前执行成功的步骤组合生成的用例;副程序流程图正面执行模块用例是按照副程序流程图步骤的执行顺序,将执行成功的步骤组合生成的用例;副程序流程图反面执行模块是按照副程序流程图步骤的执行顺序,将执行失败的步骤和在执行失败的步骤前执行成功的步骤组合生成的用例;一个执行步骤至少包括一个事件,所述执行成功的步骤对应包含一个成功的事件,执行失败的步骤对应包含一个失败的事件;所述副流程图是由除主程序流程图实现预设功能的执行步骤之外实现补充功能的执行步骤构成的流程图;所述期望结果与用例是一一对应的;
对主流程图正面执行模块用例进行测试,获得主流程图正面执行模块用例的测试结果;
判断主流程图正面执行模块用例的测试结果是否与对应的期望结果一致,
若为是,对M个主流程图反面执行模块用例均按照第一种方式进行测试;其中,M为主流程图反面执行模块用例的个数,M为正整数;
若为否,保存所述主流程图正面执行模块用例的测试结果,对M个主流程图反面执行模块用例均按照第一种方式进行测试;
对N个副流程图正面执行模块用例均按照第二种方式进行测试;其中,N为主流程图反面执行模块用例的个数,N为正整数;
对P个副流程图反面执行模块用例均按照第三种方式进行测试;其中,P为P个副流程图反面执行模块用例个数,P为正整数。
2.如权利要求1所述的方法,其特征在于,对M个主流程图反面执行模块用例均按照第一种方式进行测试,包括:
对第M个主流程图反面执行模块用例进行测试,获得第M个主流程图反面执行模块用例对应的测试结果;
判断第M个主流程图反面执行模块用例对应的测试结果与对应的期望结果是否一致;
若为是,判断M是否等于L,若为是,执行所述对N个副流程图正面执行模块用例均按照第二种方式进行测试的步骤,若为否,M自加1,返回执行所述对第M个主流程图反面执行模块用例进行测试,获得第M个主流程图反面执行模块对应的测试结果的步骤;其中,L为主流程图反面执行模块用例的总数,L为正整数,1≤M≤L;
若为否,保存所述主流程图反面执行模块用例对应的测试结果,判断M是否等于L,若为是,执行所述对N个副流程图正面执行模块用例均按照第二种方式进行测试的步骤,若为否,M自加1,返回执行所述对第M个主流程图反面执行模块用例进行测试,获得第M个主流程图反面执行模块对应的测试结果的步骤。
3.如权利要求2所述的方法,其特征在于,对N个副流程图正面执行模块用例均按照第二种方式进行测试,包括:
对第N个副流程图正面执行模块用例进行测试,获得第N个副流程图正面执行模块的用例对应的测试结果;
判断第N个副流程图正面执行模块的用例对应的测试结果与对应的期望结果是否一致;
若为是,判断N是否等于F,若为是,执行所述对P个副流程图反面执行模块的用例均按照第三种方式进行测试的步骤,若为否,N自加1,返回执行对第N个副流程图正面执行模块的用例进行测试,获得所述第N个副流程图正面执行模块对应的测试结果的步骤;其中F为副流程图正面执行模块用例的总数,F为正整数,1≤N≤F;
若为否,保存所述副流程图正面执行模块对应的测试结果,判断N是否等于F,若为是,执行所述对第P个副流程图反面执行模块的用例均按照第三种方式进行测试的步骤,若为否,N自加1,返回执行所述对第N个副流程图正面执行模块的用例进行测试,获得第N个副流程图正面执行模块对应的测试结果的步骤。
4.如权利要求3所述的方法,其特征在于,对P个副流程图反面执行模块用例均按照第三种方式进行测试,包括:
对第P个副流程图反面执行模块的用例进行测试,获得第P个副流程图反面执行模块的用例对应的测试结果;
判断第P个副流程图反面执行模块用例对应的测试结果与对应的期望结果是否一致;
若为是,判断P是否等于T,若为是,测试结束,若为否,P自加1,返回执行所述对第P个副流程图反面执行模块用例进行测试,获得第P个副流程图反面执行模块对应的测试结果的步骤;其中,T为正整数,T为主流程图反面执行模块用例的总数,1≤P≤T;
若为否,保存所述第P个副流程图反面执行模块用例对应的测试结果,判断P是否等于T,若为是,测试结束,若为否,P自加1,返回执行所述对第P个副流程图反面执行模块用例进行测试,获得第P个副流程图反面执行模块对应的测试结果的步骤。
5.一种模块化测试用例的测试装置,其特征在于,包括:
读取单元,用于读取用于存储待测产品的模块化用例的脚本文件A和期望结果的脚本文件B;其中,所述模块化用例包括:主流程图正面执行模块用例、主流程图反面执行模块用例、副流程图正面执行模块用例和副流程图反面执行模块用例;主流程图正面执行模块用例是按照主程序流程图步骤的执行顺序,将执行成功的步骤组合生成的用例;主流程图反面执行模块用例是按照主程序流程图步骤的执行顺序,将执行失败的步骤和在执行失败的步骤前执行成功的步骤组合生成的用例;副程序流程图正面执行模块用例是按照副程序流程图步骤的执行顺序,将执行成功的步骤组合生成的用例;副程序流程图反面执行模块是按照副程序流程图步骤的执行顺序,将执行失败的步骤和在执行失败的步骤前执行成功的步骤组合生成的用例;一个执行步骤至少包括一个事件,所述执行成功的步骤对应包含一个成功的事件,执行失败的步骤对应包含一个失败的事件;所述副流程图是由除主程序流程图实现预设功能的执行步骤之外实现补充功能的执行步骤构成的流程图;所述期望结果与用例是一一对应的;
主流程图正面用例测试单元,用于对主流程图正面执行模块用例进行测试,获得主流程图正面执行模块用例的测试结果;
主流程图正面用例判断单元,用于判断主流程图正面执行模块用例的测试结果是否与对应的期望结果一致,若为是,对M个主流程图反面执行模块用例均按照第一种方式进行测试;其中,M为主流程图反面执行模块用例的个数,M为正整数;若为否,执行保存主流程图正面测试结果单元;
所述保存主流程图正面测试结果单元,用于保存所述主流程图正面执行模块用例的测试结果,对M个主流程图反面执行模块用例均按照第一种方式进行测试;
副流程图正面用例单元,用于对N个副流程图正面执行模块用例均按照第二种方式进行测试;其中,N为主流程图反面执行模块用例的个数,N为正整数;
副流程图反面用例单元,用于对P个副流程图反面执行模块用例均按照第三种方式进行测试;其中,P为P个副流程图反面执行模块用例个数,P为正整数。
6.如权利要求5所述的装置,其特征在于,主流程图反面用例测试单元,包括:
主流程图反面用例子单元,用于对第M个主流程图反面执行模块用例进行测试,获得第M个主流程图反面执行模块用例对应的测试结果;
主流程图反面用例判断单元,用于判断第M个主流程图反面执行模块用例对应的测试结果与对应的期望结果是否一致;若为是,判断M是否等于L,若为是,执行所述对N个副流程图正面执行模块用例均按照第二种方式进行测试的步骤,若为否,M自加1,返回执行所述对第M个主流程图反面执行模块用例进行测试,获得第M个主流程图反面执行模块对应的测试结果的步骤;其中,L为主流程图反面执行模块用例的总数,L为正整数,1≤M≤L;若为否,执行保存主流程图反面测试结果单元;
所述保存主流程图反面测试结果单元,用于保存所述主流程图反面执行模块用例对应的测试结果,判断M是否等于L,若为是,执行所述对N个副流程图正面执行模块用例均按照第二种方式进行测试的步骤,若为否,M自加1,返回执行所述对第M个主流程图反面执行模块用例进行测试,获得第M个主流程图反面执行模块对应的测试结果的步骤。
7.如权利要求5所述的装置,其特征在于,副流程图正面用例单元,包括:
副流程图正面用例子单元,用于对第N个副流程图正面执行模块用例进行测试,获得第N个副流程图正面执行模块的用例对应的测试结果;
副流程图正面用例判断子单元,用于判断第N个副流程图正面执行模块的用例对应的测试结果与对应的期望结果是否一致;若为是,判断N是否等于F,若为是,执行所述对P个副流程图反面执行模块的用例均按照第三种方式进行测试的步骤,若为否,N自加1,返回执行对第N个副流程图正面执行模块的用例进行测试,获得所述第N个副流程图正面执行模块对应的测试结果的步骤;其中,F为副流程图正面执行模块用例的总数,F为正整数,1≤N≤F;若为否,执行保存副流程图正面测试结果子单元;
所述保存副流程图正面测试结果子单元,用于保存所述副流程图正面执行模块对应的测试结果,判断N是否等于F,若为是,执行所述对第P个副流程图反面执行模块的用例均按照第三种方式进行测试的步骤,若为否,N自加1,返回执行所述对第N个副流程图正面执行模块的用例进行测试,获得第N个副流程图正面执行模块对应的测试结果的步骤。
8.如权利要求5所述的装置,其特征在于,副流程图反面用例单元,包括:
副流程图反面用例子单元,用于对第P个副流程图反面执行模块的用例进行测试,获得第P个副流程图反面执行模块的用例对应的测试结果;
副流程图反面用例判断子单元,用于判断第P个副流程图反面执行模块用例对应的测试结果与对应的期望结果是否一致;若为是,判断P是否等于T,若为是,测试结束,若为否,P自加1,返回执行所述对第P个副流程图反面执行模块用例进行测试,获得第P个副流程图反面执行模块对应的测试结果的步骤;其中,T为正整数,T为主流程图反面执行模块用例的总数,1≤P≤T;若为否,执行保存副流程图反面测试结果子单元;
所述保存副流程图反面测试结果子单元,用于保存所述第P个副流程图反面执行模块用例对应的测试结果,判断P是否等于T,若为是,测试结束,若为否,P自加1,返回执行所述对第P个副流程图反面执行模块用例进行测试的步骤,获得第P个副流程图反面执行模块对应的测试结果。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-4任一所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-4任一所述的方法步骤。
CN201710475377.6A 2017-06-21 2017-06-21 一种模块化测试用例的测试方法及装置 Active CN107329895B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710475377.6A CN107329895B (zh) 2017-06-21 2017-06-21 一种模块化测试用例的测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710475377.6A CN107329895B (zh) 2017-06-21 2017-06-21 一种模块化测试用例的测试方法及装置

Publications (2)

Publication Number Publication Date
CN107329895A true CN107329895A (zh) 2017-11-07
CN107329895B CN107329895B (zh) 2020-08-21

Family

ID=60195223

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710475377.6A Active CN107329895B (zh) 2017-06-21 2017-06-21 一种模块化测试用例的测试方法及装置

Country Status (1)

Country Link
CN (1) CN107329895B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1534905A (zh) * 2003-03-31 2004-10-06 华为技术有限公司 基于构件化的智能业务测试方法
US20040260516A1 (en) * 2003-06-18 2004-12-23 Microsoft Corporation Method and system for supporting negative testing in combinatorial test case generators
CN101593145A (zh) * 2008-05-29 2009-12-02 福建升腾资讯有限公司 高效性高覆盖率功能测试用例设计方法
CN106095677A (zh) * 2016-06-08 2016-11-09 上海爱数信息技术股份有限公司 基于Robot Framework实现的RESTful Webservice接口自动化测试方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1534905A (zh) * 2003-03-31 2004-10-06 华为技术有限公司 基于构件化的智能业务测试方法
US20040260516A1 (en) * 2003-06-18 2004-12-23 Microsoft Corporation Method and system for supporting negative testing in combinatorial test case generators
CN101593145A (zh) * 2008-05-29 2009-12-02 福建升腾资讯有限公司 高效性高覆盖率功能测试用例设计方法
CN106095677A (zh) * 2016-06-08 2016-11-09 上海爱数信息技术股份有限公司 基于Robot Framework实现的RESTful Webservice接口自动化测试方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
谢文哲: ""基于模块化测试框架的单元自动化测试框架的设计与实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Also Published As

Publication number Publication date
CN107329895B (zh) 2020-08-21

Similar Documents

Publication Publication Date Title
CN109447810A (zh) 并行区块链共识方法、系统、电子设备和计算机可读存储介质
CN110309022B (zh) 模拟交易测试的方法、模拟器、设备及存储介质
CN107329899A (zh) 一种应用程序兼容性测试方法和装置
CN110503544A (zh) 征信数据报送方法、装置、系统、计算机设备和存储介质
CN106897053A (zh) 一种代码发布方法与装置
CN107239403A (zh) 一种问题定位方法和设备
CN105183641B (zh) 一种内核模块的数据一致性校验方法及系统
CN108335718A (zh) 一种测试方法及装置
CN106708723B (zh) 一种测试、校验方法及装置
CN106815725A (zh) 一种交易验证方法和装置
CN107451058A (zh) 一种软件开发方法和装置
CN106024066A (zh) 一种sram的检测方法及系统
Kretzschmar et al. Compact and fast fault injection system for robustness measurements on SRAM-based FPGAs
CN111723102A (zh) 一种智能合约的更新方法和装置
CN111612447A (zh) 一种批量电子支付的方法、装置、存储介质和电子设备
US7996801B2 (en) Methods and systems for on-the-fly chip verification
CN113778878A (zh) 接口测试方法、装置、电子设备及存储介质
CN106971757A (zh) 一种检验Nand Flash质量的方法及系统
CN110610343A (zh) 业务流程的生成方法、装置及存储介质
US8209666B1 (en) Systems and methods for testing interfaces and applications
CN107329895A (zh) 一种模块化测试用例的测试方法及装置
CN110633213B (zh) 单元测试方法、装置、计算机设备和存储介质
CN111640022A (zh) 一种柜面交易的授权方法、装置及系统
CN110503296A (zh) 测试方法、装置、计算机设备和存储介质
CN108710658A (zh) 一种数据记录的存储方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant