一种基于存储过程的复杂计算功能测试的方法
作者:网络转载 发布时间:[ 2012/10/30 10:39:13 ] 推荐标签:
表3为销售人员得分表(tb_os_point),这个表已经预先存入参加评分的销售ID,
下面两个公式(5)是从原始记录到实际得分的计算公式,
其中, 为在 到 时间段内销售人员拜访任务总量, 为销售人员的成交订单数量, 为转化率, 为销售人员中的高转化率, 为销售人员中的低转化率, 为终销售人员的得分。被测计算功能是将tb_os_log通过上述数学计算得到结果,并存入tb_os_point表的total_point字段。
测试时,首先设计并创建测试表(tb_os_test),表4为测试表的各字段说明,is_pass字段为0本条数据通过测试,is_pass字段为1本条数据测试不通过。
然后,使用存储过程编写测试用例,下面为存储过程代码
CREATE PROCEDURE testStat(IN start_date DATE, IN end_date DATE, IN error_allow DOUBLE)
//三个输入分别为起始日期、截止日期和允许计算误差
BEGIN
DECLARE uc_id INT DEFAULT 0;//销售人员ID
DECLARE done_num INT DEFAULT 0;//成交客户数
DECLARE do_num INT DEFAULT 0;//拜访客户数
DECLARE ratio DOUBLE DEFAULT 0;//转化率
DECLARE r_max DOUBLE DEFAULT 0;//销售人员中的大转化率
DECLARE r_min DOUBLE DEFAULT 100;//销售人员中的大转化率
DECLARE point_test DOUBLE DEFAULT 0;//测试代码计算逻辑
DECLARE point_tested DOUBLE DEFAULT 0;//被测功能逻辑的计算结果
DECLARE point_error DOUBLE DEFAULT 0.1;//误差
DECLARE uc_info CURSOR for SELECT ucid FROM tb_os_point;
DECLARE CONTINUE HANDLER FOR SQLSTATE ’02000′ SET uc_info=NULL;
OPEN uc_info;
FETCH uc_info INTO uc_id;
WHILE uc_id IS NOT NULL DO//计算转化率,并保留中间过程
SELECT count(*) INTO do_num //计算总拜访数
FROM tb_os_log
WHERE visit_date>start_date AND vistit_date SELECT count(*) INTO done_num //计算成交订单数
FROM tb_os_log ;
WHERE visit_date>start_date AND vistit_date SET ratio = done_num / do_num;
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11