zoukankan      html  css  js  c++  java
  • 酒库重构测试—半自动化验证

    回顾下之前测的一个项目

    -------------------------------------------------

    测试需求:

    酒库是我们的php转java重构的一个项目,替换方案是接口地址不变,由php掉java的地址,需要验证替换的接口是否有问题。

    测试思路:

    因为涉及接口很多,人工重复量很大,James whittaker说过:做任何一件事,绝不要重复两次而不意识到或质疑这其实是个问题

    进一步分析:

    • 酒库重构,底层业务逻辑代码没有改变,只是数据源换了
    • 是否可以测试自动化,依次对每个接口进行验证

    至此,如果需要测试自动化验证,那么需要正确的预期结果,说到这,大家应该想到了

    解决方案:

    原PhP接口的返回值就是预期结果,于是就有以下四步流程:

    第一步:采用Jmeter进行接口调用,涉及到所有改动的接口,接口入参可用csv管理。

    第二不:切换环境,同一数据库下,接口入参一样,保存原php与新java每个接口的返回参数。

    第三步:再使用小工具(Beyond compare)比对两个返回参数文档,人工排查不一致的接口。

    第四步:找倒不一致的接口,反馈并排除问题,问题修复后再重复进行第一步。

    以上步骤需要重复多轮,直到返回参数一致,其中根据每个接口的特性,每一轮需要针对性的变换参数验证。

    如:

    • 查询类接口,需要考虑边界值的情况,查询没有数据的、大数据量的。
    • 增改删类接口,组合一下参数,必传和默认值要覆盖到
    • 如果数据存在更新,除验证返回值外,还需要验证数据库的数据

    如果覆盖了以上三点,基本就可以得出酒库重构大概率是正确的,测试通过。

    附上当时接口的csv文件结构:

    列名依次为用例编号、接口名、接口域名、端口号、接口路径、url拼接参数、用例优先级、请求方式、用例名、接口入参、断言值、用例状态

    caseSeq apiName apiAddr apiPort apiUrl apiUrlDeft priority function purpose parameter expectValue stat
    C001 xxx接口 www.xxx.com   /v1/aaa/xxx ?key= H GET 正确参数验证,正常加载 page=1&pageSize=1 0 N
  • 相关阅读:
    LinuxCentOS6.5:六、克隆虚拟机
    Redis:一、简介
    LinuxCentOS6.5:五、软件安装
    shiro配置异常org.springframework.beans.factory.BeanInitializationException: The security manager does not implement the WebSecurityManager interface.
    Redis:二、安装
    LinuxCentOS6.5:二、基本命令
    HttpPostedFile hf = c.Request.Files[0]; 报错:索引超出 怎么办?
    sqlserver使用中遇到过的
    glassfish error : A full JDK (not just JRE) is required
    计划
  • 原文地址:https://www.cnblogs.com/qgc1995/p/14820303.html
Copyright © 2011-2022 走看看