Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >前后端联调实践总结

前后端联调实践总结

作者头像
IMWeb前端团队
发布于 2019-12-04 10:00:44
发布于 2019-12-04 10:00:44
1.8K0
举报
文章被收录于专栏:IMWeb前端团队IMWeb前端团队

联调的认知和感触

认知(讨论)

  • 为什么要联调?
  • 联调都干些什么?

联调的问题

联调就是后端不好好写单元测试集成测试,让前端发请求调用以达到测试的目的;前端不好好写Mock和测试,让后端输出数据以达到测试的目的。

更正确地认识

  • 联调是前后端一起见证靠谱的测试结果
  • 给需求方提供一个正确的需求验证环境
  • 尽早暴露前后端实现的问题

联调必备技能

DNS与HOSTS

  • DNS(Domain Name System)的认识
  • DNS提供将域名解析为IP
  • 域名只是便于记忆,真正起作用的还是IP
  • GFW作用,HOST访问外国网站
  • 域名解析顺序
  • 浏览器缓存>浏览器代理>HOST文件>系统DNS缓存
  • 本地DNS服务器>上级DNS>...>顶级DNS

HOST配置的姿势

更改HOST不即时生效问题

原因

  • 浏览器有HOST缓存
  • 浏览器复用了原有HOST的Socket连接
解决办法

  • 重启浏览器或者打开新的浏览器
  • 使用Charles/Fiddler等代理,避免此问题
  • 使用Chrome工具,强行重置Socket连接

代理服务配置

代理服务HTTPS抓包问题

  • 打不开页面? 需要根据Charles Help菜单中规则添加Charles根证书
  • 某些包解不开?需要在Charles代理设置里面配置具体的解包域名
  • 线上证书不安全?解包后再封的包跟原来的有些区别,需要单独打开对应页面进行信任

特定场景的调试姿势

PC/Touch页面

  • 配置前后端环境
  • 配置HOST
  • 直接使用浏览器及浏览器模拟器调试
  • 如果只是前端更改,在不影响数据的情况下,可以使用线上页面调试

App页面

真机调试

  • 手机上安装Beta包,使用数据线连上电脑
  • 允许调试或者开启Inspect
  • 通过chrome://inspect 或者Safari的开发者工具进行调试
模拟器调试

  • Xcode模拟器
  • 搞一个可以在模拟器里面跑的App
  • 将App拖入模拟器,然后打开,用Safari开发者工具调试

微信调试

如何更有效地联调

明确前后端的约定

  • 根据需求一起约定交互的内容
  • 包括但不限于如下内容
  • 接口名称、请求路径、请求方式
    • 返回字段结构、对应字段名和字段类型以及字段边界值
    • 异常情况数据约定

  • 一份逼真的样例数据
  • 前端可以根据这个数据造出各种数据

后端对约定的履行

  • 根据约定实现相应的需求
  • 使用Postman 进行接口测试
  • 使用浏览器进行接口jsonp功能测试

前端对约定的履行

  • 根据约定实现相应的需求
  • Mock数据
    • 使用FEKit Mock数据
    • 使用YKit Mock数据
    • 使用Charles/Fiddler 代理接口响应
    • 任意其他Mock,代理,转发工具获取Mock数据

  • 通过变换Mock数据,进行功能测试

真正的联调

  • 前端完成自测
  • 后端完成自测
  • 一起验证需求的实现

