• 10
  • 11
分享
  • 接口测试系列之前端交互测试和后端逻辑测试——软件测试圈
  • 饭团🍙 2022-04-25 14:26:17 字数 2190 阅读 1574 收藏 11

前端交互测试

前端页面与后端代码之间的交互测试,可以理解为接口功能测试的一个子集。

测试准备 

在进行交互测试前,首先要对前端功能有明确的认知,能够明确区分: 

什么功能属于前端页面逻辑功能 

什么功能又属于前端与后端交互功能 

前端功能与后端是通过什么接口方式进行交互 

前、后端,双方有什么样约束 

1.png

在这里提到了约束这个概念,在实际项目研发过程中,功能测试阶段所产生 的 bug,有很大一方面是由于前、后端沟通不彻底,需求确认模糊导致。在进入研发前,双方将各自 后续由于 bug 导致的反工工作量。

测试方法

2.png

可以使用抓包工具来进行交互层面测试,查看每个交互功能,对应的接口是否正确 (包含请求头、请求参数、响应以及其他约束项),确保前端按照后端的要求正确地进行了调用。

3.png

在交互过程中,针对一个接口也会有多个场景,前端会根据不同的入参来调 用不同的场景,根据不同响应结果, 进行响应数据的改写,来获得不同响应,验证不同响应下前端的展示效果。在这里我们也可以使用一些 不同场景的交互测试。

推荐 Mock 工具: 

moco 框架:https://github.com/dreamhead/moco

easy-mock: https://github.com/easy 

Metersphere 一站式测试平台上也可以定义 

后端逻辑测试 

接口后端逻辑测试依然遵循“输入—处理—输出”这样的模式。用户输入一串数据,然后让这个接口或者让这个后台功能来处理,检查输出结果跟期望是否一 致。

接口测试用例设计应该满足需求文档,且对异常场景进行友好处理;且测试 这个接口是否安装接口文档进行开发

测试用例设计思路

从输入参数进行考虑设计

1) 优先级-针对所有接口

  • 暴露给其他系统、第三方调用的接口;

  • 系统内部调用的核心功能接口;

  • 系统内部调用的非核心功能接口。

2)优先级-针对单个接口

  • 正向测试用例优先,逆向测试用例次之(通常情况下是这样);

  • 是否需要满足前提条件 > 是否携带默认值参数 > 参数是否必填 > 参数之间是否存在关联 > 参数数据类型限制校验 > 参数数据类型自身的数据范围值 限制校验。

3)设计分析 

  • 从接口测试后端业务逻辑来讲,设计接口测试用例需要考虑以下几方面: 

  • 是否满足前提条件 有的接口需要首先满足一定条件,才可成功获取数据。最常见的就是需 要用户登录信息的接口(用户token) 逆向用例:设计不满足前置条件的用例。

  • 是否携带默认值参数 正向测试用例:存在默认值的参数都不填写、不传参,必填参数都填写正确并且存在正 确的常规值,这方面考虑设计测试用例。

  • 业务逻辑、功能需求 这个环节需要根据具体的业务需求,结果接口定义文档,可设计出多条 正向用例和逆向用例。

  • 参数是否必填 针对每个必填参数,设计一条或多条参数值为空的逆向测试用例。

  • 参数之间是否存在关联 可根据参数之间的相互关联关系设计一条或多条用例。

  • 参数数据类型限制 针对每个参数类型设计与定义的类型不符的逆向测试用例。

  • 参数自身的数据范围值限制校验 针对所有参数,设计每个参数在数据范围内为最大或者最小的正向测试用例;

针对所有参数,设计一条或者多条参数值超过或者小于数据范围的逆向 测试用例;

总结一下,如果以上几个方面考虑全面的话,基本可覆盖以下三点: 

a、主流程测试用例:正常的主流程业务需求校验 

b、分支流程测试用例:正常的分支流程需求校验 

c、异常流程测试用例:异常业务场景的容错校验

从输出参数进行考虑设计 

1、输出结构是否与接口文档定义的一致 

2、输出的各个字段类型是否与接口文档定义的一致 

3、输出的各个字段的值是否符合逻辑且值正确

测试环境 

进行接口测试之前首先需要与开发确认好测试环境,通常情况下,需要在三 个环境进行测试:测试环境、准生产环境及生产环境。

为了方便快捷切换接口测试环境的 host 指向,我们可借助以下工具进行切 换:SwitchHosts、Nohost、postman 等。

测试方式 

手工测试 

手工测试就是借助浏览器或者部分测试工具(postman、Jemter 等)手动执 行测试用例的过程。针对新开发接口建议首先进行全面的手工测试后再将部分可 重复执行用例加入自动化测试。

自动化测试 

接口测试相对容易实现自动化,且相对 UI 自动化也比较稳定,可以减少人 工回归测试人力成本与时间,缩短测试周期,是支持后端快速发版需求,达到低 成本高收益的根源。

