测试设计规范:优秀实践的全面指南

测试设计规范是一个定义了与测试项目相关的测试条件、详细的测试方法和高级测试用例的文档。它确定了要运行哪些测试套件和测试用例,以及要跳过哪些。

使用测试设计规范,可以简化对当前测试周期的理解。这个文档回答了像“我们在做什么?”,“我们怎么做?”和“为什么要这样做?”这样的简单问题。然而,要达到这个结果,必须正确地将许多事物融入到创建规范中,使其变得完美合理。

在软件行业中,"规范"这个词对任何人来说可能并不陌生。根据理论定义,规范是关于设计和制造某物所涉及的详细描述和材料。规范已经采取了多种形式,并为不同部门提供了多种不同的服务。对于开发者来说,软件需求规范(SRS)可能是首先记录他的理解并传达给客户或其他团队成员的文档。对于测试人员来说,SRS文档变成了测试设计规范(TDS),它具有相同的目的,但专注于测试并且仅供测试人员使用。

什么是测试设计?规范的清晰度在很大程度上取决于我们对测试设计及其在测试领域中的作用的理解。

测试设计提供了关于在软件应用程序上执行的测试的想法。重要的是要注意,测试设计预期在测试之前构建,而不是在测试过程中或之后。这样,我们就知道应该采取哪些路径并避免哪些路径。

构建测试设计包括三个阶段:

1.分析我们经历的第一个阶段是测试分析。在这个阶段,我们分析应用程序和我们所拥有的其他所有东西。测试人员在分析阶段收集的所有数据将成为以后测试用例的基础。

2.计划一旦我们分析了应用程序并收集了非结构化的原始数据,我们会计划使用所有资源进行高效的测试。这在很大程度上取决于我们向用户发布的软件类型。游戏应用程序可能需要大量的UI、UX和硬件响应测试。在银行应用程序中,担心这些问题可能不那么重要。

3.创建测试用例我们有资源和结构可以在测试阶段对软件进行测试。因此,我们开始创建测试套件,记住我们是根据前一阶段创建的计划来工作的。测试套件的创建可能指示编程脚本或基于英语的定义。

在一些组织中,开发者可以通过测试套件来清楚地定义应用程序目标,从而确定系统的功能。例如,“检查文件上传”可以是一个包含与上传框相关的测试用例的测试套件。之后,测试人员可能会在文件上传中探索各个领域,如上传具有允许扩展名的文件、上传具有不正确扩展名的文件、在上传过程中断开网络连接等。

另一方面,如果质量保证直接参与其中,他们甚至可以直接在此处以脚本形式设计测试套件。

完成了所有这些三个步骤后,我们的测试设计就完成了。但这主要侧重于应用程序的测试部分。这将是我们需要创建的测试设计文档的核心。将测试设计与完成文档所需的其他元素相结合,形成了测试设计规范。

在进行测试时,重要的是考虑真实的用户场景。为了使测试环境更加真实,应该在真实设备云上运行测试。

您可以使用LambdaTest——一个测试编排和执行平台,提供跨3000多种真实浏览器、设备和操作系统对网站和应用程序进行手动和自动化测试。根据您的项目需求,您甚至可以在真实设备云和基于Android模拟器和iOS模拟器的移动应用程序上进行测试。

什么是测试设计规范?测试设计规范定义了我们的测试将如何构建。当我们深入研究这个概念时,我们就到达了测试设计规范或者说是一份比测试设计更丰富、更深入的文档,供测试人员(有时也供开发人员)使用。

它不仅讨论测试和场景,还回答了与测试相关的更深层次的问题。例如:

如何执行测试?我们需要多久执行一次测试?我们正在使用的方法是什么?为什么要使用这些方法?我们正在选择哪些测试工具?为什么要选择这些工具?具体解释的测试场景是什么?根据测试人员或项目/组织的需求,还可以添加更多内容。

测试设计规范围围绕特征而不是测试用例展开,与测试设计相比。在讨论时,我们考虑单个特征,并记录在测试中将使用哪些测试用例或场景(从测试设计池中选取)。因此,我们为一个软件创建多个测试设计规范。

测试设计规范的格式在测试设计规范中,我们可能会遇到来自不同人的不同观点。即使消除了地理差异,你和我可能会产生完全不同的规范(或任何文档)。这是因为我认为必要的东西对你来说可能并不重要,反之亦然。

为了解决这种情况,IEEE组织在软件行业中处理、管理和规范每种类型的规范。IEEE包含一个庞大的数据库,定义了软件开发的每个阶段的标准,甚至在编写一行代码之前就开始了。

