软件测试需求分析方法

news2024/11/27 21:04:09

目录

前言:

1.1 什么是测试需求?

1.2 为什么要做测试需求?

2.测试需求分析方法

2.1 测试需求分析依据

2.2 测试需求架构划分

2.3 测试需求分析过程

2.3.1 测试需求收集

2.3.1.1 测试类型划分

2.3.1.2 测试类型细化

2.3.1.3 生成测试需求树

2.3.2 测试风险分析

3.总结


前言:

在软件测试过程中,需求分析是一个至关重要的阶段。它旨在深入了解软件系统的需求,并将其转化为明确、可测量和可验证的测试需求。

1.1 什么是测试需求?

  确切地讲,所谓的测试需求就是在项目中要测试什么。我们在测试活动中,首先需要明确测试需求(What),才能决定怎么测(How),测试时间(When),需要多少人(Who),测试的环境是什么(Where),测试中需要的技能、工具以及相应的背景知识,测试中可能遇到的风险等等,以上所有的内容结合起来就构成了测试计划的基本要素。而测试需求是测试计划的基础与重点。

  就像软件的需求一样,测试需求根据不同的公司环境,不同的专业水平,不同的要求,详细程度也是不同的。但是,对于一个全新的项目或者产品,测试需求力求详细明确,以避免测试遗漏与误解。

1.2 为什么要做测试需求?

  如果要成功的做一个测试项目,首先必须了解测试规模、复杂程度与可能存在的风险,这些都需要通过详细的测试需求来了解。所谓知己知彼,百战不殆。测试需求不明确,只会造成获取的信息不正确,无法对所测软件有一个清晰全面的认识,测试计划就毫无根据可言。活在自己世界里的人是可悲的,只凭感觉不做详细了解就下定论的项目是失败的。

  测试需求越详细精准,表明对所测软件的了解越深,对所要进行的任务内容就越清晰,就更有把握保证测试的质量与进度。

  如果把测试活动比作软件生命周期,测试需求就相当于软件的需求规格,测试策略相当于软件的架构设计,测试用例相当于软件的详细设计,测试执行相当于软件的编码过程。只是在测试过程中,我们把“软件”两个字全部替换成了“测试”。这样,我们就明白了整个测试活动的依据来源于测试需求。

2.测试需求分析方法

2.1 测试需求分析依据

通常是以被测产品的需求为原型进行分析转变而来,测试需求主要通过以下途径来进行收集:

与待测软件相关的各种文档资料。如软件需求规格、Use case、界面设计、项目会议或与客户沟通时有关于需求信息的会议记录、其他技术文档等。

与客户或系统分析员的沟通。

业务背景资料。如待测软件业务领域的知识等。

正式与非正式的培训。

其他。如果以旧系统为原型,以全新的架构方式来设计或完善软件,那么旧系统的原有功能跟特性就成为了最有效的测试需求收集途径。

2.2 测试需求架构划分

  测试需求分析应首先进行测试需求架构划分并先进行评审,通过后才进行后续的测试需求展开分析,从产品整体上考虑有哪些功能、测试类型需要进行分析,列出测试特性列表,也方便下一步展开具体分析。

  首先,这里需要对功能进行一下定义以达成共识,功能是指能独立实现一个基本业务处理要求,为了降低测试需求设计的复杂性及依赖性,测试需求架构罗列的功能是指最小功能点,即不可再继续分解。

(1)应用程序:

A.一般是最底层的菜单项为最小功能点,若最底层的菜单项不能体现一个独立的业务流程时,可采用上一层的菜单项为最小功能点。 B. 还有某些比较特殊没有体现在菜单项的功能也需要作为最小功能点考虑,如POS应用程序中交易的冲正功能等。

(2)驱动:一般是以一个API为最小功能点。   然后,再考虑产品实际用户使用的场合及用户特点考虑哪些测试类型,如故障及恢复、功能集成、性能要求、安装测试、软硬件兼容性等,此处需要从产品层面考虑,而不是从功能点层面考虑。

2.3 测试需求分析过程

2.3.1 测试需求收集

  测试需求的收集主要通过对测试依据进行分析整理,最后生成一个以测试的观点出发的checklist(检查表),用来作为测试该软件的主要工作内容。检查表的检查要点包括需求的正确性、必要性、优先级、明确性、可测性、完整性、一致性、可修改性:

  在整个信息收集过程中,务必确保软件的功能与特性被正确理解。因此,测试需求分析人员必须具备优秀的沟通能力与表达能力。

2.3.1.1 测试类型划分

  根据测试需求收集获得的checklist(检查表),对每一条测试需求,从GB/T16260.1定义的软件质量子特性角度出发,确定所对应的质量子特性。即,从适用性、准确性、互操作性、保密安全性、成熟性、容错性、易恢复性、易理解性、易学性、以操作性、吸引性、时间特性、资源利用性、易分析性、易改变性、稳定性、易测试性、适应性、易安装性、共存性、易替换性和依从性方面的定义出发,确定每一条测试需求所对应的质量子特性。从而对这些质量子特性进行测试类型划分,如:功能测试、易用性测试(安装测试、功能易用性测试、用户界面测试、辅助系统测试)、兼容性测试、可靠性测试、文档测试、性能测试,强度测试等。

