【C#编程最佳实践 十三】接口测试实践

简介: 【C#编程最佳实践 十三】接口测试实践

进入前后端分离开发的第二个阶段,也就是和前端联调之前,自己首先应该调试下接口是否能跑通,也就是接口测试,这样在和前端联调的时候能够做到心中有数,快速定位问题所在。

接口测试与单元测试

单元测试

单元测试我认为更多的是对通用的最基础方法的测试,换句话说,就是不掺杂业务的测试,应用最多的场景可以说就是对数据的增删改查的测试,一个好的规范的单元测试可以保证小规模代码块功能的正常实现,且该部分代码一般来说是被大量引用的。关于单元测试,我在另一篇博文里有详细提到:

传送门 http://blog.csdn.net/sinat_33087001/article/details/78563929

接口测试

接口测试我认为是对一个最基本的业务模块的测试也就是通常意义上的一个方法的实现,接口测试往往就涉及业务,并且需要网页访问,和前端联调前需要确认返回结果,该部分代码不会被大量引用,是和业务紧密相关的。

接口测试与单元测试的区别

1,单元测试需要自己编写;接口测试不需要,只要使用工具就好,例如PostMan

2,单元测试和业务关联性很小,基本无关;接口测试和业务紧密关联

3,单元测试多应用在provider层,和数据有交互的地方,在写这部分代码时就顺便编写;接口测试多在Controller层,在和前端交互的地方,在和前端联调之前使用工具做好接口测试

测试工具PostMan

下载

该工具性能强大,具体怎么用我这里不再赘述,已经有人详细的做了介绍,地址如下:

尊重原创版权:传送门http://blog.csdn.net/u013613428/article/details/51557804

下载的话需要翻墙,需要VPN,这里为了方便大家,我将下载好的放到百度云盘上,大家可以随意下载

下载地址 https://pan.baidu.com/s/1Ya9VfFxHs8omo0Jewfkujw

介绍

主面板

主面板主要分三个区域,一个是历史和集合管理一个是新建请求一个是返回值查看

历史和集合部分

主面板作半部分可以创建文件夹,每一个请求可以说是最基本的业务功能,那么更大的一整块儿功能就以文件夹的形式而存在,Collections里也可以再细分,按照功能布局可以层层添加

创建url部分

创建url部分,左上部分可以选择接口访问方式,get或者是post,还有多种选择,但不常用。中间是域名填写的地方,下半部分是添加参数的地方,key是参数名,value是参数值

特别特别注意:*postman依据接口接收类型自动识别传入参数类型,所以填写的字符串什么的不用加双引号*,这里是个大坑,我之前分参数类型传入,结果不识别双引号,导致获取不到数据,坑了很久,值得特别注意

返回值查看

多种返回值查看方式可以查看,无论是xml还是json,等等,常用的是json

导出

也可以将已经完成的接口测试导出来,给前端使用,只要和前端约定好,就可以做到不需要天天跑到前端开发那里开会,一份json格式的导出文件搞定一切

疑惑和后续需要学习

1,postman在测试接口的时候,可能接口功能内部需要一些值(并非通过参数获取,而是上下文赋值),这种情况该怎么使用postman

2,302跳转请求的时候postman怎么处理

传入参数为对象

2018-3-09更新

前端调整

如果前端传入参数为对象,则postman需要做调整

1,首先传递类型为post

2,在Header中创建 key:Content-Type, value:application/json

3,在body的参数传递中改为row

后端用动态类接收参数

传入参数为dynamic,动态类,接收后赋值,前端可以选择传几个参数,后端如果没有接收到前端参数,赋默认值null,所以如果是int类型的化,要看以下注意:

注意:int类型的需要一次类型转换,否则如果不传会报错。

添加cookie

1,首先获取页面的cookie

2,然后再postman里添加cookie

3,名为name,值为value

调试

vs断点调试,非常好用,只需附加到进程并且打好断点,从postman发请求就可以直接跳到对应的断点上

注意,附加的时候是w3wp.exe

如果遇到目标与源不一致的情况的时候,可以依照如下步骤解决

1,等待1分钟左右

2,重新生成解决方案3

3,关闭vs,重新生成解决方案

