关于测试用例,你知道多少?

news2024/10/5 13:57:10

前言

在此之前我搜集一些关于测试用例的知识,后来在我们的群里专门定了一期讨论,来探讨测试用例,毕竟这是一个很大的话题,很难做到面面俱到,但我会尽量全面,用通俗的语言来说测试用例。

1、测试用例(test cases)的概念是什么?

测试用例是一组有条件的用例,QA可以依靠这些条件来确定应用程序、软件系统或某些功能是否按预期执行。

测试用例是QA执行的单个可执行测试。它指导QA完成测试的步骤。你可以将测试用例看作是一组按部就班的指令,以验证某些功能是否符合需求。

2、设计测试用例的步骤

Step 1:定义测试流程目标

首先,你需要了解软件需求规范。

当开始为软件的功能特性编写测试用例时,首先要做的是理解并确定需求。

Step 2: 确定软件系统的性能指标(基于你对系统的理解)

为了编写一个好的测试脚本,你需要熟悉功能需求。

还需要了解软件是如何使用的,包括各种功能和组织功能。

Step 3: 确定非功能性需求

第三步是了解与非功能需求相关的软件的其他方面,如硬件需求、操作系统、安全方面。除了准备测试数据之外,还需要考虑其他先决条件。

测试非功能性需求非常重要。

例如,如果软件需要用户填写表单,你必须确定一个合理的时间框架,这样用户在等待提交时就不会超时。同时,还需要检查登录时间,以确保用户会话没有过期,这称为安全测试。

Step 4: 确定测试用例模板

应该选择的测试用例样本、测试用例模板必须包括测试类型

例如UI、功能、容错、兼容性和性能。每种类型都应该根据应用程序的逻辑来定义。

Step 5: 指出软件模块之间的交互

此时,你必须理解每个模块的功能及其与其他模块的交互,以识别系统流。测试用例的设计应涵盖模块交互的最高级别。

例如:在测试一个电子商务网站的购物车功能时,你需要测试库存管理系统来验证是否从商店中扣除了相同数量的购买产品。类似的,在处理重新测试时,你需要测试它对应用程序的财务部分以及库存管理系统的影响。

3、测试用例的结构

典型测试用例的格式包括:

Test Case ID: 确定测试所需实例数量所需的值。

Function: 根据系统的功能,可以分割功能来创建更清晰的测试用例。

Test Data: 需要为测试准备的数据。

Test Steps: 描述测试步骤。

Expected results: 以上步骤的预期结果。

A result: 通常为PASS,FAIL或PENDING。这是系统环境中测试用例的实际结果。

Comments: 本专栏用于在执行测试用例时记录屏幕截图和相关信息。

 

此外,您可以添加更多的列,例如:测试人员、执行日期等。

4、 编写Facebook登录功能的测试用例(桌面端)

Step 1: 确定的需求

第一个任务是测试Facebook的登录表单:https://www.facebook.com/

测试目的: 测试登录Facebook成功(仅在Web环境中),不要测试注册功能。

性能测试: 登录表单通常包括2个文本框:email/phone和password,登录按钮,忘记密码的链接。

确定非功能性需求: 检查未注册电子邮件的保密性,将密码保存到浏览器。此外,检查网络系统和计算机硬件。

确定合适的测试用例模板: 要求将包括测试组件,例如UI,登录功能,登录速度。

确定模块之间的交互:检查用户登录帐户的真实性。成功登录后,将用户重定向到主页。

Step 2:构造测试用例

定义UI用例:UI用例包括color, font, size, color of the label, length, width, height, textbox类型,button, 表单位置, textbox, button, 页面上的URL等等,如果将每个UI拆分为一个用例,则测试用例将太长,因此我们应将它们合并到一个通用的UI测试用例中,或将它们拆分为UI子类。

定义功能用例: 这里的功能是使用2个文本框登录到Facebook,这些文本框是电子email/phone 和 password,一个登录按钮,一个忘记密码的链接。因此,将出现以下情况:

email/phone box:

正常情况将包括:使用正确的电话号码或电子邮件地址登录,然后使用空白,错误的电话号码或电子邮件地址登录。

异常情况将包括:使用区号的电话号码(例如+849…)或没有电子邮件域(@facebook.com)的电子邮件地址登录。另外,还有网络断开、cookie窃取、浏览器登录等情况……