2.3.1.2 测试类型细化

  对划分的每个测试类型进行细化。软件测试需求是开发测试用例的依据,测试需求分解得越详细精准,表明对软件的了解越深,对所有要进行的任务就越清晰,对测试用例的设计质量的帮助也越大,详细的测试需求还是衡量测试覆盖度的重要指标,测试需求是计算测试覆盖的分母,没有详细的测试需求就无法有效的进行软件测试覆盖计算。最好达到细化的结果是分支的最末端(测试项)针对的测试目的是单一的最小的功能点的测试,即每个测试项为一个测试功能点。

2.3.1.3 生成测试需求树

  已细化的测试需求中,由于在提取时,可能存在着重复或冗余,需要进行删除和合并需求。删除测试需求中存在的重复的、冗余的含有关系的测试项。如果有类似的测试项,则需要对其进行合并。最终生成测试需求树。

2.3.2 测试风险分析

  由于软件的输入、输出、处理存在一定的限制和约束,另一方面由于测试树中进行了必要的删除和合并,这导致测试需求不可能是全面的覆盖,从而形成了一定的测试风险。测试需求中必须对不分析或不测试部分给出相应的风险分析说明。

3.总结

以上主要描述了测试需求相关理论和获得测试需求树的一般过程。为具体项目实施测试中提供了一套获取测试需求树的参考方案。实际的测试类型划分和测试需求树生成的形式或粒度,因项目而不同,需灵活应用。

  作为一位过来人也是希望大家少走一些弯路

在这里我给大家分享一些自动化测试前进之路的必须品,希望能对你带来帮助。

(WEB自动化测试、app自动化测试、接口自动化测试、持续集成、自动化测试开发、大厂面试真题、简历模板等等)

相信能使你更好的进步!

点击下方小卡片

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

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

相关文章

华为OD机试真题 Python 实现【查找重复代码】【2023Q1 100分】

目录 一、题目描述二、输入描述三、输出描述四、Python算法源码五、效果展示1、输入2、输出 一、题目描述 小明负责维护项目中的代码,需要查找出重复代码,用以支撑后续的代码优化,请你帮助小明找出重复的代码。 重复代码查找方法&#xff1…

高频前端面试题汇总之JavaScript篇

近期整理了一下高频的前端面试题,分享给大家一起来学习。如有问题,欢迎指正! 前端面试题系列文章: 【1】「2021」高频前端面试题汇总之HTML篇 【2】「2021」高频前端面试题汇总之CSS篇 【3】「2021」高频前端面试题汇总之Java…

超详细,Pytest自动化测试框架 token全局设置-多套环境使用(实战)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 在做自动化测试时…

LAMP环境搭建

