黄瓜是一种规范语言的执行框架。 它并不是要成为测试语言,而是用于创建测试自动化。

黄瓜最适合出现一些现实世界中的参与者互动并取得某种成果的情况。 当可以从用户的角度编写它时,它特别有用。

 Given Sarah is a premium club member  When Sarah logs into the homepage  Then she sees the premium club member call to action 

尽管这可能是关于屏幕的讨论,但它也以用户和产品的语言进行讨论。 这是一个舒适的规格。


谁是后端用户?

假设我们要在Cucumber中为后端编写API测试? 这给我们带来了一些问题,例如,它实际上是一个不一定使用用户语言的较低级接口,或者我们必须跟踪发出的请求的状态,因为我们不能仅仅谈论正在处理的内容。屏幕。

那我们应该吗?

Cucumber是编写API测试的错误工具吗?

答案在于我们是否认为后端具有可以以人类可读形式表达的规范。

我们认为后端有规范吗?

让我们承认,无论规范是什么,它都是比功能级验收测试更具技术性的语言,而功能级验收测试可能与此后端只是组件的业务流程有关。

这里的一些问题是写作。 我们希望以简洁的形式表达系统的预期/期望行为。 这是我们需要求助于写作1-2-3的地方 。 每个故事都有一个起点和终点。

您将如何向为您的工作付费的人解释给定API的目的是什么?

好吧,这个API是一个基于接收到他们的凭据为用户生成用户登录证书的API,假设该用户对凭据数据库是已知的,否则就不会……

好吧..还有一点点不足,但至少听起来很有价值。 我们可以1-2-3吗?

对于已知用户,提供凭据将产生证书。

在小黄瓜中:

 Given Sarah is known to the credentials database as "sarah" with password "s4r4h"  When Sarah's sign- in request is submitted as "sarah" , "s4r4h"  Then a certificate is returned  And the certificate contains the name "Sarah" 

从哪儿开始?

制作的示例很简单……您如何开始呢?

这里有一些想法:

  • 绘制您要测试的服务的图表
  • 确定图中的哪些对象是测试的目标,哪些是以下两者之一:
    • 服务的消费者
  • 考虑通过服务的数据流:
    • 您如何开始?

现在我们了解:

  • 服务的外部触发器/客户端
  • 服务返回的东西
  • 服务需要发生以支持它的事情
  • 服务对外界所做的事情

我们的规格应为上述术语。

奖励功能

我们的测试设计应该能够解释自动化将如何以客户端的身份使用服务,提供任何依赖关系以及观察服务的副作用和响应。

翻译自: https://www.javacodegeeks.com/2020/02/how-to-phrase-back-end-tests-in-cucumber.html

如何在黄瓜中进行后端测试相关推荐

  1. cucumber测试_如何在Cucumber中进行后端测试

    cucumber测试 Cucumber是一种规范语言的执行框架. 它并不是要成为测试语言,而是用于创建测试自动化. Cucumber最适合出现一些实际参与者互动并取得某种成果的情况. 当可以从用户的角 ...

  2. 【新书推荐】《ASP.NET Core微服务实战:在云环境中开发、测试和部署跨平台服务》 带你走近微服务开发...

    <ASP.NET Core 微服务实战>译者序:https://blog.jijiechen.com/post/aspnetcore-microservices-preface-by-tr ...

  3. java后端概述_Java后端测试概述

    [本文出自天外归云的博客园] 多种单测技术 1. 要学会Spring MVC/Boot测试中自带的mock方法. 2. 学会junit中的方法,对于注解的使用等. 3. 学会使用结合第三方Mockit ...

  4. Java后端测试概述

    [本文出自天外归云的博客园] 多种单测技术 1. 要学会Spring MVC/Boot测试中自带的mock方法. 2. 学会junit中的方法,对于注解的使用等. 3. 学会使用结合第三方Mockit ...

  5. 在开发流程中嵌入安全测试

    ContinuumSecurity创始人Stephen de Vries,在Velocity Europe 2014大会上提出了持续且可视化的安全测试的观点.Stephen表示,那些在敏捷开发过程中用 ...

  6. C# 类型运算符重载在类继承中的调用测试

    C# 类型运算符重载在类继承中的调用测试 这是一篇晦涩难懂的片面的研究 一,简单的继承层次 class CA {}class CB : CA{}class CC : CB{}}void Test(CA ...

  7. 变异测试 java_编码的喜悦……以及Java中的变异测试

    变异测试 java 多年以来,为源代码编写单元测试一直是一种好习惯. 并且还可以使用测试覆盖率报告来查看测试覆盖了多少代码. 尽管行+分支覆盖率报告非常有用,但是它并不能告诉您单元测试的实际效果. 因 ...

  8. 编码的喜悦……以及Java中的变异测试

    多年以来,为源代码编写单元测试一直是一种好习惯. 并且还可以使用测试覆盖率报告来查看测试覆盖了多少代码. 尽管行+分支覆盖率报告非常有用,但是它并不能告诉您单元测试的实际效果. 因此,甚至在测试中没有 ...

  9. 08 在C#程序中使用注释测试分析 1214

    08 在C#程序中使用注释测试分析 1214 01 02

最新文章

  1. 贴几张最新最精彩的电影海报
  2. 魅族mx5游戏模式小熊猫_您不知道的5大熊猫技巧
  3. if test 多条件_秒懂Python编程中的if __name__ == #39;main#39; 作用和原理
  4. PAT 00-自测1. 打印沙漏(20)
  5. CMU计算机学院院长Andrew Moore离职,下一任院长人选未定
  6. 计算机基础及linux入门
  7. android 音乐播放器-------歌词同步 lrc
  8. 「小程序JAVA实战」小程序开源搜索组件(53)
  9. python 对象是什么概念
  10. 魔法风云纪无限元宝公益服务器,好玩网页游戏 2678魔法风云纪sf 神兽助战卡免费获得...
  11. bias tee电路设计-电容电感值
  12. J2ME基本术语词典(05/06/09)
  13. PyTorch安装及试用 基于Anaconda3
  14. win10 网络发现 打开保存后,自动关闭
  15. 计算机中安装音乐软件是一种,电脑必装的八款软件,你装了吗?
  16. 跟我一起写 Makefile
  17. 由验证控件引起的IE的超级爆笑BUG
  18. Wi-Fi PNO扫描流程(Android P)
  19. 关于mysql百万100W数据查询优化
  20. conda env create -f conda.yml出错

热门文章

  1. ssl初一组周六模拟赛【2018.3.17】
  2. HDU5528 - Count a * b
  3. VAE(变分自编码器)学习笔记
  4. codeforces F.F. Teodor is not a liar! 最长不降子序列
  5. ByteBuffer的使用
  6. 正确使用 Volatile 变量
  7. (四)十大经典排序算法(动画图解,代码完全)
  8. uni-app打包h5
  9. ArrayList如何对某个对象的日期属性排序?
  10. 使用枚举定义常量更好点儿