前后端联调测试

1.bug的发展史

  1. 现阶段bug基本分类

    • 功能逻辑
    • 用户体验
  2. 总结bug是如何产生的

    • 程序在开发时考虑不周全导致
    • 程序在使用时不符合用户习惯

2.软件测试工作的本质

  • 一般的方法和手段

    • 从需求,功能实现,性能等角度发现软件本身的bug
    • 手动或自动化的方式来实现bug的发现
  • 优点: 只关注软件本身,工作量不大,比较省心
  • 缺点: 没有预防手段 发现bug时再修补回溯的流程比较长, 耗时

    • 技术上要以任何方法和手段发现bug
    • 思维上要以多视角的方式观察项目 预防bug

3.为什么要进行软件测试

任何产品生产出来都是可能存在瑕疵的
原因 : 惯性思维 自我认同 需求理解偏差

4.一个项目各阶段设计人员及工作内容

  • 需求阶段: 产品 负责需求调研 竞品分析 产品原型设计

    • 需求评审: 项目所有成员参加,产品经理为大家讲解产品需求的逻辑
  • 设计阶段:交互设计(ui/ue)架构设计(选择技术栈)
  • 开发阶段:

    • 前端开发 : 负责实现网页业务逻辑部分的编码
    • 后端开发 : 负责实现服务端业务逻辑部分的编码
  • 测试阶段:

    • 测试人员: 负责软件实现后的质量检查
  • 上线部署 维护

    • 运维工程师: 负责线上服务器的服务部署与维护
    • 数据库管理员:负责线上数据库的服务部署与维护

5.常见软件开发模型

  • 瀑布

    • 这是一个软件生命周期模型,开发过程时通过设计一系列阶段顺序展开,从系统需求分析开始直到产品发布和维护,项目开发进程从一个阶段“流动”到下一个阶段,这也是瀑布模型名称的由来
    • 软件计划->需求分析->软件设计->程序编码->软件测试->运行维护
    • 优点:严格规定了每个阶段必须提交的文档,项目的推进必须按照一定的顺序来做
    • 缺点:严重依赖文档,脱离用户真实需求,在可运行的软件产品交付给用户之前,用户只能通过文档来了解产品时什么样的,很可能导致最终开发出来的软件产品不能真正满足用户的需要,也不适合需求模糊的系统
  • v模型

    • 需求设计(验收测试)->概要设计(系统测试)->详细设计(集成测试)->编码(单元测试)
    • 自上而下 逐步求精
    • 缺点:实际工作中 需求经常变化 导致v模型步骤反复执行,一直返工

6.bug的分类

  • 功能型bug

    • 指产品实现过程种 具体逻辑的实现错误

    举例: 登陆时 用户名要求使用邮箱登录 但并未验证邮箱格式
    bug 剖析
    前端未验证:频繁且大量的错误请求发到后端给服务器带来无意义的压力
    后端未验证:如果前端验证时有bug则错误数据会直接进入到数据库中
    举例: 用户浏览商品时,商品添加到购物车失败
    bug 剖析
    前端未实现:点击添加按钮购物车无反应,并没有发送添加请求到后端
    后端未实现:后端代码逻辑有问题,比如数据传输解析失败 或 存储失败

  • 需求型bug

    • 指在软件项目管理的过程中,需求阶段就埋下了隐患,如未按照需求实现,需求理解错误或

    需求未描述清楚等情况
    举例: 系统中用户可使用 微信 手机号 邮箱注册并登录
    出现的问题:当一个用户分别使用了 微信 手机号 邮箱进行了系统的注册登录
    带来的影响:在软件系统中会认为 微信 手机号 邮箱 分别是一个独立的账户 (在此等于你注册了三个号)这是明显的错误
    如何解决:在需求阶段定义一个明确的唯一值 比如手机号,无论用什么方式注册,登录成功后必须绑定手机号

  • 性能型bug

    • 指软件在很多人同时使用或长时间运行时出现了响应慢 甚至崩溃的场景

    举例: 春运12306 双11 淘宝
    多年运行的成熟软件 架构已然成熟,靠的就是增加服务器来提升性能,大多数事件没有那么多用户,增加太多服务器就是增加成本
    但如果 因某个特殊新闻爆出 造成大量用户关注微博 导致微博崩溃 (没有给服务器扩充的准备时间 -- 降本增笑)
     

  • 常识型 bug

    • 在过去一段时间 用户一直是这样认为的,已经形成了一种默认的约定,但软件设计或开发人员不按照约定俗成的规定来

7.发现bug的方法论

前后端联调测试_第1张图片

  • 等价类划分
    是指将程序的输入值的集合划分为若干等价类,等价类又分为有效等价类和无效等价类,从每一类中选取少量数据进行测试

    • 什么是有效等价类?

    是指将程序的输入值的集合当中符合输入要求的数据就是有效等价类

    • 举例:登录的时候 需要手机号

    有效等价类: 13506005268 18950365822
    无效等价类: 123456(位数不对) 66666666666(不正确的手机格式) abcd (字符串)

  • 边界值分析法

    • 边界值分析法是针对输入数据的边界值测试,一般情况下与等价类划分结合使用,根据各个等价值的边界值设计测试用例
    • 举例: 登录账号时 要求密码是 6-20位
  • 错误推测法

    • 基于经验和直觉,以及参考以往测试结果中出现比较频繁及较隐蔽的错误,从而推测出程序所有可能出现的错误
  • 因果图

    • 是一种利用图解法分析输入的各种组合情况。从而设计测试用例的方法,适用于检查程序输入的各种组合条件
    • 举例:自助售货机 只接受5,10元两种纸币 一次只能投入一张 售货机出售矿泉水3元 饮料6元
    • 输入条件:1.售货机有零钱 2.投5元 3.投10元 4.买矿泉水 5.买饮料
    • 输出条件:a.售货机无零钱不可购买 b.提示购买成功 c.找零钱 d.提示错误
    • 0代表无 1 代表 有/可选

8.实战中的 bug 排查

经过这段时间的学习 我们也大致知道 前端其实是提供界面 后端是提供接口的 所以就需要用到 http 请求
从服务端获取需要的信息,然后解析协议和内容,来进行页面渲染或者是信息获取的过程
前后端联调测试_第2张图片
前景介绍:
登录过程中 需要将用户填写的 账号 密码 通过http请求发送到后端,后端解析数据后,将数据放入数据库查询,1.成功返回token 2.未查询到结果返回错误码
在开发过程中,我们可以使用浏览器f12的 network 来查看接口请求

你可能感兴趣的:(前端后端)