实用第一f智慧密集
BSBaSEIEieSI3l3BBI3SeSBI3BBEIISBBBI3BI9@SI36SaaBeEISeBBei3iaEIBBeBI3BaEIEII3SS@ieEl®
MySQL存储过程在软件测试中的应用
林慧
(湛江科技学院智能制造学院,广东湛江524000)
摘要:在软件测试的环节中,需要准备和维护大量的测试数据,随着软件系统所处理的数据量日益增大,测试数据的需求量也越来越大,传统的手动创建测试数据方式已经无法满足当今的软件测试工作需求,提出了利用MySQL存储过程来创建大量的测试数据,并保存到数据库中,以便管理及修改,提高软件测试的效率和质量。
关键词:MySQL数据库;存储过程;软件测试;测试数据;数据库
1概述
在软件测试环节中,测试数据非常重要,应尽可能地模拟出大量的数据,并且要对测试数据进行维护和管
理,以实现任何类型的测试。创建测试数据的过程工作量大,耗时长,甚至还有可能会影响到软件开发项目的正常进度。因此,如何准备大量的测试数据,并且提高测试数据的质量,是一个非常重要的课题,也将是衡量测试工程师能力的重要指标之一。
2创建测试数据的方式
常用的创建测试数据的方式主要有以下两种:
(1)手动创建:根据业务的需求和流程,由人工选择测试数据。这种方式对于测试数据需求量少的情况,比较合适。
(2)自动化创建:采用自动化程序生成测试数据。如:利用数据库的存储过程产生测试数据。
利用MySQL的存储过程创建和管理大量的测试数据,集合测试数据的生成、保存、再编辑等功能于一体,对于提升软件测试的效率和质量,有着十分重要的意义[1]。3MySQL存储过程[2]
存储过程是数据库存储中一个重要的功能,它是一个可编程的函数,是为了完成某个特定功能而形成的SQL语句集合,创建后保存在数据库中,用户可以通过过程调用语句,来调用执行存储过程。
MySQL存储过程具有以下优点:
(1)增强了SQL语言的功能和灵活性,可以实现复杂的判断和运算。
(2)存储过程被创建编译后,允许被反复调用,而且对其语句进行修改不需要修改源程序。
(3)执行的速度比较快。存储过程是预编译的,首次执行时,内存中已经保留了一份存储过程,再次执行时,可以直接调用。
(4)减少网络流量,节省开销。当某个存储过程被调用时,只需要传送该存储过程的名称和参数就可以了。
(5)通过授予适当的权限进行限制,提高数据库的安全性和数据的完整性。
(6)可以将符合使用单位要求的相关规则及接口程序放到存储过程中,存放在数据库服务器中,以便实现规则的统一管理和规则设置的独立性,减轻程序员的工作量。
将从MySQL存储过程的相关语句语法及产生随机数据的存储过程设计两方面,来阐述如何利用MySQL 存储过程,产生随机数据并将其保存到数据库中,以供软件测试使用。mysql存储过程使用
4MySQL存储过程的相关语句[3]
4.1创建存储过程
CREATE PROCEDURE procedure_name([proce-dure_parameter[,...]])
[]
BEGIN
END
其中,procedure_name表示存储过程的名称;pro-cedure_parameter表示存储过程的参数列表,有3种参数类型:IN输入参数,OUT输出参数,INOUT输入输出参数;characteristic表示存储过程的特性;END 表示SQL代码的内容。
4.2定义变量
DECLARE variable_name[,...]type[DEFAULT val­ue]
作者简介:林慧(1980-),女,工程硕士,实验师,研究方向:软件工程
软件研发与应用SOFTWARE DEVELOPMENT&APPLICATION-
其中,variable_name表示变量的名称曰type表示该变量的类型;DEFAULT value表示将该变量的默认值设置为value。
4.3变量赋值
(1)SET variable_name=exper[,variable_name=ex-per]
其中,variable_name表示变量名;exper表示赋值的表达式。
(2)SELECTcolumn_name[,•••]INTO variable_name [,…]table_expr
其中,column_name表示列的名称;variable_n ame 表示要赋值的变量名称;table_expr表示SELECT语句中的FROM子句及其后面的部分。
4.4流程控制语句
存储过程使用流程控制语句来控制程序的执行流程。简单介绍WHILE语句。
WHILE loop_condition DO
statement_list
END WHILE
其中,loop_condition表示条件判断语句,满足该条件时执行循环;statement_list表示循环时执行的语句列表。
4.5调用存储过程
CALL procedure_name([parameter[,…]])
其中,procedure_name表示存储过程的名称;pa­rameter表示调用该存储过程的实际参数。
5产生随机数据的存储过程设计
5.1产生随机整数
(1)创建数据表ran_nums:存储随机整数。代码如下:
CREATE TABLE ran_nums(nums char(7));
(2)创建存储过程p_num,产生随机整数并保存,其中参数num代表生成的数据个数铁代码如下:CREATE PROCEDURE p_num(in num int)
BEGIN
DECLARE data int(5);
DECLARE i int DEFAULT1;
WHILE i<=num DO
SET data=FL00R(rand()
*10000);
INSERT INTO ran_nums(nums)VALUE(data);
SET i=i+1;
END WHILE;
END
(3)假设调用p_num存储过程,生成5个随机整数并保存,代码如下:
CALL p_num(5);
(4)显示产生的随机整数,代码如下:
SELECT*FROM ran_nums;
5.2产生随机字符串
(1)创建数据表ran_str:存储随机字符串。代码如下:
CREATE TABLE ran_str(strs char(255))DE­FAULT CHARACTER SET utf8;
(2)创建存储过程p_str,产生一个随机字符串并保存,其中参数num代表字符串中包含的字符个数。代码如下:
CREATE PROCEDURE p_str(in num int)
BEGIN
DECLARE str char(255)DEFAULT ,q1w2e3r4t5y6u7i8o9p0asdfghjklzxcvbnm,;
DECLARE nums int(11);
DECLARE returnstr char(255);
DECLARE i int(11)DEFAULT1;
SELECT FLOOR(TRUNCATE(rand(),1)
*36)+1 INTO nums;
SELECT SUBSTRING(str,nums,1)INTO re­turnstr;
WHILE i<num DO
SELECT FLOOR(TRUNCATE(rand(),1) *36)+1INTO nums;
SELECT CONCAT(SUBSTRING(str, nums,1),returnstr)INTO returnstr;
SETi=i+1;
END WHILE;
INSERT INTO ran_str(strs)VALUE(returnstr);
END
(3)创建存储过程p_nstr,用于调用p_str存储过程,产生n个包含5个字符的字符串,代码如下:CREATE PROCEDURE p_nstr(in n int)
BEGIN
DECLARE i int DEFAULT1;
WHILE i<=n DO
CALL p_str(5);
SETi=i+1;
END WHILE;
END
(4)显示产生的随机字符串,实现代码如下:
SELECT*FROM ran_str;
利用存储过程,还可以产生如随机手机号、随机身份证号、随机车牌号、随机日期等随机数据。
6结语
利用MySQL的存储过程,完成测试数据的自动化创建,为软件系统的开发提供模拟数据,能有效地提升软件测试的效率和质量,减轻软件测试人员的工作量,节省软件系统开发的总成本。市场上对于实用的测试数据自动生成工具有很大的需求,可以将自动化方式创建测试数据产品化,开发出软件测试数据管理工具。
参考文献
[1]费雯靖,周光明.基于数据结构的测试数据管理软
件设计与实现[J].质量与可靠性,2020,(01): 53-57.
[2]李辉,等•数据库系统原理及MySQL应用教程.2
版.北京:机械工业出版社,2019,&
[3]俞海.利用MySQL存储过程方法产生模拟表数据
[J].电脑知识与技术,2018,14(20):16-18. [4]李艳杰.MySQL数据库下存储过程的设计与应用
[J].信息技术与信息化,2021,(01):96-97.
_艸9_理9_业_卩_卩9_业_业$0_卩_业_卩_业_弹_业$0_业_艸_业_亚_艸_业_理_弹_艸_归_卩99_卩_业_卩_卩_弹_业$09
(上接第25页)
为400V,可模拟实际电源适配器中Boost变换器的负载特性。负载电阻设定为50ohm,由切入开关控制,负载切入时刻设置步进时长0•02so
点击运行后,模型开始运行,在界面中加入On-Sheet Display模块并添加负载电阻电压、电源输入电压和电流波形,如图10所示。
基于Portunus的系统级接口设计与验证系统通过线路仿真平台和电缆模型库等工具,通过对电源、线路、
(上接第21页)
营管理中普遍应用计算机软件。C语言作为软件编程技术,应当明确技术应用技巧,通过合理应用函数、指针技巧、各个语句及融合汇编语言,从而提高计算机编程水平,设计出更为人性化、科学、严谨的软件程序,提高软件编程可靠性与安全性,从而推动计算机行业发展。
参考文献
[1]刘芙,陈宏明.C语言在AVR单片机控制的微打印
应用[J].计算机测量与控制,2020,28(08): 171-176.载荷设备的建模、仿真和性能分析,最终实现对系统接口中的供电品质、线缆压降的模拟。此系统可应用于涉及大量设备的火箭电气系统中,在样机制造之前通过模拟发现系统接口间的干扰、匹配问题,缩短了设备和系统的研发周期,降低了研发成本。
参考文献
[1]李强,胡元威,董余红,等.基于模块的运载火箭
电气系统匹配验证仿真[J]•计算机测量与控制, 2019,27(02):262-265.
⑵祝伟,张金刚,张佳宁,等.基于1553B总线的运
载火箭供电测控系统设计[J].计算机测量与控制, 2016,(5):21-24.
⑶杨亮,沈志军,胡叶楠,等.Design and Implemen­
tation of a Reliability Evaluating Tool in Virtual Test [J].计算机测量与控制,2016,024(004):275-277.
[2]魏曦.关于计算机C语言编辑程序技巧探究[J].
信息与电脑(理论版),2019,31(21):104-105. [3]胡其荣.基于C语言技术的计算机软件编程发展探
究[J].电脑编程技巧与维护,2020,(11):37­38+55.
[4]孙科,罗奇鸣,李薛剑,陈意云.安全C语言验证
器中形状系统的形状检查方法[J].小型微型计算机系统,2019,40(01):
133-140.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。