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

cucumber测试

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

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

 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吗?

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

在小Cucumber中:

 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

cucumber测试

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/331883.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux mysql删除密码忘记了_linux下忘记mysql密码的几种找回方法(推荐)

今天我们主要是讲一下关于linux忘记mysql密码处理方法,下面提供了5种linux忘记mysql密码找回方法哦。方法一(先进入root权限):# /etc/init.d/mysql stop# mysqld_safe --usermysql --skip-grant-tables --skip-networking &# mysql -u rootmysql>…

Dijkstra 算法——计算有权最短路径(边有权值)

【0】README 0.1) 本文总结于 数据结构与算法分析, 源代码均为原创, 旨在理解 Dijkstra 的思想并用源代码加以实现; 0.2)最短路径算法的基础知识,参见 http://blog.csdn.net/pacosonswjtu/article/detail…

spring使用自定义注解_用Spring组成自定义注释

spring使用自定义注解Java批注在2004年随Java 5一起引入,是一种将元数据添加到Java源代码中的方法。 如今,许多主要框架(如Spring或Hibernate)都严重依赖注释。 在本文中,我们将介绍一个非常有用的Spring功能&#xf…

打印结果和调试结果不一样(C语言)

【0】README 0.1)本文旨在阐述 个人的debug经历,遇到的各种debug 奇葩问题, 说是奇葩,其实也是自己 不小心或者说是编程习惯不好; 【1】debug和running的运行结果不一致(乍眼一看,你肯定醉了&a…

mysql add default_MySQL中create table DEFAULT 用法

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)][table_options] [select_statement]TEMPORARY:该关键字表示用create table新建的表为临时表,此表在当前会话结束后将自动消失。临时表主要被应用于存储过程中,…

jakarta ee_Jakarta EE贡献–入门

jakarta ee您是否有兴趣帮助Jakarta EE向前发展? 我也是。我想提供一些详细信息,以帮助有兴趣入门的人。 第1步: 开始捐款的第一步是签署Eclipse Foundation Committer and Contributor Agreement(ECA): …

最小生成树基础

【0】README 0.1) 本文总结于 数据结构与算法分析, 源代码均为原创, 旨在 review 最小生成树的基础知识; 0.2)了解本文的内容是 分析 Prim算法(普利姆算法)和 Kruskal算法(克鲁斯卡…

mysql dump gtid_mysqldump命令详解 Part 3- 备份全库

前面说了MySQL Linux平台和Windows平台的安装下面开始是MySQL的一些学习笔记前面我们说了如果构造数据这节开始说MySQL 的备份环境为MySQL 5.7.25在解释命令之前我们先弄清楚数据库中有哪些对象上一节我们建立了数据库并建立相关的对象数据库表存储过程函数触发器事件这节讲一些…

apache lucene_Apache Lucene中的并发查询执行

apache luceneApache Lucene是一个出色的并发纯Java搜索引擎,如果您愿意,它可以轻松地使服务器上的可用CPU或IO资源饱和。 “典型” Lucene应用程序的并发模型在搜索时每个查询一个线程,但是您是否知道Lucene也可以使用多个线程同时执行一个查…

最小生成树——Prim(普利姆)算法

【0】README 0.1) 本文总结于 数据结构与算法分析, 源代码均为原创, 旨在 理解Prim算法的idea 并用 源代码加以实现; 0.2)最小生成树的基础知识,参见 http://blog.csdn.net/pacosonswjtu/article/details…

mysql grant usage on_grant 权限 on 数据库对象 to 用户

grant 权限 on 数据库对象 to 用户一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。grant select on testdb.* to common_user’%’grant insert on testdb.* to common_user’%’grant update on testdb.* to common_user’%’grant del…

openjdk8 项目结构_OpenJDK织机和结构化并发

openjdk8 项目结构Project Loom是Hotspot Group赞助的项目之一,旨在向JAVA世界提供高吞吐量和轻量级的并发模型。 在撰写本文时,Loom项目仍在积极开发中,其API可能会更改。 为什么要织机? 每个新项目可能会出现的第一个问题是为什…

mysql连库串_数据库连接串整理 - osc_ac5z111b的个人空间 - OSCHINA - 中文开源技术交流社区...

常用JDBC驱动与连接字符串MySQLdriver:com.mysql.jdbc.Driverurl:jdbc:mysql://localhost:3306/mydbMySQL url格式:jdbc:mysql://[host:port]/[database][?参数名1][参数值1][&参数名2][参数值2]…参数名称参数说明缺省值最低版本要求us…

最小生成树——Kruskal(克鲁斯卡尔)算法

【0】README 0.1) 本文总结于 数据结构与算法分析, 源代码均为原创, 旨在 理解 Kruskal(克鲁斯卡尔)算法 的idea 并用 源代码加以实现; 0.2)最小生成树的基础知识,参见 http://blo…

java 正则表达式 开头_如何在Java中修复表达式的非法开头

java 正则表达式 开头您是否遇到过这个令人难以置信的错误,想知道如何解决它? 让我们仔细阅读一下,研究如何解决表达式Java非法开头错误。 这是一个动态错误,这意味着编译器会发现某些不符合Java编程规则或语法的内容。 初学者大…

php mysql数据备份命令_MySQL数据备份与恢复的相关操作命令

将mysql安装目录设置到系统环境变量中, 方便在命令行终端直接执行.linux下mysql安装后, root默认密码为空, 可直接执行mysql 登录将mysql安装目录设置到系统环境变量中, 方便在命令行终端直接执行.linux下mysql安装后, root默认密码为空, 可直接执行mysql 登录.正常登录命令mys…

DFS——深度优先搜索基础

【0】README 0.1) 本文总结于 数据结构与算法分析, 源代码均为原创, 旨在 review DFS——深度优先搜索 的基础知识; 【1】深度优先搜索的应用 1.1)深度优先搜索算法描述(转自天勤计算机考研高分笔记——数…

rest post put_REST / HTTP方法:POST与PUT与PATCH

rest post put每个HTTP请求都包含一个方法 (有时称为verb ),该方法指示对标识的资源执行的操作。 在构建RESTful Web服务时,HTTP方法POST通常用于创建资源,而PUT用于资源更新。 尽管在大多数情况下这很好,…

回归模型的score得分为负_深度研究:回归模型评价指标R2_score

回归模型的性能的评价指标主要有:RMSE(平方根误差)、MAE(平均绝对误差)、MSE(平均平方误差)、R2_score。但是当量纲不同时,RMSE、MAE、MSE难以衡量模型效果好坏。这就需要用到R2_score,实际使用时,会遇到许多问题,今天…

DFS应用——遍历无向图

【0】README 0.1) 本文总结于 数据结构与算法分析, 源代码均为原创, 旨在 理解 如何对无向图进行深度优先搜索 的idea 并用源代码加以实现; 0.2) 本文还引入了 背向边(定义见下文描述)&#x…