文章目录 LAMP环境搭建LAMP概述LAMP搭建安装Apache服务器安装mariadb(mysql)安装PHP PHP连接MySQLLAMP搭建论坛 LAMP环境搭建 LAMP概述 LAMP是一个常用的Web应用程序开发和部署平台,它是由以下四个开源软件的首字母组成: Linux(操作系统&a…

【开发问题】sqlserver怎么开启cdc

怎么开启 执行sql1、创建cdc​2.如上执行完毕之后&#xff0c;会在<database_name>数据库下的“系统表”中创建如下六个系统表&#xff1a;3.验证SQLServer库级别CDC是否启用4.启用SQLServer表级别CDC功能&#xff08;针对某一张表&#xff09;5、验证SQLServer表级别是否…

计算机毕业论文内容参考|基于微信小程序和云开发的小区垃圾分类知识手册平台的设计与实现

文章目录 导文摘要前言绪论1课题背景2国内外现状与趋势相关技术与方法介绍系统分析总结与展望1本文总结2后续工作展望导文 计算机毕业论文内容参考|基于微信小程序和云开发的小区垃圾分类知识手册平台的设计与实现 摘要 本文介绍了基于微信小程序和云开发的小区垃圾分类知识手…

智慧餐厅系统(外卖、堂食)

智慧餐厅是基于物联网和云计算技术为餐饮店量身打造的智能管理系统&#xff0c;通过客人自主点餐系统、服务呼叫系统、后厨互动系统、前台收银系统、预定排号系统以及信息管理系统等可显著节约用工数量、降低经营成本、提升管理绩效。 系统功能介绍 客户端 1、自助点餐系统&…

JavaScript(基础语法篇)

目录 初识 JavaScript JavaScript 是什么 发展历史 JavaScript 和 HTML 和 CSS 之间的关系 JavaScript 运行过程 JavaScript 的组成 前置知识 JavaScript 的书写形式 1. 行内式 2. 内嵌式 3. 外部式 注释 输入输出 输入: prompt 输出: alert 选择框&#xff1a…

如何用 TDengine 预测 “未来”

介绍 TDengine™ 是一种开源的云原生时序数据库&#xff08;Time Series Database&#xff0c;TSDB&#xff09;&#xff0c;专为物联网&#xff08;IoT&#xff09;、连接汽车和工业物联网进行了优化。它能够高效地实时摄取、处理和监控一天内由数十亿个传感器和数据收集器产…

美女小姐姐是你得菜吗~PYTHON采集西瓜小姐姐

目录标题 前言第三方模块&#xff1a;环境介绍:基本流程:代码展示尾语 前言 嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! 第三方模块&#xff1a; requests >>> pip install requests 第三方模块安装: win R 输入cmd 输入安装命令 pip install 模块名 (如果你觉…

Matlab|改进的粒子群算法优化支持向量机(多分类)

作者在前面的文章中介绍了粒子群算法的原理及其2种改进算法&#xff0c;本文将基于这三种优化方法&#xff0c;应用于支持向量机进行分类&#xff0c;并对比改进算法与标准粒子群算法的分类性能&#xff0c;结果显示改进后的方法能够得到更佳的分类效果。&#xff08;在对PSO-S…

小程序实现自定义分享微信好友

首先在全局page.json中添加"shareAppMessage": true {"path": "pages/brandCoupon/brandCoupon","style": {"navigationBarTitleText": "霸王餐","navigationStyle": "custom","enable…

3D建模软件、Creo 3D 、Creo8安装、下载教程

PTC Creo 8.0 是一款三维 CAD 软件&#xff0c;适用于多个行业和应用场景&#xff0c;包括机械设计、工业设计、电子设计等等。以下是 PTC Creo 8.0 的功能介绍和安装条件&#xff1a; 功能介绍&#xff1a; 三维建模&#xff1a;可以使用多种工具进行三维建模&#xff0c;包…

【python】生成时间戳+读取csv最后一列+生成一组随机数

1.按照间隔生成时间戳,并保存为csv文件 ##### 按照间隔生成时间戳,并保存为csv文件 import pandas as pd from datetime import datetime, time, timedelta times [] ts datetime(2023, 6, 17, 9, 10, 0) while ts < datetime(2023, 6, 17, 9, 26, 40):# times.append(t…

Leetcode 75算法题( 上)(使用C++实现)

目录 数组 / 字符串 1768.交替合并字符串 1071、字符串中的最大公因子 1431. 拥有最多糖果的孩子 605. 种花问题 345. 反转字符串中的元音字母 151. 反转字符串中的单词 238. 除自身以外数组的乘积 334. 递增的三元子序列 443. 压缩字符串 双指针 283. 移动零 392. 判断…

【狂神】MySQL - 连表查询 Join On 详解

1. 连表查询详解 市面上有 7 种连表查询, 总共归为三大类 : 左查询 LEFT JOIN -- 以左表为基准右查询 RIGHT JOIN -- 以右表为基准交叉查询 INNER JOIN -- 查询两表都有的数据 操作描述inner join如果表中至少有一个匹配, 就返回行left join会从左表中返回所有的值…

基于django的数据可视化展现

今天给大家简单分享一下一个基于python的django的框架写的一个数据可视化的项目。 主要涉及技术&#xff1a;django基础&#xff0c;python基础&#xff0c;前端&#xff08;html&#xff0c;echars&#xff09;基础。 这个项目自然而然是基于python逻辑语言处理的&#xff0…

好选客干货分享:化纤长丝找外贸客户

化纤长丝概述 化纤长丝是将聚合物材料&#xff08;如&#xff1a;聚酯、聚酰胺、聚酰胺酯等&#xff09;通过化学反应和纺丝工艺转化制成的连续的细长纤维&#xff0c;具有低成本、高强度、高弹性的优点&#xff0c;与天然纤维相比&#xff0c;其抗皱性和耐磨性也更胜一筹&…

隐秘的角落——proxychains代理工具

互联网只因你太美&#xff0c;自千禧年之后影响了数十年&#xff0c;无数的弄潮儿和狂热者为你痴迷&#xff0c;也有不尽的黑子们就安全问题而争议。直到现在&#xff0c;HTTPS、SSH、SOCKS、VPN、IPsec等技术逐渐为大众所接受&#xff0c;无法割舍。而这次&#xff0c;我将介绍…

防止网络断联,双机热备这么部署就对了

你们好&#xff0c;我的网工朋友。 防火墙的基本功能、配置案例、怎么提升网络的可靠性&#xff0c;给你说过不少。 但有小友留言说&#xff0c;双机热备的知识点&#xff0c;好像没有系统讲过&#xff0c;我去翻了翻&#xff0c;还真是。 为了保证网络的不间断传输&#xf…