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 怎么都看不到参数校验 ...
随机推荐
- Node.js概述
Node.js最重要的特性:通过单线程实现异步处理环境 Node.js解决的问题: Node.js修改了客户端连接服务器端的连接方法,不需要为每个客户端连接创建一个新的线程,而是为每个客户端连接触发一 ...
- 【sqli-labs】 less48 GET -Error based -Blind -Numeric -Order By Clause(GET型基于盲注的整型Order By从句注入)
图片还是47...访问的的确是48 这个是基于bool的盲注 http://192.168.136.128/sqli-labs-master/Less-48/?sort=1 and sleep(0.1 ...
- day01-编程与计算机组成原理
什么是编程 编程语言:是人与计算机沟通交流的介质,通过标准化的规则传递信息 编程:就是为了使计算机能够理解人的意图,通过编程语言写出一个个文件,这堆文件完成相应的目的 编程的目的:用计算机取代人完成工 ...
- MFC CAD控制权问题
begineditorcommand(); 隐藏对话框 把控制权交给CAD completeeditorcommand(); 完成交互返回到应用程序 canceleditorcommand CAD被 ...
- iDRAC RAC0218 最大会话限制
用ssh工具登陆IDRAC远程管理ip地址: /admin1-> racadm racreset RAC reset operation initated successfully. It m ...
- Java中字符串的常用属性与方法
•字符串常用的属性 string.length()————>返回字符串的长度,int类型. •字符串常用的方法 String.contains(";")——————>判 ...
- map集合遍历,放入id
背景,需要从电脑导入excel表格到网页上然后表格中公司需要对应数据库的id 通过key-value方法来对应id Office office = new Office();office.setG00 ...
- Django - 模版语言循环字典
1.可以对传入字典参数做循环显示 views.py中代码: urls.py中代码: html中代码: 在模版语言中,可以对字典进行类似python中的操作(keys,values,items),需要注 ...
- 内核调试-perf introduction
perf概念 perf_event Perf_events是目前在Linux上使用广泛的profiling/tracing工具,除了本身是内核(kernel)的组成部分以外,还提供了用户空间(user ...
- [系统资源攻略]CPU使用率和负载
我们在搞性能测试的时候,对后台服务器的CPU利用率监控是一个常用的手段.服务器的CPU利用率高,则表明服务器很繁忙.如果前台响应时间越来越大,而后台CPU利用率始终上不去,说明在某个地方有瓶颈了,系统 ...