算法的测试

一、算法规则

   

二、测试方案

  1、6小时更新一次:一般开发会间隔6小时更新数据一次,那么更新的数据存储在哪里去了呢?一般会放在Redis缓存中。

  2、示例:来源时间在近3天内,平台C端用户浏览最多前10条。想要得到这个数据,得使用mysql数据库的查询语句结合对应的表搜索出数据

  3、针对搜索出的数据与Redis缓存中的数据进行对比,即可得到想要的值

  注:

    (1)一般开发想Redis中存储中,会使用到key,具体的key询问开发向开发获取;

    (2)Redis的相关配置询问开发,由开发协助配置

    (3)6个小时一更新对于测试来说,间隔时间太久不方便快速查看结果,因此,快速的处理方案:询问开发更新脚本,需要查看数据时自己执行脚本。

 

三、测试实现步骤

  (1)询问开发获取到的key值示例如下:

    /**
     * redis集合key
     * 1.發布時間在近$1天內
     * 2.平台的C端用戶瀏覽最多前$1條
     */
    const SET_KEY_RANK_TYPE_ARTICLE_CVIEW = 'content_rank_type_article_cview_set';

  (2)来源时间在近3天内,平台C端用户浏览最多前10条  的SQL查询语句示例如下

select cal.action_souce_id,cal.create_at,a.uuid,al.title,a.published_at,count(al.title) from c_user_action_log cal 
join article a on cal.source_uuid = a.uuid join article_lang al on a.uuid = al.article_uuid where cal.action_souce_id = "11"
and al.lang = "zh-cn" and DATE_SUB(CURRENT_TIMESTAMP(), INTERVAL 4 DAY) <= date(published_at) and a.status=4 and a.deleted=0 group by al.title order by count(al.title) desc limit 10;

  (3)将问开发获取的 content_rank_type_article_cview_set  输入到redis中进行搜索

 

 

 

   (4)查看Redis查询到的缓存值

 

 

   (5)将获取到的value值,与自己执行SQL的查询结果进行对比,若值相等,则测试通过,若不相等,则测试失败。

    注:因为我没有进行6小时规则的脚本更新,所以查询的SQL数据值是最新的要多于Redis缓存中的数据

 

 

 

  (6)连接测试环境服务器,进行更新脚本(6小时更新的规则,此处运行脚本进行更新) 

    1、进入服务器,询问开发进入命令与密码

    2、询问开发脚本对应的命令

    具体的测试示例如下:

 

 

 

 此时更新脚本已执行完,再次查看Redis缓存中的数据将会与SQL查询出的数据相对应

 

posted @   Syw_文  阅读(1954)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示