边界用例将包括:测试每个文本框中可以输入的最小字符数和最大字符数。创建要测试的多个字符的电子邮件,或要测试的尽可能短的电子邮件。

Password框类似,另外还需要检查密码框的加密。

Login按钮:

  • 正常情况将包括:在文本框中输入一个值,单击login按钮或按键盘上的Enter键。
  • 正常情况是:点击Continue 按钮
  • 边界用例将包括:无需检查这种情况

 感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

 

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

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

相关文章

【React-Router】路由快速上手

1. 创建路由开发环境 # 使用CRA创建项目 npm create-react-app react-router-pro# 安装最新的ReactRouter包 npm i react-router-dom2. 快速开始 // index.jsimport React from react; import ReactDOM from react-dom/client; import ./index.css; import App from ./App; i…

传统企业如何实现数字化转型?如何加快企业数字化转型?

科技的发展给社会带来了各种变革,技术日新月异,很多传统的东西都被大众抛之脑后,在这个以技术和数据运营为导向的数字化时代,传统企业想要保持足够的核心竞争力,就必须跟上时代的步伐,进行企业数字化转型&a…

git clone慢的解决办法

在网站 https://www.ipaddress.com/ 分别搜索: github.global.ssl.fastly.net github.com 得到ip: 打开hosts文件 sudo vim /etc/hosts 在hosts文件末尾添加 140.82.114.3 github.com 151.101.1.194 github.global-ssl.fastly.net 151.101.65.194 g…

【RocketMq系列-02】RocketMq的架构解析和高性能设计

RocketMq系列整体栏目 内容链接地址【一】RocketMq安装和基本概念https://zhenghuisheng.blog.csdn.net/article/details/134486709【二】RocketMq的架构解析和高性能设计/font>https://zhenghuisheng.blog.csdn.net/article/details/134559514 RocketMq的架构解析和高性能设…

[点云分割] 基于最小切割的分割

效果&#xff1a; 代码&#xff1a; #include <iostream> #include <vector>#include <pcl/point_types.h> #include <pcl/io/pcd_io.h> #include <pcl/visualization/cloud_viewer.h> #include <pcl/filters/filter_indices.h> #include…

B站已经部分上线前台实名,如不同意实名,后期账号流量将收影响!

B站部分百万粉丝博主的主页显示账号运营人名字的政策是从10月31日开始的。当天&#xff0c;B站官方发布了《哔哩哔哩关于头部“自媒体”账号前台实名的公告》&#xff0c;表明了其前台实名制的实施计划。 B站部分上线前台实名的过程可以追溯到2021年。当时&#xff0c;中国政府…

报表系统是什么?如何快速帮助企业数字化转型?

在信息洪流中&#xff0c;企业需要应对日益增长的数据量和复杂业务环境&#xff0c;这需要借助科技手段来驾驭数据管理和决策分析。报表系统&#xff0c;作为企业决策的重要工具&#xff0c;就如同航海的罗盘&#xff0c;帮助企业在数据的海洋中快速定位&#xff0c;从而提高管…

最常用的5款报表系统

在这个信息化飞速发展的时代&#xff0c;报表系统已经成为了企业管理和决策的重要工具。随着市场的需求不断增长&#xff0c;报表系统也在不断地更新和完善。如今&#xff0c;市面上有数不尽的报表系统&#xff0c;但是哪款才是最常用的呢&#xff1f;接下来&#xff0c;我们将…

慕尼黑电子展Samtec Demo | 回环测试带来Samtec产品组合优异表现

【摘要/前言】 大家好&#xff01;Electronica虎家展台Demo系列回来咯。 实践出真知&#xff0c;再好的纸面数据都不如来一场实际的测试和演示。Samtec团队始终在努力为客户带来卓越的产品和优质服务。而这其中&#xff0c;Demo演示的存在至关重要。演示过程可以为大家带来了…

AppLink结合金蝶云星空作订单信息同步流程

此次通过AppLink&#xff0c;根据请求数据金蝶云星空做销售订单信息同步拉取 在获取订单信息前需要得到金蝶云星空授权&#xff0c;详细授权步骤可查看&#xff1a;金蝶云星空授权指南 根据请求数据在金蝶云星空保存销售订单 当webhook接收到数据时触发流程 步骤1&#xff…