对于那些针对SDLC中的特定领域的人来说,搜索特定规范可能变得耗时。为了处理这种情况,IEEE描述了一个数字,它指代一个区域内的标准文档。对于我们的测试计划、测试设计和测试用例规范,我们使用IEEE 829文档。

IEEE 829描述了在文档中需要描述的以下基本要素:

测试设计规范标识符。需进行测试的功能。方法细化。测试用例标识。功能通过/失败的标准。让我们逐个分析它们。

标识符在创建设计规范时的第一个基本要素是标识符。它记录在文档的顶部,并且每个测试设计规范都有一个唯一的标识符。在文档中需要这个要素的原因是,一个软件可能包含与单个功能或一组功能相关的多个规范。

为了对这些文档描述一个独特的标识符,我们可以在不打开它们的情况下识别每个文档的摘要。这种安排有助于更快地找到所需的信息,最终有助于快速完成测试阶段。

在创建测试设计规范标识符时,请记住以下几点:

名称应该简短且唯一。指定版本日期号。规范的作者及其联系方式,例如电子邮件地址。明确定义修订历史(如果有)。

需进行测试的功能根据IEEE 829,测试设计规范的第二要素定义了需要测试的功能列表。通常,这对应于由高级管理层或客户确定的从需求池(包含所有需求)中提取的需求。这些需求满足应用程序的功能,因此将其称为“需进行测试的功能”。

测试人员应仔细组合所有的测试用例规范,以满足所有需求。没有这些规范,我们的应用程序有可能存在错误和漏洞

根据IEEE的规定,设计规范需要涵盖以下内容:

功能:属性和特征。功能:如果存在分组。如果测试计划涉及多个层次的测试,请确定特定功能涵盖的层次。与包含需求池的文档的关联。方法细化测试设计规范的第三部分涉及特征细化和我们的方法。 "细化" 部分有一些指定的部分必须包含,但测试人员可以在其上添加一些自己的内容。

作为一个测试人员,您可以考虑这一段是一个测试人员为其他测试人员记录的最深层次的知识。对于那些不参与项目的测试人员来说,他们尤其需要用文档回答有关测试技术的每个问题。

根据IEEE的规定,这种技术水平被分为以下几个部分:

测试技术的具体细节:这部分将包括有关每个功能中使用的测试技术的较少细节。为什么使用某种测试技术:详细说明为什么使用特定的测试技术以及它带来的优势。结果分析方法:突出显示如何分析测试阶段的结果。这一部分的主要目的是定义结果分析中使用的方法和所提到的工具。测试人员还可以说明为什么使用某个工具以及其目的。例如,JMeter 被用于分析负载测试结果。特征级别关系:此部分定义了特征或测试项与测试级别之间的关系。标准信息:测试人员认为对多个功能/测试用例有共同意义的任何信息应在此部分共享。这可能包括测试环境信息、设置信息、恢复信息和依赖项。

IEEE按照上述顺序描述了这些部分。并不一定要遵循如此严格的步骤,只需要确保测试设计规范中的信息是完整的。

测试标识设计规范的这一部分用英文描述测试用例,以便读者在深入了解具体细节之前能对测试用例有一个大致的了解。

此部分分为两个部分:

测试用例标识介绍每个测试用例的简要知识。测试过程标识介绍每个测试过程的简要知识。

功能通过/失败的标准最后但同样重要的是,在测试设计规范中必须包含功能通过/失败的标准。我们的目标是为每个测试确定通过或失败的标准,并分析结果。

例如,如果一个测试用例涉及 "在网站上注册",通过的标准可能是 "用户在数据库中被创建"。如果使用失败的标准,那么 "用户没有在数据库中创建" 就意味着测试未通过。

这些标准帮助我们评估所有测试用例的最终结果,并阐明当我们说测试通过或失败时的含义。

结论当一个测试人员加入团队时,自然而然地,团队将面临各种不同类型的问题。除了定义方法和标准程序外,项目相关的问题可能会占用您大部分时间。

通过电话澄清所有疑问,并为每个测试用例提供解释,包括 "我们为什么这样做",这是不可行的,而且老实说,新成员不太可能很快记住这些内容。因此,我们采用文档的方式来解决这个问题。

在每个领域中,文档提供了团队成员和参与项目的人(无论是技术人员还是非技术人员)的参考材料。由于这些时候人们从世界各地聚集在一起共同开发一款优秀的软件,因此需要一种标准的文档来确保每个人在参考测试设计相关内容时都处于相同的页面。

