1.目的:由于接口众多,服务端变更接口,会造成服务停用更新,造成客户端不能使用或报错,

在此评估【Web中心】此服务端,接口接口参数增加或减少,是否对客户端造成影响

2.评估内容:服务端增加单值参数,服务端减少单个值参数,Mod对象增加参数,Mod对象减少参数,

(而Json数据类型在此不作评估内容,是因为Json对象反序列化具有很好的伸缩型,不会影响客户端调用方)

3.附PCB工程系统集成示意图:

一.Web服务端增加单个值参数

改前-- 服务端(1个参数):

        /// <summary>
/// 测试Web接口(单值参数)
/// </summary>
/// <param name="ar1"></param>
/// <returns></returns>
public string getInfoTest(string ar1)
{
return $"getInfoTest传参测试{ar1}";
}

客户端调用(1个参数):

         string result = WebOrc2_.getInfoTest("");
// 返回: getInfoTest传参测试1

改后-- 服务端(2个参数)---增加参数:

        /// <summary>
/// 测试Web接口(单值参数)
/// </summary>
/// <param name="ar1"></param>
/// <returns></returns>
public string getInfoTest(string ar1, int ar2)
{
return $"getInfoTest传参测试{ar1}___{ar2}";
}

客户端调用(1个参数)---客户端不更新接口引用:

        string result = WebOrc2_.getInfoTest("");
// 返回: getInfoTest传参测试1___0

小结:对于服务端接口增加单值参数后,是不会造成客户端调用报错的,服务端对于增加的参数初始值处理:如:int初始0,  string初始null

二. Web服务端减少单个值参数

改前-- 服务端(2个参数):

         /// <summary>
/// 测试Web接口(单值参数)
/// </summary>
/// <param name="ar1"></param>
/// <returns></returns>
public string getInfoTest(string ar1, int ar2)
{
return $"getInfoTest传参测试{ar1}___{ar2}";
}

客户端调用(2个参数):

         string result = WebOrc2_.getInfoTest("",);
// 返回: getInfoTest传参测试1___2

改后-- 服务端(1个参数):

      /// <summary>
/// 测试Web接口(单值参数)
/// </summary>
/// <param name="ar1"></param>
/// <returns></returns>
public string getInfoTest(string ar1)
{
return $"getInfoTest传参测试{ar1}";
}

客户端调用(2个参数)---客户端不更新接口引用:

           string result = WebOrc2_.getInfoTest("",);
// 返回: getInfoTest传参测试1

小结:对于服务端接口减少单值参数后,是不会造成客户端调用报错的

三. Web服务端增加Mod参数

改前-- 服务端(Mod类1个参数):

        /// <summary>
/// 测试Web接口(单值参数)
/// </summary>
/// <param name="ar1"></param>
/// <returns></returns>
public string getInfoTest(ModTest mod)
{
return $"getInfoTest传参测试{mod.ar1}";
}
public class ModTest
{
public string ar1 { get; set; }
}

客户端调用(Mod类1个参数):

            ModTest mod_ = new ModTest();
mod_.ar1 = "";
string result = WebOrc2_.getInfoTest(mod_);
// 返回: getInfoTest传参测试1

改后-- 服务端(Mod类2个参数)---增加参数:

        /// <summary>
/// 测试Web接口(单值参数)
/// </summary>
/// <param name="ar1"></param>
/// <returns></returns>
public string getInfoTest(ModTest mod)
{
return $"getInfoTest传参测试{mod.ar1}__{mod.ar2}";
}
public class ModTest
{
public string ar1 { get; set; }
public string ar2 { get; set; }
}

客户端调用(Mod类1个参数)--客户端不更新接口引用:

            ModTest mod_ = new ModTest();
mod_.ar1 = "";
string result = WebOrc2_.getInfoTest(mod_);
// 返回: getInfoTest传参测试1__

小结:对于服务端接口Mod减少参数后,是不会造成客户端调用报错的,服务端对于增加的参数初始值处理:如:int初始0,  string初始null

四.Web服务端减少Mod参数

改前-- 服务端(Mod类2个参数):

        /// <summary>
/// 测试Web接口(单值参数)
/// </summary>
/// <param name="ar1"></param>
/// <returns></returns>
public string getInfoTest(ModTest mod)
{
return $"getInfoTest传参测试{mod.ar1}__{mod.ar2}";
}
public class ModTest
{
public string ar1 { get; set; }
public string ar2 { get; set; }
}

客户端调用(Mod类2个参数):

           ModTest mod_ = new ModTest();
mod_.ar1 = "";
mod_.ar2 = "";
string result = WebOrc2_.getInfoTest(mod_);
// 返回: getInfoTest传参测试1__2

改后-- 服务端(Mod类1个参数):

        /// <summary>
/// 测试Web接口(单值参数)
/// </summary>
/// <param name="ar1"></param>
/// <returns></returns>
public string getInfoTest(ModTest mod)
{
return $"getInfoTest传参测试{mod.ar1}";
}
public class ModTest
{
public string ar1 { get; set; }
}

客户端调用(Mod类2个参数)--客户端不更新接口引用:

            ModTest mod_ = new ModTest();
mod_.ar1 = "";
mod_.ar2 = "";
string result = WebOrc2_.getInfoTest(mod_);
// 返回: getInfoTest传参测试1

小结:对于服务端接口Mod类减少参数后,是不会造成客户端调用报错的

