• 算法的测试


    一、算法规则

       

    二、测试方案

      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查询出的数据相对应

  • 相关阅读:
    Maven 配置篇之 pom.xml
    Maven 配置篇之 pom.xml
    Building Seam 2.0 Application with NetBeans 6.1(Maven2)
    TestNG 使 Java 单元测试轻而易举
    文本加密和解密
    DLL/OCX中的MFC对话框不能处理Tab和回车键的问题 .
    如何在编辑框中使用IAutoComplete接口
    演练:创建和使用静态库 (C++)
    MFC Activex OCX Javascript 互相访问问题,线程回调javascript
    VC++学习方法及书籍推荐 .
  • 原文地址:https://www.cnblogs.com/syw20170419/p/11801376.html
Copyright © 2020-2023  润新知