友情建议

  • 远离关键路径,合理调配时间——别拖后腿
  • 把握全局进度,提高整体效率——别浪费时间
  • 积极沟通交流,主动推进联调——别甩锅
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-08-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
vue菜鸟从业记:公司项目里如何进行前后端接口联调
最近我的朋友王小闰进入一家新的公司,正好公司项目采用的是前后端分离架构,技术栈是王小闰非常熟悉的vue全家桶,后端用的是Java语言。
闰土大叔
2018/07/24
1.3K0
vue菜鸟从业记:公司项目里如何进行前后端接口联调
前后端高效联调
看出来了吗?虽然说前后端是分离的,但这只是代码上的,本质上他们还是要共同努力完成同一个需求。
半月无霜
2024/09/02
2360
【开源协同】一种基于nohost和tolstoy的云联调方案
作者:覃淑慧,腾讯前端开发组 引言 在现代化工程化的前端开发环境下,需要搭配先进的联调工具进行食用,体验更佳。本文主要介绍利用nohost和tolstoy实现联调简化,提升联调开发效率的方案及总结。 背景 联调,一直是个开发流程中的痛点,但因为它位于前后端沟通中的过渡区域,位于人力分工中的尴尬位置,因此联调相对于其他技术范畴来说,可以算是没有发展得非常成熟。如果简单地把开发步骤分为:开发,联调,测试,部署,那么,随着开发框架及各种工具的完善,开发及运维效率得到了快速提升,联调则越发成为了效率提高的瓶颈。
腾讯大讲堂
2020/05/17
2.8K0
APP弱网测试怎么做?一文安排得明明白白
Hi,大家好。APP网络环境比较复杂,有2G、3G、4G、5G网络,还有越来越多的公共Wi-Fi。不同的网络环境的差异都会对用户使用APP造成一定影响。另外,当前APP使用场景多变,如进地铁、上公交、进电梯等,使得弱网测试显得尤为重要。
可可的测试小栈
2022/04/13
5.4K0
APP弱网测试怎么做?一文安排得明明白白
软件测试_接口测试面试题_1.6
接口测试是软件测试中的重要环节,它主要验证系统不同模块之间的通信和数据交互是否正常。在软件开发过程中,各个模块之间的接口是实现功能的关键要素,因此对接口进行全面而准确的测试是确保系统稳定性和可靠性的关键步骤。
测试小兵
2024/04/11
1690
软件测试_接口测试面试题_1.6
ZanProxy —— 本地代码调试线上页面,环境再也不是问题
一言以蔽之,ZanProxy 是一个基于 Node.js 的代理服务器。它专注于帮助前端开发提高开发效率。
有赞coder
2020/08/25
1.5K0
ZanProxy —— 本地代码调试线上页面,环境再也不是问题
前后端分离之更好的mock你的后端api
在一个web应用的开发周期中, 一般前端与后端都是并行开发的, 各自完成自己的开发工作后进行联调, 联调通过再进行提测/发布.
funkyLover
2019/05/24
1.1K0
Charles-proxy 抓包工具-移动端调试必备
链接:https://pan.baidu.com/s/1LV4mVXS0PvuQ3t_GPIGr4Q
用户10106350
2022/10/28
7260
whistle工具全程入门
1前言 在各种网络请求代理工具的一轮尝试过后,决定入坑whistle(由avenwu@tencent开发),发现非常高效易用,解决了困扰多年的问题。     接触过前后端开发的同学应该都了解网络请求代理工具fiddler(mac下面常用的是Charles),可以用来拦截分析请求、包装请求、本地调试和移动端代理开发调试等。多多少少,fiddler和Charles使用起来还是有些区别,不过还好都是可视化的界面使用配置起来也都比较方便。     先说下使用体验。对于一个追求高效的开发者来说,总是觉得要经常切换两个
用户1097444
2022/06/29
1.1K0
whistle工具全程入门
接口测试-Mock测试方法
Mock 测试就是在测试过程中,对于某些不容易构造(如 HttpServletRequest 必须在Servlet 容器中才能构造出来)或者不容易获取的比较复杂的对象(如 JDBC 中的ResultSet 对象),用一个虚拟的对象(Mock 对象)来创建以便测试的测试方法。
全栈程序员站长
2022/06/24
1.4K0
接口测试-Mock测试方法
前端应该知道的web调试工具——whistle
第一,whistle 是一个 web 调试代理工具,它的功能十分强大。作为一名前端,我们需要经常跟协议中的应用层打交道,Mock 数据、跨域问题、cookie 的修改、移动端调试等等,都是我们必备的技能,而 whistle 就能解决其中 90% 的问题
GopalFeng
2020/09/24
2.4K0
前端应该知道的web调试工具——whistle
网易NEI在面临前后端分离问题,所提供的完整解决方案
内容来源:2018 年 1 月5 日,网易NEI产品负责人包勇明在“2018移动技术创新大会”进行《网易高效多端应用协作开发实践》演讲分享。IT 大咖说(微信id:itdakashuo)作为独家视频合作方,经主办方和讲者审阅授权发布。 阅读字数:1958 | 5分钟阅读 摘要 在实际项目开发过程中,前后端分离开发是比较受关注的问题,本次分享会讲述开发所面临的问题背景以及 NEI 如何提供的完整解决方案。 嘉宾演讲视频及PPT回顾:http://suo.im/5bH62T 产品开发步骤 现在的产品开发一般是按
IT大咖说
2018/06/04
6900
猫哥网络编程系列:详解 BAT 面试题
从产品上线前的接口开发和调试,到上线后的 bug 定位、性能优化,网络编程知识贯穿着一个互联网产品的整个生命周期。不论你是前后端的开发岗位,还是 SQA、运维等其他技术岗位,掌握网络编程知识均是岗位的基础要求,即使是产品、设计等非技术岗位,在灰度环境体验产品时也需要理解页面缓存、Host 切换等网络基础概念。 「猫哥网络编程系列」一直是我想沉淀的一个技术知识点,因为我认为:网络编程相关知识(尤其是 HTTP 协议),是互联网产品开发当中最重要的基础知识(没有之一)。掌握这方面的基础知识,对一个新手程序员来说
猫哥学前班
2018/03/14
1.8K0
猫哥网络编程系列:详解 BAT 面试题
猫哥网络编程系列:HTTP PEM 万能调试法
注:本文内容较长且细节较多,建议先收藏再阅读,原文将在 Github 上维护与更新。 在 HTTP 接口开发与调试过程中,我们经常遇到以下类似的问题: 为什么本地环境接口可以调用成功,但放到手机上就跑不起来? 这个接口很复杂,内部调用了好几个其他接口,如何定位问题究竟出在哪一步? 后端开发还没有把接口提供好,前端开发任务无法推进…… 「猫哥网络编程系列」最核心的任务便是向各位分享一个我从多年的前后端项目中总结而来的「万能」HTTP 调试法,掌握并从网络编程原理上理解它,能让我们顺利定位并解决所有 HTTP
猫哥学前班
2018/03/14
1.9K0
猫哥网络编程系列:HTTP PEM 万能调试法
学会前端调试技巧,提升排错效率
我们系统程序的漏洞就叫 bug。世界上第一个 bug ,是 1946 年霍普发现了第一个电脑上的 bug,竟然是一只飞蛾“臭虫”。解决这些问题的过程叫做捉虫、调试,也就是 Debug。
黄啊码
2022/06/20
1.9K0
whistle工具全程入门
IMWeb前端团队
2017/12/29
2.7K0
whistle工具全程入门
前后端分离--整套解决方案
前后端分离并不只是开发模式,而是web应用的一种架构模式。在开发阶段,前后端工程师约定好数据交互接口,实现并行开发和测试;在运行阶段前后端分离模式需要对web应用进行分离部署,前后端之前使用HTTP或者其他协议进行交互请求。
互扯程序
2019/05/09
4.1K0
前后端分离--整套解决方案
实用!前后端分离开发之前端模拟数据
前后端分离的架构中,前后端同学约定好接口后就可以并行开发,最后双方再进行接口的联调。不过实际开发时,前后端联调会遇到下面这些问题,这些问题无疑中会影响联调的效率,拉长整个开发的周期。
前端林子
2019/08/25
6.4K2
实用!前后端分离开发之前端模拟数据
JavaScript全栈开发-工具篇(下)
文章目录 四、测试工具 1. 单元测试 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。常见的单元测试工具有: * QUnit * NodeUnit 1.1 前端单元测试QUnit 首页:http://qunitjs.com 源码:https://github.com/jquery/qunit QUnit是jQuery团队开发的JavaScript单元测试工具,功能强大且使用简单。目前所有的JQuery代码都使用QUnit进行测试,原生的JavaScript也可以
腾讯NEXT学位
2018/10/12
9540
JavaScript全栈开发-工具篇(下)
iPhone页面的常用调试方法
某些页面需要设置HOST才能进行访问,在iPhone上不好设置HOST,所以需要一些代理工具帮助我们
书童小二
2018/09/03
3.4K0
iPhone页面的常用调试方法
相关推荐
vue菜鸟从业记:公司项目里如何进行前后端接口联调
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档