PCB WCF Web接口增减参数后,在客户端不更新的情况,是否影响客户端,评估测试的更多相关文章

  1. 手把手教你如何优雅的使用Aop记录带参数的复杂Web接口日志

    前言 不久前,因为需求的原因,需要实现一个操作日志.几乎每一个接口被调用后,都要记录一条跟这个参数挂钩的特定的日志到数据库.举个例子,就比如禁言操作,日志中需要记录因为什么禁言,被禁言的人的id和各种 ...

  2. silverlight+wcf 项目 silverlight获得web程序的参数

    silverlight 可以通过属性InitParams 获得参数,如果参数是动态的需要web程序传递的,具体操作如下: web程序后台:AppID,USERID需要的参数 this.frmRepor ...

  3. 使用shell做http web接口,可以传递参数--废弃

    此文章废弃,参考另一篇 参考网址: https://me.jinchuang.org/archives/114.html https://www.cnblogs.com/jinchuang/p/142 ...

  4. JMeter基于http请求的web接口性能测试总结

    [本文出自天外归云的博客园] 基于http请求的web接口性能测试总结 压测的目的:对于Web接口压测的目的最终是要在对数据库造成压力的情况下观察压测服务器的cpu是否达到预警值.memory是否发生 ...

  5. python WEB接口自动化测试之requests库详解

    由于web接口自动化测试需要用到python的第三方库--requests库,运用requests库可以模拟发送http请求,再结合unittest测试框架,就能完成web接口自动化测试. 所以笔者今 ...

  6. Android应用安全之WEB接口安全

    Android应用安全不仅包括客户端的安全,也包括web接口的安全.移动App中的Web接口安全主要分为以下几块: 1.SQL注入漏洞 这是一个不能再常见的漏洞类型了,由于App的特性,开发人员认为使 ...

  7. WEB接口测试之Jmeter接口测试自动化 (一)

    软件测试自动化从不同的测试阶段分类,可从下层到上层依次分为单元测试-->接口测试-->界面自动化测试. 单元测试一般有开发人员自行完成,而界面自动化测试合适的测试条件又很难达到,测试人员在 ...

  8. WEB接口测试之Jmeter接口测试自动化 (一)(初次接触)

    软件测试自动化从不同的测试阶段分类,可从下层到上层依次分为单元测试-->接口测试-->界面自动化测试. 单元测试一般有开发人员自行完成,而界面自动化测试合适的测试条件又很难达到,测试人员在 ...

  9. 利用 Bean Validation 来简化接口请求参数校验

    团队新来了个校招实习生静静,相互交流后发现竟然是我母校同实验室的小学妹,小学妹很热情地认下了我这个失散多年的大湿哥,后来... 小学妹:大湿哥,咱们项目里的 Controller 怎么都看不到参数校验 ...

随机推荐

  1. centos安装指定mysql

    mysql下载地址:http://repo.mysql.com/ nginx下载地址 我下载是这个 http://nginx.org/packages/centos/7/noarch/RPMS/ngi ...

  2. Uncaught TypeError: str.replace is not a function

    在做审核页面时,点击审核通过按钮不执行 后来F12控制台查看发现有报错 是因为flisnullandxyzero未执行 然后找出这个方法,此方法为公共方法,将这个方法复制出来 然后使用console. ...

  3. 解决hibernate删除时的异常 deleted object would be re-saved by cascade (remove deleted object from associa

    今天在做项目时,需要删除一个对象,由于关联关系是一对多和多对一的关系,于是在代码中需要删除多的一方的对象时出现了 deleted object would be re-saved by cascade ...

  4. 《程序设计基础》实验题目2 c文件读取(反序列化?) 链表排序

    题目: 每个学生的信息卡片包括学号.姓名和成绩三项.定义存储学生信息的单向链表的结点类型:编写函 数,由文件依次读入 n(n≥0)个学生的信息,创建一个用于管理学生信息的单向链表:编写函数,对 该链表 ...

  5. 几个加固云服务器的方法(VPS版)

    前不久我的月供hide.me账号终于永远沉睡了,平时也就不过去油管看些养猫视频也能被盯上--迫于学业和娱乐的重担(),我决定搭建一个VPS来解决这种麻烦. 方法:自行选购VPS咯,不管是土豪去买AWS ...

  6. 【 Codeforces Global Round 1 B】Tape

    [链接] 我是链接,点我呀:) [题意] x轴上有m个连续的点,从1标号到m. 其中有n个点是特殊点. 让你用k段区间将这n个点覆盖. 要求区间的总长度最小. [题解] 一开始假设我们需要n个胶带(即 ...

  7. redis学习三,Redis主从复制和哨兵模式

    Redis主从复制 java架构师项目实战,高并发集群分布式,大数据高可用,视频教程 1.Master可以拥有多个slave 2.多个slave可以连接同一个Master外,还可以连接到其他的slav ...

  8. 洛谷 P4198 BZOJ 2957 楼房重建

    题目描述 小A的楼房外有一大片施工工地,工地上有N栋待建的楼房.每天,这片工地上的房子拆了又建.建了又拆.他经常无聊地看着窗外发呆,数自己能够看到多少栋房子. 为了简化问题,我们考虑这些事件发生在一个 ...

  9. 开源GIS软件 3

    OpenWLANMap 与 OpenStreetMap 项目类似,OpenWLANMap 将变成一个开源的替代产品,提供 WLANs 的数据库.定位信息等. 开源排水管网GIS系统 udpnGIS 邢 ...

  10. ioctl在socket中的一些用法及示例

    原文: http://blog.chinaunix.net/uid-20692625-id-3172833.html ----------------------------------------- ...