维护工程师面经

文章目录 前言技能要求数据结构定义分类常用的数据结构 数据库原理数据的三级模式结构事务查询方式视图数据库范式 Java相关知识点总结 前言 本博客仅做学习笔记&#xff0c;如有侵权&#xff0c;联系后即刻更改 科普&#xff1a; 参考网址 技能要求 数据结构 参考网址 定…

虚拟机centos设置网络模式(桥接|NAT)

前言 桥接模式是通过物理网卡直接与外部网络建立联系的&#xff0c;而NAT模式则是通过虚拟网卡VMnet1或VMnet8通过宿主机共享IP与外部建立网络关系当需要将虚拟机资源共享给局域网用户使用时&#xff0c;宜采用桥接模式&#xff1b;当需要保护虚拟机资源&#xff0c;确保只能由…

数据结构【DS】特殊二叉树

完全二叉树 叶子结点只能出现在最下层和次下层, 最下层的叶子结点集中在树的左部完全二叉树中, 度为1的节点数 0个或者1个【计算时可以用这个快速计算, 配合&#x1d45b;0&#x1d45b;21】若n为奇数&#xff0c;则分支节点每个都有左右孩子&#xff1b;若n为偶数&#xff0…

Jmeter 压测实战保姆级入门教程

1、Jmeter本地安装 1.1、下载安装 软件下载地址&#xff1a; https://mirrors.tuna.tsinghua.edu.cn/apache/jmeter/binaries/ 选择一个压缩包下载即可 然后解压缩后进入bin目录直接执行命令jmeter即可启动 1.2 修改语言 默认是英文的&#xff0c;修改中文&#xff0c;点击…

探秘互联网医院系统的技术内幕:代码解析与创新

随着科技的飞速发展&#xff0c;互联网医院系统正日益改变着传统医疗服务的面貌。这些系统的背后&#xff0c;隐藏着精密而创新的技术。本文将深入研究互联网医院系统的技术内幕&#xff0c;透过代码解析&#xff0c;揭示这些系统如何实现医疗服务数字化的伟大使命。 1. 实时…

优质猫罐头有哪些品牌?分享5款宠物店自用值得推荐的猫罐头!

不知不觉已经开宠物店7年啦&#xff0c;店里的猫猫大大小小也算是尝试过很多品牌的猫罐头了。优质猫罐头有哪些品牌&#xff1f;在猫罐头的选购上一开始我也是踩了很多坑&#xff0c;各种踩雷。我深知猫罐头的各种门道&#xff0c;新手一不小心就会着道了。 优质猫罐头有哪些品…

涉密人员离职怎么做好安全管理?

在信息安全领域&#xff0c;涉密人员的离职安全管理具有极其重要的意义。一旦涉密人员离职&#xff0c;可能会对单位的信息安全造成威胁&#xff0c;因此必须采取有效的措施来确保涉密人员离职后的信息安全。 一、涉密人员离职安全管理的现状 目前&#xff0c;许多单位在涉密人…

云流量回溯主要作用是哪些?

云流量回溯&#xff0c;作为网络运营中的一项关键技术&#xff0c;具有重要的作用&#xff0c;为企业提供了更加精准、高效的网络管理手段。本文将探讨云流量回溯的主要作用以及其在网络优化中的关键性。 1. 实时监测与分析&#xff1a;云流量回溯通过实时监测网络流量&#xf…

力扣OJ题讲解——循环队列

今天我们一起来做一道关于队列的OJ题目&#xff0c;这是力扣题目622题&#xff0c;点击题目链接可以直接跳转&#xff0c;https://leetcode.cn/problems/design-circular-queue/ 首先&#xff0c;我们看到要求&#xff0c;需要我们实现哪些功能&#xff1f; 我们需要设置队列长…

ubuntu上编译proj-7.1.0出现tiffio.h找不到的错误

作者&#xff1a;朱金灿 来源&#xff1a;clever101的专栏 为什么大多数人学不会人工智能编程&#xff1f;>>> 在编译ubuntu上编译proj-7.1.0出现下面错误&#xff1a; grids.cpp:41:10: fatal error: tiffio.h: No such file or directory41 | #include "tif…