IEEE是负责此类事务的组织,他们提供了一个标准的分段文档,称为测试设计规范,用于测试设计领域,并记录团队所做的选择以及与测试流程有关的一切。

本文介绍了这个文档,并将复杂的部分分解为简单易懂的概念。希望这个指南能为您在下一个项目中建立一个强大的测试设计规范提供快速参考。

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

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

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

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

相关文章

MySQL缓存策略

文章目录 一、MySQL缓存方案的作用二、提高MySQL访问性能的方式2.1 读写分离2.1.1 是什么?2.1.2 解决了什么?2.1.3 原理是什么? 2.2 连接池2.1.1 是什么?2.1.2 解决了什么?2.1.3 原理是什么? 2.3 异步连接2…

机器人CPP编程基础-03变量类型Variables Types

机器人CPP编程基础-02变量Variables 全文AI生成。 C #include<iostream>using namespace std;main() {int a10,b35; // 4 bytescout<<"Value of a : "<<a<<" Address of a : "<<&a <<endl;cout<<"Val…

W5500-EVB-PICO 做TCP Server进行回环测试(六)

前言 上一章我们用W5500-EVB-PICO开发板做TCP 客户端连接服务器进行数据回环测试&#xff0c;那么本章将用开发板做TCP服务器来进行数据回环测试。 TCP是什么&#xff1f;什么是TCP Server&#xff1f;能干什么&#xff1f; TCP (Transmission Control Protocol) 是一种面向连…

NOSQL——redis的安装,配置与简单操作

目录 一、缓存的相关知识 1&#xff09;缓存的概念 2&#xff09;系统缓存 buffer与cache&#xff1a; 3&#xff09;缓存保存位置及分层结构 DNS缓存 应用层缓存 数据层缓存 分布式缓存服务&#xff1a; 数据库&#xff1a; 硬件缓存 二、关系型数据与非关系型数据…

晨控CK-GW06-E01与汇川H5U系列PLC通讯手册

晨控CK-GW06-E01与汇川H5U系列PLC通讯手册 晨控CK-GW06-E01是一款支持标准工业通讯协议 EtherNet IP 的网关控制器,方便用户集成到PLC等控制系统中。本控制器提供了网络 POE 供电和直流电源供电两种方式&#xff0c;确保用户在使用无 POE 供电功能的交换机时可采用外接电源供电…

-bash: ./startup.sh: Permission denied解决

今天在Linux上启动Tomcat&#xff0c;结果弹出&#xff1a;-bash: ./startup.sh: Permission denied 的提示。 这是因为用户没有权限&#xff0c;而导致无法执行。用命令chmod 修改一下bin目录下的.sh权限就可以了。 在Tomcat的bin目录下 &#xff0c;输入命令行 &#xff1a;c…

竞赛项目 深度学习实现语义分割算法系统 - 机器视觉

文章目录 1 前言2 概念介绍2.1 什么是图像语义分割 3 条件随机场的深度学习模型3\. 1 多尺度特征融合 4 语义分割开发过程4.1 建立4.2 下载CamVid数据集4.3 加载CamVid图像4.4 加载CamVid像素标签图像 5 PyTorch 实现语义分割5.1 数据集准备5.2 训练基准模型5.3 损失函数5.4 归…

Linux 内存管理新特性 - Memory folios 解读 | 龙蜥技术

本文内容基于 Linux 5.16&#xff0c;folio 基础部分开始合入。截止到目前 Linux 6.5&#xff0c;folio 已经有很大进展&#xff0c;会在后续文章中介绍。作者&#xff1a;徐宇。 01 folio [ˈfoʊlioʊ] 是什么 引用 LWN: Memory folios &#xff1a;https://lwn.net/Articl…

基于大模型的数据血缘异常归因分析

近日&#xff0c;以“元数据技术及应用创新”为主题&#xff0c;最新一季StartDT Hackathon&#xff08;奇点云黑客马拉松&#xff09;正式收官。 本期黑客松共吸引了近50位选手参赛&#xff0c;有的在实时数仓领域显神通&#xff0c;有的则再次请出了大模型。这些小组都有个共…

利用自动校对软件优化新闻稿件的拼写和语法

利用自动校对软件优化新闻稿件的拼写和语法&#xff0c;您可以按照以下步骤进行&#xff1a; 1.选择适合的校对软件&#xff1a;市场上有多种拼写和语法校对软件可供选择。根据您的需求和预算&#xff0c;选择一个功能强大且适合新闻稿件的软件。 2.导入稿件&#xff1a;将待校…