相关文章
|
7月前
|
人工智能 自然语言处理 测试技术
从人工到AI驱动:天猫测试全流程自动化变革实践
天猫技术质量团队探索AI在测试全流程的落地应用,覆盖需求解析、用例生成、数据构造、执行验证等核心环节。通过AI+自然语言驱动,实现测试自动化、可溯化与可管理化,在用例生成、数据构造和执行校验中显著提效,推动测试体系从人工迈向AI全流程自动化,提升效率40%以上,用例覆盖超70%,并构建行业级知识资产沉淀平台。
从人工到AI驱动:天猫测试全流程自动化变革实践
|
7月前
|
数据采集 存储 人工智能
从0到1:天猫AI测试用例生成的实践与突破
本文系统阐述了天猫技术团队在AI赋能测试领域的深度实践与探索,讲述了智能测试用例生成的落地路径。
从0到1:天猫AI测试用例生成的实践与突破
|
8月前
|
XML 前端开发 C#
C#编程实践:解析HTML文档并执行元素匹配
通过上述步骤,可以在C#中有效地解析HTML文档并执行元素匹配。HtmlAgilityPack提供了一个强大而灵活的工具集,可以处理各种HTML解析任务。
373 19
|
8月前
|
Java 测试技术 API
自动化测试工具集成及实践
自动化测试用例的覆盖度及关键点最佳实践、自动化测试工具、集成方法、自动化脚本编写等(兼容多语言(Java、Python、Go、C++、C#等)、多框架(Spring、React、Vue等))
694 6
|
8月前
|
人工智能 边缘计算 搜索推荐
AI产品测试学习路径全解析:从业务场景到代码实践
本文深入解析AI测试的核心技能与学习路径,涵盖业务理解、模型指标计算与性能测试三大阶段,助力掌握分类、推荐系统、计算机视觉等多场景测试方法,提升AI产品质量保障能力。
|
8月前
|
人工智能 自然语言处理 测试技术
AI测试平台的用例管理实践:写得清晰,管得高效,执行更智能
在测试过程中,用例分散、步骤模糊、回归测试效率低等问题常困扰团队。霍格沃兹测试开发学社推出的AI测试平台,打通“用例编写—集中管理—智能执行”全流程,提升测试效率与覆盖率。平台支持标准化用例编写、统一管理操作及智能执行,助力测试团队高效协作,释放更多精力优化测试策略。目前平台已开放内测,欢迎试用体验!
|
9月前
|
人工智能 资源调度 jenkins
精准化回归测试:大厂实践与技术落地解析
在高频迭代时代,全量回归测试成本高、效率低,常导致关键 bug 漏测。精准化测试通过代码变更影响分析,智能筛选高价值用例,显著提升测试效率与缺陷捕获率,实现降本增效。已被阿里、京东、腾讯等大厂成功落地,成为质量保障的新趋势。
|
9月前
|
搜索推荐 Devops 测试技术
避免无效回归!基于MCP协议的精准测试影响分析实践
本文揭示传统测试的"孤岛困境",提出MCP(Model Context Protocol)测试新范式,通过模型抽象业务、上下文感知环境和协议规范协作,实现从机械执行到智能测试的转变。剖析MCP如何颠覆测试流程,展示典型应用场景,并提供团队落地实践路径,助力测试工程师把握质量效率革命的新机遇。
|
C# 开发者
C# 一分钟浅谈:Code Contracts 与契约编程
【10月更文挑战第26天】本文介绍了 C# 中的 Code Contracts,这是一个强大的工具,用于通过契约编程增强代码的健壮性和可维护性。文章从基本概念入手,详细讲解了前置条件、后置条件和对象不变量的使用方法,并通过具体代码示例进行了说明。同时,文章还探讨了常见的问题和易错点,如忘记启用静态检查、过度依赖契约和性能影响,并提供了相应的解决建议。希望读者能通过本文更好地理解和应用 Code Contracts。
421 3
|
9月前
|
监控 算法 C#
C#与Halcon联合编程实现鼠标控制图像缩放、拖动及ROI绘制
C#与Halcon联合编程实现鼠标控制图像缩放、拖动及ROI绘制
2018 0