接口自动化测试同样需要有需求分析、用例设计,依据用例设计使用 python 或者 java 等语言结合框架,编写自动化测试脚本,实现接口自动化测试、自动 执行及自动发送测试报告等环节。

一个好的接口自动化测试框架应该涵盖以下几点:

a) 流程方面:在回归阶段加强接口各种场景的覆盖度,并逐步向系统测试, 冒烟测试阶段延伸,最终达到全流程自动化。

b) 结果展示:更加丰富的结果展示、趋势分析,质量统计和分析等。 

c) 问题定位:报错信息、日志更精准,方便问题复现与定位。 

d) 结果校验:加强自动化校验能力,如数据库信息校验。

其他关注点 

以下这部分测试同业务逻辑测试同等重要,甚至从某种意义上讲,比业务逻 辑测试更加重要,测试过程中不容忽视。

4.png


作者:小码哥说测试

原文链接:https://blog.csdn.net/jiangjunsss/article/details/124146348

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 市场上看到的数百种新的应用程序和产品,在向用户发布之前会进行大量测试。自动化测试可以加快流程,通常被视为手动测试的替代品。但是,手动测试在 QA 领域中仍然具有关键作用。如果将 QA 资源偏重其中一种方法,将错失许多提高质量的机会,而平衡手动和自动测试将带来更高质量、更稳定的产品。让我们来看看手动测试仍然很重要的一些原因。UE测试测试人员可以快速识别出什么时候看起来不对劲。自动化测试脚本不会发现这些视觉问题。当测试人员像用户一样与软件交互时,他们能够发现可用性问题和用户界面故障。自动化测试脚本很难对这些内容进行高效的测试。探索性测试自动化测试只执行预先设置的操作和流程。他们需要计划和准备编写,...
            0 0 922
            分享
          • 1、测试背景       随着直播业务的兴起,越来越多的直播平台开始涌现,这火热的程度好像一个应用不带上直播业务出来都不好意思跟人打招呼。       公司也在赶时髦,做了一个直播平台,直播内容是面向公司内部员工的,还有少量外部用户。直播平台好不好,最重要的一点是观众观看是否流畅是否清晰,能否满足较多的人观看。平台需要进行测试是否满足大量用户观看直播,这么重要的事情当然要交给性能测试人员来做。2、直播技术       一般来说,我们常把视频直播的流程可以分为如下几步:&nbs...
            14 14 2659
            分享
          • 测试团队不管在公司的位置如何,都应该自己主动争取自己团队内部的一致团结,作为背锅部门,我们需要时刻保持警惕,对于一些外部的问题,需要及时留存证据,以防后续有其他部门的人扯皮。1.客户/实施提出BUG的后续推进    描述:客户/实施 经常报某一类相同问题BUG,该问题实际上是产品设计时易用性不强,导致客户认为该问题为bug。测试人员可针对该类问题,提出建议邮件到产品组来解决并优化该问题。举例:考勤-加班报表月度统计数据维度问题建议    (可在邮箱搜索该邮件)   意义: 测试同学更多的发现问题并提出建议,提高测试团队主动性...
            0 0 1523
            分享
          •   当时下的副业成为刚需,仅仅靠主业已经不是最保险的生活方式了。而副业的发展形式如果不能与主业相结合,很可能会浪费大量时间 ,同时还会影响到主业的正常运行。那么适合软件测试人员的副业有哪些呢?这里介绍几个与软件测试有关的副业,在发展副业的同时,还可以辅助主业,同时可以平行运行。也为业余生活多了一份收入。  一、众测平台  任务时长一般在1-5日内,可以利用碎片时间找寻缺陷 ,集中一个小时来提交,有可以测试的手机,找到缺陷后按照平台要求的格式提交即可。收入按照缺陷的等级积分总和来计算,注册后需要先通过平台考核,才可以开始接任务。典型的众测平台有:testin、Alltesting等。  二、招聘...
            0 0 1344
            分享
          •   1、什么是批判性思维  批判性思维是以一种相信什么或做什么决定而进行的,合理的(反思的)方式进行思考,从而能够清晰准确地表达、逻辑严谨地推理、合理地论证,是一种训练有素的思维方式的体现。批判性思维是一种技能和思想态度,不受学科或专业的性质影响,任何论题都可从批判性思维的视角来审视。  最早的苏格拉底问答法,是被公认为批判性思维的先祖。苏格拉底问答法,是通过无止境的设问、追问或反问,让被提问者通过理性思考、发现谬误、拓宽思路、获得真相,或是提出反例,引入新的认知,找到新的解决方案,这就是批判性思维的体现。思维结构提问法更是把批判性思维体现得更加的系统化,它由八种元素构成:目的、观点、假设、结...
            0 0 1115
            分享
      • 51testing软件测试圈微信