日常BUG ——乱码

&#x1f61c;作 者&#xff1a;是江迪呀✒️本文关键词&#xff1a;日常BUG、BUG、问题分析☀️每日 一言 &#xff1a;存在错误说明你在进步&#xff01; 一、问题描述 A系统使用Feign调用B系统时&#xff0c;传递的String字符串&#xff0c;到了B系统中变为了乱…

Flutter:屏幕适配

flutter_screenutil flutter_screenutil是一个用于在Flutter应用程序中进行屏幕适配的工具包。它旨在帮助开发者在不同屏幕尺寸和密度的设备上创建响应式的UI布局。 flutter_screenutil提供了一些用于处理尺寸和间距的方法&#xff0c;使得开发者可以根据设备的屏幕尺寸和密度…

2023年游戏买量能怎么玩?

疫情过后&#xff0c;一地鸡毛。游戏行业的日子也不好过。来看看移动游戏收入&#xff1a;2022年&#xff0c;移动游戏收入达到920亿美元&#xff0c;同比下降6.4%。这告诉我们&#xff0c;2022年对移动游戏市场来说是一个小挫折。 但不管是下挫还是上升&#xff0c;移动游戏市…

Git 快速入门

Git 快速入门 文章目录 Git 快速入门一、代码托管平台&#xff08;远程仓库&#xff09;二、安装Git三、Git的命令实践Git 的四个区域Git 管理代码的3个场景Git 工作区的理念Git 工作区的生命周期Git 版本回退Git 文件重命名Git查看版本提交日志Git StashGit分支Git标签 四、创…

新利好带动 POSE 持续上扬,月内几近翻倍

PoseiSwap是Nautilus Chain上的首个DEX&#xff0c;得益于Nautilus Chain的模块化Layer3构架&#xff0c;PoseiSwap正在基于zk-Rollup方案构建全新的应用层&#xff0c;并基于此构建隐私、合规等全新的特性&#xff0c;为未来其布局RWA领域推动Web2、Web3世界的进一步融合构建基…

【Docker晋升记】No.1--- Docker工具核心组件构成(镜像、容器、仓库)及性能属性

文章目录 前言&#x1f31f;一、Docker工具&#x1f31f;二、Docker 引擎&#x1f30f;2.1.容器管理&#xff1a;&#x1f30f;2.2.镜像管理&#xff1a;&#x1f30f;2.3.资源管理&#xff1a;&#x1f30f;2.4.网络管理&#xff1a;&#x1f30f;2.5.存储管理&#xff1a;&am…

(二)结构型模式:2、桥接模式(Bridge Pattern)(C++实现示例)

目录 1、桥接模式&#xff08;Bridge Pattern&#xff09;含义 2、桥接模式应用场景 3、桥接模式的UML图学习 4、C实现桥接模式的示例 1、桥接模式&#xff08;Bridge Pattern&#xff09;含义 桥接模式是一种结构型设计模式&#xff0c;它将抽象部分与实现部分分离&#…

【算法】逆波兰表达式

文章目录 定义求法代码思想&#xff1a; 定义 逆波兰表达式也称为“后缀表达式”&#xff0c;是将运算符写在操作数之后的运算式。 求法 *如&#xff1a;(ab)c-(ab)/e的转换过程&#xff1a; 先加上所有的括号。 (((ab)*c)-((ab)/e))将所有的运算符移到括号外面 (((ab) c)* …

A33 QT 主线例程 opengl

点击查看 HW33-050 HW33-070 规格书 HW33-050 HW33-070 支持 android 系统和 Linux QT。 HW33-XXX采用4 核Cortex-A7 ARM、Mali400MP2 GPU架构&#xff0c;主频 1.2GHz 的 CPU。内存 存储标配分别为1GB、8GB&#xff0c;内置显卡为Mali400MP2&#xff0c;支持 H.264 1080P …

2023一带一路东盟工商领袖峰会在曼谷成功举行,发明家周初材被授予中泰友好交流大使

今年是共建“一带一路”倡议提出十周年。十年来&#xff0c;共建“一带一路”倡议从理念到行动&#xff0c;从愿景到现实&#xff0c;开展更大范围、更高水平、更深层次的区域合作&#xff0c;致力于维护全球自由贸易体系和开放型世界经济&#xff0c;推动文明交流互鉴&#xf…