测试分享之MYSL 能量的发放、展示、收集

本文为博主原创,未经授权,严禁转载及使用。
本文链接:https://blog.csdn.net/zyooooxie/article/details/117951683

最近做了个需求:和MYSL有些类似,都会发放、收集能量;我以我的项目、平时玩MYSL的经验,对实际能量发放、展示、收集过程,做个分享;

【实际这篇博客推迟发布N个月】

个人博客:https://blog.csdn.net/zyooooxie

【以下所有内容都是我瞎琢磨的,如有纰漏和错误,纯属正常】

MYSL的攻略

打开zfb-MYSL-右上角 攻略,看看,因为下一部分 我有说到;

其中有个 能量小提示:能量将会在产生的3天后过期;

需求

假设 星期一 早上我去吃肠粉,线下支付¥5【线下支付-1g绿色能量】;晚上点了份外卖,没要餐具【绿色外卖-5g绿色能量】;计划周末约朋友去看电影,买了票【网络购票-10g绿色能量】;

假设 星期二 又去吃肠粉,多吃了一份,线下支付¥10【线下支付-2g绿色能量】;晚上心情好,吃了5份肠粉,线下支付¥25【线下支付-5g绿色能量】;因为吃得多,散了个步【行走-30g绿色能量】;结果走远了,坐公交车回的家【公交出行-5g绿色能量】;

假设 星期三 早上又吃肠粉,线下支付¥5【线下支付-1g绿色能量】;想尝尝不同地方的肠粉,特地买了张高铁火车票去广州¥100【网购火车票-10g绿色能量】;到了广州,因为肠粉店稍微有点距离,就骑辆共享单车过去【共享单车-5g绿色能量】;店里肠粉超贵,线下支付¥30【线下支付-6g绿色能量】;晚上 没买到回去的车票,只好住一晚,订酒店【信用住-10g绿色能量】;

睡前无聊,想起来 去MYSL收能量,那我这3天的能量会怎么发放、如何展示,我又要如何收集呢?

发放能量的方案

  1. 方案A:以 行为 分类,能量值做求和

能量发放的规则:以 不同类型的行为 分类,每类的能量值 是3天内 求和的;

星期一( 只看不领) 线下支付1g、绿色外卖5g、网络购票10g;【3个能量球】
星期二( 只看不领) 线下支付8g、绿色外卖5g、网络购票10g、行走30g、公交出行5g;【5个能量球】
星期三( 只看不领) 线下支付15g、绿色外卖5g、网络购票10g、行走30g、公交出行5g、网购火车票10g、共享单车5g、信用住10g;【8个能量球】

收集接口有任务类型 taskType;

那星期一 收集线下支付的能量,传参为:{“taskType”: “offline_payment”}

那星期二 收集行走的能量,传参为:{“taskType”: “walking”}

那星期三 收集共享单车的能量,传参为:{“taskType”: “bicycle_sharing”}

后台将 此类型在3天内的所有记录 做status变更;同时 将所有记录的能量 加到 总能量值;

  1. 方案B:能量 全部展示,不做任何合并

能量发放的规则:每一个能量都是单独的,3天内所有的能量全部展示;

星期一( 只看不领) 线下支付1g、绿色外卖5g、网络购票10g;【3个能量球】
星期二( 只看不领) 线下支付1g、绿色外卖5g、网络购票10g、线下支付2g、线下支付5g、行走30g、公交出行5g;【7个能量球】
星期三( 只看不领) 线下支付1g、绿色外卖5g、网络购票10g、线下支付2g、线下支付5g、行走30g、公交出行5g、线下支付1g、网购火车票10g、共享单车5g、线下支付6g、信用住10g;【12个能量球】

后台会对每个能量球做标记;收集时,将每个能量球的任务id taskId 做传参;

假设线下支付的类型ID为00,行走的类型ID为01,共享单车的类型ID为02;我的用户id为438522;

假设 taskId 是 日期+类型ID+当日index+用户id:

那星期一的 1g线下支付 为:20210705 00 0 438522
{
“taskId”: “20210705000438522”
}

那星期二的 30g行走 为:20210706 01 0 438522
{
“taskId”: “20210706010438522”
}

那星期三的 第二笔 线下支付6g 为:20210707 00 1 438522
{
“taskId”: “20210707001438522”
}

后台会将 对应taskId的记录 做有效期检查后 再做status变更;同时 将此纪录的能量 加到 总能量值;

能量的展示 如何测试

我觉得 这部分测试时,一要保证 前端页面展示无误、二要关注 接口中数据准确、三要关注 接口返回的数据完整性;

假设【方案A】接口返回值是:

{“code”:200,“msg”:“success”,“data”:[{"taskType:“walking”,“taskValue”:“30”},{“taskType”:“offline_payment”,“taskValue”:“8”}]}

每种类型的值会做变动:有新加入、有退出;

假设【方案B】接口返回值是:

{“code”:200,“msg”:“success”,“data”:[{“taskId”:“20210706010438522”,“taskValue”:“30”,“taskStartTime”:“2021-07-07 07:07:07”},{“taskId”:“20210705000438522”,“taskValue”:“1”,“taskStartTime”:“2021-07-06 06:06:06”}]}

每条记录的值不会变;超过有效期此纪录 不返回;

  1. 前端

1,如实展示:接口返回的数据是1 展示就得是1,是2 展示就得是2;
2,某些情形:接口返回的data的len很大、前后N次请求 返回的data相同;
3,异常:接口没有得到响应,接口返回值没有data,接口返回的data的长度为0;

  1. 接口

1,返回的数据 是要和表里是对应的,字段值不能错;
2,请求参数中 pageSize很大时,是否有限制 返回的len;
3,不同page 前后请求 返回的数据是否完整、连贯;

  1. 后台处理数据、能量的发放

1,【拉数据 少】到其他业务系统去拉数据,能否做到数据不多、不少;
2,【拉数据 多】拉得数据多,是否做了分页处理,最后一次取的数据是否不多、不少;
3,【3天有效期】 返回的数据必须是3天内,过期数据被过滤;
4,【已收集的数据】已经收集过的能量 被过滤;

能量收集时 如何测试

测试时,我考虑的情形:正常的能量 要发放、没有的类型 不发放、不属于我的能量 不发放、 过期的能量不发放、多次(并发)请求 不能多发;

细致说:
1,三天有效期内,我未收集的所有能量 收集时都可发放;
2,我没有的taskType【方案A】,不能发放;
3,不属于我的taskId【方案B】,不能发放;
4,三天前 未收集的、已收集的能量【方案B】,不能发放;
5,重复请求、并发请求 某taskType的能量【方案A】、某taskId的能量【方案B】,不能多发;

此外 成功收集后 能量 反推 表的记录,要无误

本文链接:https://blog.csdn.net/zyooooxie/article/details/117951683

交流技术 欢迎+QQ 153132336 zy
个人博客 https://blog.csdn.net/zyooooxie

おすすめ

転載: blog.csdn.net/zyooooxie/article/details/117951683