CN112380117A - 一种软件测试基础用例的生产方法、装置和电子设备 - Google Patents
一种软件测试基础用例的生产方法、装置和电子设备 Download PDFInfo
- Publication number
- CN112380117A CN112380117A CN202011256385.XA CN202011256385A CN112380117A CN 112380117 A CN112380117 A CN 112380117A CN 202011256385 A CN202011256385 A CN 202011256385A CN 112380117 A CN112380117 A CN 112380117A
- Authority
- CN
- China
- Prior art keywords
- data
- fields
- field
- software test
- production data
- 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
- 238000004519 manufacturing process Methods 0.000 title claims abstract description 102
- 238000000034 method Methods 0.000 claims abstract description 39
- 230000003993 interaction Effects 0.000 claims abstract description 13
- 230000008569 process Effects 0.000 claims description 8
- 238000013522 software testing Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 4
- 238000012360 testing method Methods 0.000 abstract description 15
- 230000000694 effects Effects 0.000 abstract description 3
- 230000000875 corresponding effect Effects 0.000 description 41
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007621 cluster analysis Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
本说明书一个或多个实施例提供一种软件测试基础用例的生产方法、装置和电子设备;所述方法包括:从数据库中获取不同业务系统的生产数据表,分别确定各生产数据表包含的字段及其对应的字段内容;从字段中确定各业务系统之间进行数据交互的标记字段;根据各生产数据表包含的所述标记字段及其对应的字段内容生成业务含义字典;根据标记字段以及业务含义字典,记录在不同业务系统中数据的生成轨迹,并依据生成轨迹生成软件测试所需的基础用例。可以看出,本方案达到了快速,简单获取用户真实操作数据的效果,并作为测试工具使用,代替人工编写测试参数。
Description
技术领域
本说明书一个或多个实施例涉及数据流和数据字典技术领域,尤其涉及一种软件测试基础用例的生产方法、装置和电子设备。
背景技术
在软件测试案例中,其具体参数,主要由测试人员根据软件的文档资料进行编写,文档资料往往根据片面的主观经验得来,而用户对软件的使用习惯千差万别,仅仅依靠测试人员主观经验编写的测试案例是不能完全覆盖用户所有的使用习惯,从而使软件的测试达不到真实效果;并且由于测试案例由测试人员人工编写,使得效率低下,无法满足日益增长的生产需求。
基于此,在实际生产过程中,需要一种能够快速,简单获得用户真实操作数据的方案,以代替人工编写测试数据。
发明内容
有鉴于此,本说明书一个或多个实施例的目的在于提出一种软件测试基础用例的生产方法、装置和电子设备,以解决不能快速,简单地获得用户真实操作数据的问题。
基于上述目的,本说明书一个或多个实施例提供了一种软件测试基础用例的生产方法,包括:从数据库中获取不同业务系统的生产数据表,分别确定各所述生产数据表包含的字段及其对应的字段内容;从所述字段中确定各业务系统之间进行数据交互的标记字段;根据所述各生产数据表包含的所述标记字段及其对应的字段内容生成业务含义字典;根据所述标记字段以及所述业务含义字典,记录在不同业务系统中数据的生成轨迹,并依据所述生成轨迹生成软件测试所需的基础用例。
基于同一发明构思,本说明书一个或多个实施例还提供了一种软件测试基础用例的生产装置,包括:
获取模块,被配置为从数据库中获取不同业务系统的生产数据表,分别确定各生产数据表包含的字段及其对应的字段内容;
标记模块,被配置为从所述字段中确定各业务系统之间进行数据交互的标记字段;
生成模块,被配置为根据上述各生产数据表包含的所述标记字段及其对应的字段内容生成业务含义字典;
基础用例模块,被配置为根据所述标记字段以及所述业务含义字典,记录在不同业务系统中数据的生成轨迹,并依据所述生成轨迹生成软件测试所需的基础用例。
基于同一发明构思,本说明书一个或多个实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任意一项所述的方法。
基于同一发明构思,本说明书一个或多个实施例还提供了一种非暂态计算机可读存储介质,其中,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上述软件测试基础用例的生产的方法。
从上面所述可以看出,本说明书一个或多个实施例提供的一种软件测试基础用例的生产方法、装置和电子设备,基于数据库系统中的表字段特征,以及数据流技术,综合考虑了数据在各个不同业务系统之间交互,流转时所具备的特点,达到了快速,简单获取用户真实操作数据的效果。获得的用户真实操作数据,可以在软件测试过程中,作为测试工具使用,从而代替人工编写操作参数,提升了软件测试的真实性;并且可以根据具体的不同测试需求,灵活改变基础用例的测试步骤。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一个或多个实施例软件测试基础用例的生产的方法示意图;
图2为本说明书一个或多个实施例软件测试基础用例的生产的装置示意图;
图3为本说明书一个或多个实施例的电子设备结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本说明书一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
如背景技术部分所述,现有的软件测试基础用例的生产方法还难以满足软件测试中,大规模快速,简单获取用户真实操作数据的需要。申请人在实现本公开的过程中发现,现有的软件测试基础用例的生产方法存在的主要问题在于:针对结构复杂的程序,执行速度较慢,操作复杂。
有鉴于此,本说明书一个或多个实施例提供了一种软件测试基础用例的生产方法,具体的,首先,从公司的数据库中取得属于各个不同业务系统的生产数据表,并通过分析数据表中所包含的字段,提取出标记字段;之后,在同一数据库中,建立业务含义数据表,并利用标记字段,根据含有标记字段的所有生产数据表的字段,及其所包含的字段内容,生成业务含义数据表;当用户在不同业务系统之间进行操作时,数据将在业务含义数据表中进行更新,此时,利用在数据库中的脚本,将各个业务系统中更新的数据生成轨迹表;最后,根据轨迹表中不同的字段,生成软件测试所需的基础用例,其中包括:用户具体操作,和涉及的业务系统数据表。
以下,通过具体的实施例来详细说明本说明书一个或多个实施例的技术方法。
参考图1,本说明书一个实施例的软件测试基础用例的生产方法,包括以下步骤:
步骤S101、从数据库中获取不同业务系统的生产数据表,分别确定各生产数据表包含的字段及其对应的字段内容。
在本说明书的一些实施例中,为了完成上述步骤,首先,可以在连接了数据库的电子设备上,调取并浏览属于各个业务系统的生产数据表,并从各个生产数据表中提取各个字段的名称及其对应的字段内容。具体地,可以在不同的业务系统数据库中建立批作业定时以获取上述生产数据表。
需要说明的是,上述生产数据表记录了业务系统在使用过程中涉及的各种数据,如用户信息数据,商品信息数据等。此外,上述字段内容具体可以是指生产数据表中某个字段所代表的数据项的含义。
例如,在本说明书一些具体的示例中,上述业务系统可以包括:登录系统、产品系统以及支付系统。如此,在本步骤中,可以从数据库中调取上述登录系统、产品系统和支付系统的生产数据表,并确定上述三个生产数据表所包含的字段及其对应的字段内容。其中,如下表1显示了上述登录系统的生产数据表所包含的字段及其对应的字段内容;表2显示了上述产品系统的生产数据表所包含的字段及其对应的字段内容;表3显示了上述支付系统的生产数据表所包含的字段及其对应的字段内容。
表1本方法实施例中的登录系统的生产数据表所包含的字段及其对应的字段内容
表2本方法实施例中的产品系统的生产数据表所包含的字段及其对应的字段内容
字段 | 字段内容 |
ID | 用户代码 |
ProID | 产品代码 |
ProAttr | 产品属性 |
Time | 浏览时间 |
表3本方法实施例中的支付系统的生产数据表所包含的字段及其对应的字段内容
字段 | 字段内容 |
ID | 用户代码 |
BCode | 银行代码 |
Type | 支付方式 |
步骤S102、从所述字段中确定各业务系统之间进行数据交互的标记字段。
在本说明书的一些实施例中,可以通过比对上述各生产数据表包含的字段及其对应的字段内容确定各生产数据表包含的相同的字段,并将其作为各业务系统之间进行数据交互的标记字段。
例如,在上述实施例中,通过比对上述登录系统、产品系统和支付系统的生产数据表,均包含相同的字段ID,由此可以确定,字段ID为登录系统、产品系统和支付系统进行数据交互时的标记字段。
在分析出登录系统数据表与支付系统数据表标记字段的基础上,可以利用对标记字段进行关联的方式,对多个数据表的所有字段进行提取。具体的,在一些具体的示例中,可以使用如下的左关联,也即leftjoin语句,将登录系统生产数据表中的字段ID,以及支付系统生产数据表中字段ID进行关联,并使关联后的B表中的所有字段,依据关联的ID字段,返回A表,形成按照关联字段ID进行排列的,组合了A表与B表中所有字段的一个结果集;同时使用提取语句,也即select*语句,将返回后的所述结果集进行提取:
select*from A left join B on A.ID=B.ID
步骤S103、根据上述各生产数据表包含的所述标记字段及其对应的字段内容生成业务含义字典。
在本说明书的实施例中,上述业务含义字典具体包括各生产数据表包含的字段及其对应的字段内容以及该字段所属的业务系统,其中,对于上述标记字段可以仅记录一次。
在系统中运行业务含义字典,并按照根据所述标记字段提取出的A表与B表中的所有字段及其内容,生成业务含义字典。
具体的,在本说明书的实施例中,在连接了各业务系统内部数据库的电子设备上,可以建立一个新的数据表作为上述业务含义字典。
例如,在上述示例中,基于上述表1、表2和表3可以建立如下表4所示的业务含义字典。
表4本方法实施例中的业务含义数据字典
字段 | 数据内容 | 业务系统 |
ID | 用户代码 | 登录系统 |
Slot | 登陆时间 | 登录系统 |
Log | 登陆状态 | 登录系统 |
ProID | 产品代码 | 产品系统 |
ProAttr | 产品属性 | 产品系统 |
Time | 浏览时间 | 产品系统 |
BCode | 银行代码 | 支付系统 |
Type | 支付方式 | 支付系统 |
需要说明的是,以上仅是以登录系统、产品系统和支付系统作为示例进行的说明,在实际生产中,除了登录系统、产品系统和支付系统之外,还可以根据具体需要加入售后系统,销售系统等所有业务系统,因此,在实际具体情况中,所述业务含义数据字典往往具备数据库中最为全面的数据字段。
结合本实施例,具体的操作为:根据上述select语句提取出的不同数据表内的所有字段,使用如下的create语句,实现将提取出但还未进行放置的登录系统数据表,和支付系统数据表中所有字段,生成至所述业务含义数据字典的操作:
create table C as(select*from A left join B on A.ID=B.ID)
在所述的create语句中,C代表了业务含义数据字典,A和B分别代表了登录系统数据表和支付系统数据表。
步骤S104、根据所述标记字段以及所述业务含义字典,记录在不同业务系统中数据的生成轨迹,并依据所述生成轨迹生成软件测试所需的基础用例。
在本说明书的实施例中,上述步骤S104具体可以包括:
在步骤S104.1中,根据系统预先设置的触发条件收集各个业务系统在一定时间内新产生的生产数据。
具体地,在本说明书的实施例中,上述触发条件可以是按照预设的时间周期触发,或者按照特定的事件触发等等。
例如,当一个用户A在登录系统中登录,然后,在产品系统中进行产品浏览B,最后,在支付系统中对产品B进行支付后,将分别在登录系统、产品系统以及支付系统中新产生如下表4、5和6所示的生产数据。
表4显示了登录系统的生产数据
ID | Slot | Log |
A | XXXX | Successful |
表5显示了产品系统的生产数据
ID | ProID | ProAttr | Time |
A | B | XXXX | XXXX |
表6显示了支付系统的生产数据
如此,在本步骤中,可以首先收集上述表4、5和6的生产数据。
在步骤S104.2中,根据所述标记字段将收集的生产数据关联起来,得到汇总数据表。
例如,在上述示例中,可以将上述表4、5和6所示的生产数据关联成如下表7所示的汇总数据表中的一条数据记录。
表7显示了汇总数据表的一个示例
ID | Slot | Log | ProID | ProAttr | Time | BCode | Type |
A | XXXX | XXXX | B | XXXX | XXXX | XXXX | XXXX |
在本说明书的实施例中,上述关联可以通过SQL语言中的关联语句实现。例如,select*from A left join B on A.ID=B.ID语句可以将表A和表B中的数据项按照ID字段关联起来,生成新的数据表。
在步骤S104.3中,根据所述业务含义字典以及上述汇总数据表,生成用于标识不同业务系统中数据生成轨迹的数据生成轨迹表。
在本步骤中,可以根据上述汇总数据表中各个字段从业务含义字典中提取各个字段对应的字段内容,从而得到数据生成轨迹表。该数据生成轨迹表记录了针对用户的操作在各个业务系统中数据生成的轨迹以及在上述过程中所涉及的各个数据字段。
例如,在上述示例中,根据上述表7,通过在业务含义字典中查找表7中各个字段对应的字段内容可以得到如下表8所示的数据生成轨迹表。
表8显示了数据生成轨迹表的一个示例
业务系统 | 所涉及数据字段 |
登录系统 | 用户代码、登陆时间、登陆状态 |
产品系统 | 产品代码、产品属性、浏览时间 |
支付系统 | 银行代码、支付方式 |
从表8可以看出,在本次用户操作过程中,数据从登录系统流转到产品系统,再从产品系统流转到支付系统,并且,在该数据生成轨迹表中,本次操作在每个业务系统中涉及的数据字段也有相应的记录。从而可以清晰的记录一次用户的操作在各个业务系统中数据生成的轨迹。
在步骤S104.4中,根据数据的生成轨迹生成软件测试所需的基础用例。
在本说明书的实施例中,通过上述数据的生成轨迹可以获知用户在系统中的操作。然后,可以根据上述用户在系统中的操作生成软件测试所需的基础用例。
具体地,可以预先生成软件测试所需的基础用例模板,在本说明书的实施例中,上述基础用例模板可以以Excel文档的形式存储,并从上述数据的生成轨迹中依次提取数据生成所涉及的业务系统和数据字段(也称为模块),并依次填写至上述基础用例模板的相应预留字段的位置上,从而生成上述基础用例。
在本说明书的实施例中,还可以对大量的用户在系统中的操作进行统计或聚类分析,得到一种或多种用户的在系统中的操作习惯,从而进一步可以根据用户在系统中的操作习惯生成软件测试所需的基础用例。具体地,上述操作习惯的记录形式也类似于表8所示的数据的生成轨迹的形式。因而,在本例中,也可以预先生成软件测试所需的基础用例模板,并从上述用户的操作习惯中依次提取业务系统和数据字段(也称为模块),并依次填写至上述基础用例模板的相应预留字段的位置上,从而生成上述基础用例。
在本实施例中,将软件测试所需的基础用例以Excel文档的形式存储,是为了实现方便软件测试人员查阅,与后续编辑修改的双重目的。
具体的,利用示例表8代表的轨迹表,生成方式为使用如下语句实现:
String sql="select*from轨迹表";
rs=sm.executeQuery(sql);
String[]title轨迹表={"序号","系统","模块"};
File file轨迹表=new File("基础用例.xls");
WritableWorkbook workbook轨迹表=Workbook.createWorkbook(file轨迹表);
WritableSheet sheet轨迹表=workbookA.createSheet("sheet1",0);
workbookA.write();
workbookA.close();
其中,首先将表8的轨迹表在数据库中定义为字符串,并返回数据库;之后,将轨迹表的字符串按照列归类,进行基础用例的生成,在本实施例中,所述序号为得到的基础用例中各个用例的序列编号,例如可以从1开始向后依次排列为:1、2、3等;所述系统对应代表了轨迹表的业务系统字段中登录系统,产品系统,和支付系统;所述模块对应代表了为轨迹表的所涉及数据字段中的整列字段;最后将生成的.xls格式的文件,并命名为:基础用例。需要说明的是,在本实施例中,基础用例不限于Excel的形式,也可以根据供软件测试人员进行测试的具体需求,以其他格式的文档储存,例如:.txt格式,或.docx格式。
可以看出,由于本说明书实施例所生成的软件测试所需的基础用例是根据对用户在实际系统中的操作进行统计后得到的,因此,非常贴近用户在实际使用软件时,对软件的使用习惯,从而可以使软件测试的结果更加贴近真实情况,使其更加真实可信,提升了测试结果的可用度;并且,由于每个不同测试中,操作的步骤与预期的结果都不同,要按照具体需求设定步骤,因此将基础用例作为软件测试工具,可以实现测试操作只需根据具体需求,调整不同的测试步骤即可,摒弃了每条测试用例都需单独人工编辑所有项目的方式,有效提高了软件测试的生产效率。
需要说明的是,本说明书一个或多个实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本说明书一个或多个实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,与上述任意实施例方法相对应的,本说明书一个或多个实施例还提供了一种软件测试基础用例的生产的装置。
结合保险公司的用户进行登录并支付的具体操作实施例,参考图2,所述软件测试基础用例的生产的装置,包括:
获取模块S201,被配置为从数据库中获取不同业务系统的生产数据表,分别确定各生产数据表包含的字段及其对应的字段内容;
标记模块S202,被配置为从所述字段中确定各业务系统之间进行数据交互的标记字段;
生成模块S203,被配置为根据上述各生产数据表包含的所述标记字段及其对应的字段内容生成业务含义字典;
基础用例模块S204,被配置为根据所述标记字段以及所述业务含义字典,记录在不同业务系统中数据的生成轨迹,并依据所述生成轨迹生成软件测试所需的基础用例。
作为一个可选的实施例,所述获取模块S201,具体被配置为,从数据库中调取业务系统的生产数据表,包括:登录系统、产品系统以及支付系统。并确定上述三个生产数据表所包含的字段及其对应的字段内容。其中,如下表9显示了上述登录系统的生产数据表所包含的字段及其对应的字段内容;表10显示了上述产品系统的生产数据表所包含的字段及其对应的字段内容;表11显示了上述支付系统的生产数据表所包含的字段及其对应的字段内容。
表9本方法实施例中的登录系统的生产数据表所包含的字段及其对应的字段内容
字段 | 数据内容 |
ID | 用户代码 |
Slot | 登陆时间 |
Log | 登陆状态 |
表10本方法实施例中的产品系统的生产数据表所包含的字段及其对应的字段内容
字段 | 字段内容 |
ID | 用户代码 |
ProID | 产品代码 |
ProAttr | 产品属性 |
Time | 浏览时间 |
表11本方法实施例中的支付系统的生产数据表所包含的字段及其对应的字段内容
字段 | 字段内容 |
ID | 用户代码 |
BCode | 银行代码 |
Type | 支付方式 |
作为一个可选的实施例,所述标记模块S202,具体被配置为通过比对上述登录系统、产品系统和支付系统的生产数据表,均包含相同的字段ID,由此可以确定,字段ID为登录系统、产品系统和支付系统进行数据交互时的标记字段。
进一步的,使用如下的左关联,也即left join语句,将登录系统生产数据表中的字段ID,以及支付系统生产数据表中字段ID进行关联,并使关联后的B表中的所有字段,依据关联的ID字段,返回A表,形成按照关联字段ID进行排列的,组合了A表与B表中所有字段的一个结果集;同时使用提取语句,也即select*语句,将返回后的所述结果集进行提取:
select*from A left join B on A.ID=B.ID
作为一个可选的实施例,所述生成模块S203,具体被配置为基于上述表9、表10和表11可以建立如下表12所示的业务含义字典。
表12本方法实施例中的业务含义数据字典
具体的操作为:根据上述select语句提取出的不同数据表内的所有字段,使用如下的create语句,实现将提取出但还未进行放置的登录系统数据表,和支付系统数据表中所有字段,生成至所述业务含义数据字典的操作:
create table C as(select*from A left join B on A.ID=B.ID)
在所述的create语句中,C代表了业务含义数据字典,A和B分别代表了登录系统数据表和支付系统数据表。
作为一个可选的实施例,所述基础用例模块S204,具体被配置包括S204.1、S204.2、S204.3、和S204.4四个具体部分。
在S204.1部分中,当一个用户A在登录系统中登录,然后,在产品系统中进行产品浏览B,最后,在支付系统中对产品B进行支付后,将分别在登录系统、产品系统以及支付系统中新产生如下表13、14和15所示的生产数据。
表13显示了登录系统的生产数据
ID | Slot | Log |
A | XXXX | Successful |
表14显示了产品系统的生产数据
ID | ProID | ProAttr | Time |
A | B | XXXX | XXXX |
表15显示了支付系统的生产数据
ID | BCode | Type |
A | XXXX | XXXX |
如此,在本步骤中,可以首先收集上述表13、14和15的生产数据。
在S204.2部分中,将上述表13、14和15所示的生产数据关联成如下表16所示的汇总数据表中的一条数据记录。
表16显示了汇总数据表的一个示例
ID | Slot | Log | ProID | ProAttr | Time | BCode | Type |
A | XXXX | XXXX | B | XXXX | XXXX | XXXX | XXXX |
在本说明书的实施例中,上述关联可以通过SQL语言中的关联语句实现。例如,select*from A left join B on A.ID=B.ID语句可以将表A和表B中的数据项按照ID字段关联起来,生成新的数据表。
在S204.3部分中,根据上述表16,通过在业务含义字典中查找表16中各个字段对应的字段内容可以得到如下表17所示的数据生成轨迹表。
表17显示了数据生成轨迹表的一个示例
业务系统 | 所涉及数据字段 |
登录系统 | 用户代码、登陆时间、登陆状态 |
产品系统 | 产品代码、产品属性、浏览时间 |
支付系统 | 银行代码、支付方式 |
从表17可以看出,在本次用户操作过程中,数据从登录系统流转到产品系统,再从产品系统流转到支付系统,并且,在该数据生成轨迹表中,本次操作在每个业务系统中涉及的数据字段也有相应的记录。从而可以清晰的记录一次用户的操作在各个业务系统中数据生成的轨迹。
在S204.4部分中,将软件测试所需的基础用例,以Excel文档的形式存储,实现方便软件测试人员查阅,与后续编辑修改的双重目的。具体的,利用示例表17代表的轨迹表,生成方式为使用如下语句实现:
String sql="select*from轨迹表";
rs=sm.executeQuery(sql);
String[]title轨迹表={"序号","系统","模块"};
File file轨迹表=new File("基础用例.xls");
WritableWorkbook workbook轨迹表=Workbook.createWorkbook(file轨迹表);
WritableSheet sheet轨迹表=workbookA.createSheet("sheet1",0);
workbookA.write();
workbookA.close();
其中,首先将表17的轨迹表在数据库中定义为字符串,并返回数据库;之后,将轨迹表的字符串按照列归类,进行基础用例的生成,在本实施例中,所述序号为得到的基础用例中各个用例的序列编号,例如可以从1开始向后依次排列为:1、2、3等;所述系统对应代表了轨迹表的业务系统字段中登录系统,产品系统,和支付系统;所述模块对应代表了为轨迹表的所涉及数据字段中的整列字段;最后将生成的.xls格式的文件,并命名为:基础用例。需要说明的是,在本实施例中,基础用例不限于Excel的形式,也可以根据供软件测试人员进行测试的具体需求,以其他格式的文档储存,例如:.txt格式,或.docx格式。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述任一实施例中相应的软件测试基础用例的生产方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本说明书一个或多个实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任意一实施例所述的软件测试基础用例的生产方法。
图3示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的装置用于实现前述任一实施例中相应的软件测试基础用例的生产方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本说明书一个或多个实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的软件测试基础用例的生产方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的软件测试基础用例的生产方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本说明书一个或多个实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本说明书一个或多个实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本说明书一个或多个实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本说明书一个或多个实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种软件测试基础用例的生产方法,其特征在于,包括:
从数据库中获取不同业务系统的生产数据表,分别确定各所述生产数据表包含的字段及其对应的字段内容;
从所述字段中确定各业务系统之间进行数据交互的标记字段;
根据所述各生产数据表包含的所述标记字段及其对应的字段内容生成业务含义字典;
根据所述标记字段以及所述业务含义字典,记录在不同业务系统中数据的生成轨迹,并依据所述生成轨迹生成软件测试所需的基础用例。
2.根据权利要求1所述的软件测试基础用例的生产方法,其特征在于,所述生产数据表包括程序使用过程中,所能涉及到的属于多个不同业务系统的数据表;所述生产数据表中的数据表达为表字段,及相应字段内容的形式。
3.根据权利要求1所述的软件测试基础用例的生产方法,其特征在于,所述业务含义字典的内容,为整合了所有业务系统中的数据表,并以表字段,及相应字段内容的形式表达。
4.根据权利要求1所述的软件测试基础用例的生产方法,其特征在于,所述从所述字段中确定各业务系统之间进行数据交互的标记字段包括:通过比对上述各生产数据表包含的字段及其对应的字段内容确定各生产数据表包含的相同的字段,并将其作为所述标记字段。
5.根据权利要求1所述的软件测试基础用例的生产方法,其特征在于,所述根据所述标记字段以及所述业务含义字典,记录在不同业务系统中数据的生成轨迹包括:
根据系统预先设置的触发条件收集各个业务系统在一定时间内新产生的生产数据;
根据所述标记字段将收集的生产数据关联起来,得到汇总数据表;以及
根据所述业务含义字典以及上述汇总数据表,生成用于标识不同业务系统中数据生成轨迹的数据生成轨迹表。
6.根据权利要求1所述的软件测试基础用例的生产方法,其特征在于,所述依据所述生成轨迹生成软件测试所需的基础用例包括:
预先生成软件测试所需的基础用例模板;
从所述数据的生成轨迹中依次提取数据生成所涉及的业务系统和数据字段;以及
依次将提取的业务系统和数据字段填写至所述基础用例模板的相应预留字段的位置,生成上述基础用例。
7.根据权利要求1所述的软件测试基础用例的生产方法,其特征在于,所述获取不同业务系统的生产数据表包括:通过执行关联操作语句,从所述不同业务系统中获取所述生产数据表。
8.一种软件测试基础用例的生产装置,其特征在于,包括:
获取模块,被配置为从数据库中获取不同业务系统的生产数据表,分别确定各生产数据表包含的字段及其对应的字段内容;
标记模块,被配置为从所述字段中确定各业务系统之间进行数据交互的标记字段;
生成模块,被配置为根据所述各生产数据表包含的所述标记字段及其对应的字段内容生成业务含义字典;
基础用例模块,被配置为根据所述标记字段以及所述业务含义字典,记录在不同业务系统中数据的生成轨迹,并依据所述生成轨迹生成软件测试所需的基础用例。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任意一项所述的方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行权利要求1至7任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011256385.XA CN112380117A (zh) | 2020-11-11 | 2020-11-11 | 一种软件测试基础用例的生产方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011256385.XA CN112380117A (zh) | 2020-11-11 | 2020-11-11 | 一种软件测试基础用例的生产方法、装置和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112380117A true CN112380117A (zh) | 2021-02-19 |
Family
ID=74582759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011256385.XA Pending CN112380117A (zh) | 2020-11-11 | 2020-11-11 | 一种软件测试基础用例的生产方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112380117A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113220593A (zh) * | 2021-06-04 | 2021-08-06 | 中国农业银行股份有限公司 | 生成测试数据的方法、装置、设备、存储介质及程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050060317A1 (en) * | 2003-09-12 | 2005-03-17 | Lott Christopher Martin | Method and system for the specification of interface definitions and business rules and automatic generation of message validation and transformation software |
EP3109763A1 (en) * | 2015-06-24 | 2016-12-28 | Tata Consultancy Services Limited | Method and system for generating functional test cases for software systems |
US20180089252A1 (en) * | 2016-09-28 | 2018-03-29 | Linkedin Corporation | Verifying correctness in graph databases |
CN110928879A (zh) * | 2019-11-20 | 2020-03-27 | 贵州电网有限责任公司电力科学研究院 | 宽表生成方法及装置 |
CN111639023A (zh) * | 2020-05-16 | 2020-09-08 | 中信银行股份有限公司 | 基于用户操作时序图的测试用例生成方法和装置 |
-
2020
- 2020-11-11 CN CN202011256385.XA patent/CN112380117A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050060317A1 (en) * | 2003-09-12 | 2005-03-17 | Lott Christopher Martin | Method and system for the specification of interface definitions and business rules and automatic generation of message validation and transformation software |
EP3109763A1 (en) * | 2015-06-24 | 2016-12-28 | Tata Consultancy Services Limited | Method and system for generating functional test cases for software systems |
US20180089252A1 (en) * | 2016-09-28 | 2018-03-29 | Linkedin Corporation | Verifying correctness in graph databases |
CN110928879A (zh) * | 2019-11-20 | 2020-03-27 | 贵州电网有限责任公司电力科学研究院 | 宽表生成方法及装置 |
CN111639023A (zh) * | 2020-05-16 | 2020-09-08 | 中信银行股份有限公司 | 基于用户操作时序图的测试用例生成方法和装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113220593A (zh) * | 2021-06-04 | 2021-08-06 | 中国农业银行股份有限公司 | 生成测试数据的方法、装置、设备、存储介质及程序产品 |
CN113220593B (zh) * | 2021-06-04 | 2024-06-14 | 中国农业银行股份有限公司 | 生成测试数据的方法、装置、设备、存储介质及程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9904694B2 (en) | NoSQL relational database (RDB) data movement | |
US10769123B2 (en) | Workload-driven recommendations for Columnstore and Rowstore indexes in relational databases | |
CN111367976B (zh) | 基于java反射机制的excel文件数据的导出方法及装置 | |
CN109308254B (zh) | 一种测试方法、装置及测试设备 | |
US20150032708A1 (en) | Database analysis apparatus and method | |
CN111126019B (zh) | 基于模式定制的报表生成方法、装置和电子设备 | |
CN111079944B (zh) | 迁移学习模型解释实现方法及装置、电子设备、存储介质 | |
CN106294128B (zh) | 一种导出报表数据的自动化测试方法及装置 | |
CN113688288A (zh) | 数据关联分析方法、装置、计算机设备和存储介质 | |
CN114153791A (zh) | 文件快速检索方法、装置、电子设备及存储介质 | |
CN112181410A (zh) | 一种视图层代码生成方法、装置、电子设备及存储介质 | |
CN112380117A (zh) | 一种软件测试基础用例的生产方法、装置和电子设备 | |
US20070282804A1 (en) | Apparatus and method for extracting database information from a report | |
CN116090416B (zh) | 基于标准知识图谱的标准编写方法、系统、设备及介质 | |
CN107909054A (zh) | 图片文本的相似度评价方法及装置 | |
JP6438295B2 (ja) | ハイパーグラフソルバーのためのグラフ入力の自動編集 | |
CN114207598A (zh) | 电子表单表转换 | |
CN113238750A (zh) | 一种病例表单设计器及目标表单界面生成方法 | |
CN114115831A (zh) | 数据处理方法、装置、设备和存储介质 | |
US11126604B2 (en) | Aggregation apparatus, aggregation method, and storage medium | |
CN106557564A (zh) | 一种对象数据分析方法及装置 | |
CN113641785A (zh) | 基于多维度的科技资源相似词检索方法及电子设备 | |
CN108062325A (zh) | 比较方法和比较系统 | |
CN105229618A (zh) | 数据协调支援装置和数据协调支援方法 | |
CN117130946B (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 |