PCB WCF Web接口增减参数后,在客户端不更新的情况,是否影响客户端,评估测试
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接口增减参数后,在客户端不更新的情况,是否影响客户端,评估测试的更多相关文章
- 手把手教你如何优雅的使用Aop记录带参数的复杂Web接口日志
前言 不久前,因为需求的原因,需要实现一个操作日志.几乎每一个接口被调用后,都要记录一条跟这个参数挂钩的特定的日志到数据库.举个例子,就比如禁言操作,日志中需要记录因为什么禁言,被禁言的人的id和各种 ...
- silverlight+wcf 项目 silverlight获得web程序的参数
silverlight 可以通过属性InitParams 获得参数,如果参数是动态的需要web程序传递的,具体操作如下: web程序后台:AppID,USERID需要的参数 this.frmRepor ...
- 使用shell做http web接口,可以传递参数--废弃
此文章废弃,参考另一篇 参考网址: https://me.jinchuang.org/archives/114.html https://www.cnblogs.com/jinchuang/p/142 ...
- JMeter基于http请求的web接口性能测试总结
[本文出自天外归云的博客园] 基于http请求的web接口性能测试总结 压测的目的:对于Web接口压测的目的最终是要在对数据库造成压力的情况下观察压测服务器的cpu是否达到预警值.memory是否发生 ...
- python WEB接口自动化测试之requests库详解
由于web接口自动化测试需要用到python的第三方库--requests库,运用requests库可以模拟发送http请求,再结合unittest测试框架,就能完成web接口自动化测试. 所以笔者今 ...
- Android应用安全之WEB接口安全
Android应用安全不仅包括客户端的安全,也包括web接口的安全.移动App中的Web接口安全主要分为以下几块: 1.SQL注入漏洞 这是一个不能再常见的漏洞类型了,由于App的特性,开发人员认为使 ...
- WEB接口测试之Jmeter接口测试自动化 (一)
软件测试自动化从不同的测试阶段分类,可从下层到上层依次分为单元测试-->接口测试-->界面自动化测试. 单元测试一般有开发人员自行完成,而界面自动化测试合适的测试条件又很难达到,测试人员在 ...
- WEB接口测试之Jmeter接口测试自动化 (一)(初次接触)
软件测试自动化从不同的测试阶段分类,可从下层到上层依次分为单元测试-->接口测试-->界面自动化测试. 单元测试一般有开发人员自行完成,而界面自动化测试合适的测试条件又很难达到,测试人员在 ...
- 利用 Bean Validation 来简化接口请求参数校验
团队新来了个校招实习生静静,相互交流后发现竟然是我母校同实验室的小学妹,小学妹很热情地认下了我这个失散多年的大湿哥,后来... 小学妹:大湿哥,咱们项目里的 Controller 怎么都看不到参数校验 ...
随机推荐
- Matrix computations in C
meschach配置使用 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !im ...
- 在Windows下安装Elasticsearch5.0
1.准备工作 安装和配置Java环境 2.下载 地址:https://www.elastic.co/downloads/elasticsearch 老版本:https://www.elastic.co ...
- 为什么有些异常throw出去需要在函数头用throws声明,一些就不用
throw new IllegalStateException(".");不用在函数头声明throws IllegalStateExceptionthrow new IOExcep ...
- C# 计算百分比
//计算比率 decimal A =(decimal) 200.20; decimal B = (decimal)1000.20; decimal t = decimal.Parse((A/B).To ...
- 调用CAD内的颜色选择对话框
colordialog类 int color; acedSetColorDialog(color,TRUE,0); 第一个函数返回的是颜色的RGB值
- Mapreduce代码疑点(1)
一.Hadoop MultipleInputs.addInputPath 读取多个路径 https://blog.csdn.net/t1dmzks/article/details/76473905 M ...
- 4.几个「不难但却很有用」的 Git 技能点
阅读 Git 原理详解及实用指南 记录 tag:不可移动的 branch tag 是一个和 branch 非常相似的概念,它和 branch 最大的区别是:tag 不能移动.所以在很多团队中,tag ...
- Silverlight之我见——数据批示(1)
第一次听到这个概念,你是否有点陌生?MSDN上也没有特意的去说明.不要看到这个名词不太熟悉,其实数据批示,玩过C#的人都会非常熟悉,所谓数据批示,其本质就是特性(Attribute),怎么样,现在有点 ...
- 从NLP任务中文本向量的降维问题,引出LSH(Locality Sensitive Hash 局部敏感哈希)算法及其思想的讨论
1. 引言 - 近似近邻搜索被提出所在的时代背景和挑战 0x1:从NN(Neighbor Search)说起 ANN的前身技术是NN(Neighbor Search),简单地说,最近邻检索就是根据数据 ...
- yum http源
统一集群内,有一个yum本地源即可,集群内其他机器的yum可配成http源 方法: yum1:本地yum源节点 yum2:集群内其他节点 yum1: ①service httpd start ②mki ...