只要做好这布成为测试经理不是梦!

news2024/12/25 12:51:58

之前说了太多的测试技术和测试用例设计方法,猛地发现有点“偏科“了。今天我们放松一些,泡一杯茶,一起来聊一聊测试策略吧。

当然,文章脉络肯定是咱们老三样:什么是测试策略,为什么要制定测试策略,怎么制定测试策略。

什么是测试策略?

在中文的解释里,策略也可以叫做计划、谋略,是可以实现目标的方案集合:

首先,有一个确定指向的目标;

其次,是一个方案的集合;

再次,是灵活可可变动的。

所以,我们所说的测试策略,简单来说,可以归纳为:测什么、怎么测。

“测什么“是目标,“怎么测”是方法。那么,我们为什么要制定测试策略呢?

为什么要制定测试策略?

首先,制定测试策略能够帮助测试团队更清楚测试目标,从而更好地判断测试结果、产品质量是否达标,判定产品是否可以发布。

其次,对于测试管理来说,制定测试策略能够帮助测试管理人员更好地实现风险管理。

清楚测试目标和测试方法,能够让测试管理人员更好地实施基于风险的测试。并且测试策略可以与开发/测试过程进行融合,更好地在子阶段选动态选用测试策略。

不仅如此,还能帮助测试人员更深入地理解测试技术/手段/工具地差异性,在测试过程中选用更好地测试方法。

总的来说,测试策略是可变的,根据不同场景地变化,具有明确或具体的测试目标。测试策略是为了效益最大化,在有限的条件下选择最适合的测试方法。

怎么制定测试策略

测试策略需要考虑哪些因素

项目环境

代表了一组上下文因素,包括项目中的资源、约束条件等,主要包括以下内容:

任务,你需要为客户解决的问题。

问问自己:为什么要测试?你知道谁是你的客户吗?你的客户或者其他人对你的测试任务有什么样的想法?

信息,关于测试所需的产品或项目的信息。

问问自己:我们可以咨询谁来了解这个项目?有工程文件可用、用户手册、基于web的材料、规格、用户故事,这个产品有历史版本吗?有哪些遗留的问题?

以及你的测试版本是最新的吗?你是如何得知新的或变化的信息的?有没有类似的产品或项目可以让我们收集到重要的信息?

开发者关系,你如何与程序员相处,这取决于你有疑问能不能很快且良好地得到解决。

问问自己:你是否与程序员建立了友好的工作关系开发人员对你的测试策略有什么看法?

测试团队,执行或支持测试的任何人。

问问自己:你知道谁将参加测试,他们是否拥有所需的知识和技能?

“测试团队”中是否有可能提供帮助的人,那些之前测试过类似产品的人可能会有什么建议,作家、用户、程序员?是否有特定的测试技术,团队中有人有特殊的技能或动机去执行?

设备和工具,管理测试所需的硬件、软件或文档。

问问自己:是否拥有测试所需的所有物理或虚拟硬件,是否拥有能够自动控制和观察产品行为的工具,是否拥有创建测试数据、设计场景或分析和跟踪测试结果的工具,是否需要任何文档来跟踪或记录测试的进展?

时间表,项目事件的顺序、持续时间和同步。

问问自己:

测试设计:你有多少时间进行测试?

测试执行:何时执行测试是否有一些测试是重复执行的,比如,为了回归目的?

开发:构建何时可以用于测试、添加功能、冻结代码等?

测试项目,要测试的产品。

问问自己:

范围:产品的哪些部分在你的测试职责范围内,哪些部分不在?

可用性:你有要测试的产品吗,你们有可用的测试平台吗?

波动性:产品是否在不断变化,如何针对这些变化进行测试?

新功能:你知道最近有什么添加到产品中的新功能吗?

交付,测试项目的可观察产品。

问问自己:

内容:你需要做什么样的报告?

目的:你的可交付成果是否作为产品的一部分提供,还有其他人帮你做测试吗?

标准:你是否有一个特定的测试文档?

产品元素

涉及产品的各个方面,包括产品固有的方面以及产品与外部事物之间的关系。主要包括以下内容:

结构,构成实体产品的所有东西。

例如代码、硬件、非执行文件、附属品等。

功能,产品所做的一切。

例如应用、时间相关、安全相关、启动/关闭、错误处理、交互作用等。

数据,产品加工的所有东西。

例如输入/输出、预置、持久化、相互依赖/相互作用、无效/噪声、生命周期等。

接口,每一个产品被访问或表达的管道。

例如用户界面、API/SDK、导入/导出等。

平台,产品所依赖的所有东西(以及项目之外的东西)。

例如外部硬件、外部软件、嵌入式组件、产品足迹等。

操作,如何使用产品。

例如用户、环境、常见使用、错误使用、极端使用等。

时间,产品和时间之间的关系。

例如输入/输出、快/慢、改变速率、并发性等。

质量标准类别

评价产品质量的标准,例如可靠性、稳定性等,它是主观的、多维的。主要包括以下内容:

能力

问问自己:它能执行所需的功能吗,它执行的结果正确吗?

可靠性

问问自己:它会在所有需要的情况下都能很好地工作并抵抗失败吗 ?

测试要点如:

健壮性:在合理的条件下,产品可以持续运行一段时间而不退化。

错误处理:产品在错误的情况下能够抵抗失败,在失败的情况下能够很好地恢复。

数据完整性:保护系统中的数据不丢失或损坏。

安全性:产品不会出现危害生命或财产的故障。

可用性

问问自己:一个真正的用户使用这个产品有多容易。

测试要点如:

易学性:目标用户可以快速掌握产品的操作。

可操作性:产品可进行复合操作。

易访问性:产品符合相关的标准,并符合O/S易访问性特性。

外观性

问问自己:产品有多吸引人?

测试要点如:

美学:产品吸引感官。

独特性:产品在某种程度上是新的或特别的。

必要性:产品具有用户期望的功能。

实用性:产品解决了重要的问题,而且解决得很好。

入迷:用户在使用产品时被吸引住,获得乐趣,完全沉浸其中。

形象:产品表现出期望的质量印象。

安全

问问自己:产品如何防止未经授权的使用或入侵?

测试要点如:

认证:系统验证用户权限操作正确。

授权:通过认证的用户在不同的权限级别上被授予的权限。

隐私:保护客户或员工数据不受未授权人员侵犯的方式。

可伸缩性

问问自己:产品部署的规模是扩大还是缩小 ?

测试要点如:产品可以扩展或收缩部署。

兼容性

问问自己:它与外部组件和配置的配合情况如何?

测试要点如:

应用兼容性:该产品与其他软件产品协同工作。

操作系统兼容性:产品适用于特定的操作系统。

硬件兼容性:该产品适用于特定的硬件组件和配置。

向后兼容性:产品与自身的早期版本兼容性。

性能

问问自己:它的速度和响应速度如何?

可安装性

问问自己:

系统要求:产品是否识别出某些必要的组件缺失或不足?

配置:系统哪些部分受安装影响,文件和资源存储在哪里?

卸载:当产品卸载时,是否干净地卸载?

测试技术

决定了测试人员如何、何处以及何时应用特定技术需要对项目环境、产品元素和质量标准进行分析。主要包括以下内容:

功能测试,测试它能做什么。

确定产品可以做的事情(功能和子功能),确保每个子功能都做了它应该做的事,而不是它不应该做的事。

域测试,分治数据。

寻找产品处理过的任何数据,既要看输入,也要看输出;

决定使用哪个特定的数据进行测试,考虑边界值、典型值、方便值、无效值或最佳代表;

考虑值得一起测试的数据组合。

压力测试,压倒产品。

寻找那些在具有挑战性的数据或受限的资源存在时容易过载或“崩溃”的子系统和功能;

确定与这些子系统和功能相关的数据和资源;

选择或生成具有挑战性的数据,或资源约束条件来测试。

例如,大型或复杂的数据结构,高负载,长时间测试运行,许多测试用例,低内存条件。

流测试,做一件又一件事。

执行端到端连接的多个活动;

不要在两次操作之间重置系统;

改变时间和顺序,并尝试并行线程。

场景测试,测试一个引人入胜的故事。

首先考虑产品周围发生的一切;

设计测试,包括与产品有意义和复杂的交互。

需求测试,确认每一个需求。

确定参考材料,包括关于产品的声明(默示或明确),考虑规范、帮助文本、手册等;

分析个人需求,澄清模糊的需求;

测试关于产品的每个声明;

如果您正在从一个明确的规范进行测试,那么期望它和产品保持一致。

用户测试,让用户参与进来。

识别用户的类别和角色;

确定每一类用户将做什么(用例),他们将如何做;

获得真正的用户数据,或者让真正的用户参与测试;

强大的用户测试涉及多种用户和用户角色,而不仅仅是一个。

风险测试,想象一个问题,然后找到它。

想象产品会有哪些问题,哪一种最重要?关注这些,列出一些有趣的问题,并专门设计测试来揭示它们。咨询专家、设计文档、过去的错误报告或应用风险启发式可能会有所帮助。

自动化测试,编写一个程序来生成并运行无数的检查。

寻找或开发可以执行许多操作和检查许多事情的工具;

考虑部分自动化测试覆盖率的工具;

考虑部分自动化oracle的工具;

考虑自动变更检测器;

考虑自动测试数据生成器。

如何将测试策略实体化

测试策略转化为测试活动,通过测试策略确定的测试活动,并拆解为一个个测试任务嵌入测试计划,才能将测试策略有效实体化。

例如,测试策略S确定了测试活动A1、A2,A1和A2拆解出测试任务T11、T12、T13,和T21、T22。为测试任务分配测试责任人和测试工期,最终成为一个完成的测试计划。

由上所述,本文简单讲述了测试策略的含义、意义以及制定测试策略需要考虑的元素和测试策略的实体化。

希望能帮助大家对测试策略有个更全面和清晰的认识。

测试进阶

在智能驾驶发展得如火如荼的今天,软件测试行业也随之衍生出车载测试的岗位需求。对比其它在招岗位,车载测试的薪资也更加可观。

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

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

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

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

相关文章

3年测试经验,跳进腾讯,3面终获20K的Offer...

前言 时间过得飞快,一代又一代就这么成长了起来,曾经的95后备受争议,如今的95后进入社会,扮演者各行角色,成为了行业顶梁柱,今天,要分享的是自己的成长经历。今年24岁,毕业之后进入…

5th-Generation Mobile Communication Technology(六)

目录 一、5G/NR 1、 快速参考(Quick Reference) 2、5G Success 3、5G Challenges 4、Qualcomm Videos 二、PHY and Protocol 1、Frame Structure 2、Numerology 3、Waveform 4、Frequency Band 5、BWP 6、Synchronization 7、Beam Management 8、CSI Fra…

UE4 监听游戏窗口最小化事件

UE4 监听游戏窗口最小化事件 结论: 先说结论:Windows相关事件在UE4中引擎部分也会处理,包括窗口创建,销毁,最大化最小化,窗口尺寸改变等。通常,每个事件与Windows一样都是WM_***的样子表示&…

静态程序分析学习心得 tai-e

0x00 前言 经过将近2个月的时间,看完了b站上南大的静态程序分析课程,并且完成了其oj上的作业,在这里记录一下在做题过程中,遇到的一些坑点,文章不会贴源码,只记录一下思路,因此大家可以放心阅读…

aac怎么转化为mp3?4个超简易转换方法推荐给大家!

aac怎么转化为mp3?音乐是人类灵魂的表达,只有懂得欣赏音乐的人才能领略到生活的美好与价值。除了运动、看电影等,聆听音乐也是小伙伴们调剂生活的一个好方式。很多小伙伴都有在网上下载音乐的习惯,通过我们也都知道音乐的格式种类…

Linux系统编程——多线程[下]:生产消费模型信号量线程池

0.关注博主有更多知识 操作系统入门知识合集 目录 1.生产者消费者模型 1.1基于阻塞队列的生产者消费者模型 1.2生产消费模型的效率问题 2.信号量 2.1信号量 2.2基于环形队列的生产者消费者模型 2.3环形队列的生产消费模型的效率问题 3.线程池 3.1线程池的实现 1.生…

javaIO流之转换流

目录 简介一、编码和解码二、字符集2.1ASCII 字符集2.2Unicode 字符集2.3GBK 字符集 三、乱码四、InputStreamReader4.1构造方法4.2解决编码问题 五、OutputStreamWriter六、小结 简介 转换流可以将一个字节流包装成字符流,或者将一个字符流包装成字节流。这种转换…

Ajax、Promise、Axios前端三剑客

文章目录 🐳前言关系二维表: 🐳Ajax定义:特点:🐡核心对象XMLHttpRequest:XMLHttpRequest对象的五种状态: 使用:1.Jquery的ajax:2.Vue的ajax: &…

【C#】GridControl增加选择列(不用二次点击)

系列文章 【C#】单号生成器(编号规则、固定字符、流水号、产生业务单号) 本文链接:https://blog.csdn.net/youcheng_ge/article/details/129129787 【C#】日期范围生成器(开始日期、结束日期) 本文链接:h…

【FMC156】基于VITA57.1标准的2路2.5GSPS采样率16位分辨率直流耦合DA播放FMC子卡模块(DAC38J82)

产品概述 FMC156 是一款基于VITA57.1 标准规范,实现2 路2.5GSPS 采样率16 位分辨率直流耦合DAC 播放子卡模块。该模块遵循VITA57.1 标准,可直接与FPGA 载卡配合使用,板卡DAC 器件采用TI 公司的DAC38J82 芯片,该芯片提供4 个模拟输…

2023,有哪些适合网工跳槽的好公司?(不是BAT)

大家好啊,我的网工朋友 都说行业内卷,卷的不成人形,这内卷,一卷就卷了好几年。 很多网工同行都讨厌被卷来卷去,但是看到同行进了大厂,免不了还是要羡慕嫉妒恨一波。 作为主编几年,我就发现了…

注册ChatGPT时提示Oops! The email you provided is not supported

问题描述 今天本想出一个ChatGPT的注册与使用的教程,结果上来吃了个闭门羹。之前我通过微软账号登录验证是没有问题的,但这次想使用另一个微软账号,结果提示Oops! The email you provided is not supported(您提供的电子邮件不支…

C# 给winfrom窗体添加皮肤控件

如何快速给C# winform添加好看的皮肤C# Winform中窗体的美化 SkinEngine的应用 皮肤控件换肤素材包,IrisSkin2.dll皮肤素材资源下载 压缩包内一共有22种皮肤素材,使用说明:把控件拖到你的form上,只需一行代码,即可实…

Ubuntu安装时没注册root用户密码,怎么登录root

一、Ubuntu设置root密码: 1.桌面空白处右键菜单 点击“打开终端“。 2.输入命令 "sudo passwd root

Cinema 4d 和 3ds Max:哪个软件更好?

3D 设计有很多挑战。设计师通常需要克服他们的看法和偏见,此外还要学习一些深入的程序来有效地使用 3D 风格的软件系统。市场上有很多用于3D设计的软件,因此对于哪一种对您的需求最有效会令人困惑。如果您不熟悉3D,或者您正在四处寻找新的软件…

数据进行分组后同一字段字符串连接方法

数据源如下:期望将同一个id_supplier_basic_info输出的supplier_type写在一行上,可以按‘/’分隔 一开始的时候使用的是但是一直提示找不到这个函数,一时陷入迷惑,难道是mysql不支持这个函数?但是百度明明都说mysql是支…

Mss32.dll丢失怎么办?怎么修复Mss32.dll文件

Mss32.dll丢失怎么办?如果你打开游戏或者应用程序时出现了如下错误提示:“找不到Mss32.dll”,那么你就需要解决这个问题。 Mss32.dll是一个动态链接库文件,它通常用于多媒体应用程序和游戏中的音频功能。如果该文件丢失或损坏&…

谷歌seo怎么做?2023做好谷歌seo的7个关键点

谷歌seo怎么做? 谷歌搜索引擎优化(SEO)是一系列的技术和策略,旨在通过改进网站结构、内容和其他因素,提高网站在搜索引擎结果页面(SERP)中的排名和可见性。以下是一些常用的谷歌SEO技术和策略&…

C语言——指针初阶

哈喽,大家好,今天我们来学习C语言中的指针,今天主要学习初阶指针,后期我们将继续学习指针进阶。 目录 1. 指针是什么 2. 指针和指针类型 2.1 指针-整数 2.2 指针的解引用 3. 野指针 3.1 野指针成因 3.2 如何规避野指针 4.…

苹果浏览器safari打不开网页怎么办?参考方法在这!

案例:为啥苹果自带的浏览器打不开网页?输入名称或者网址,打开的网页都是空白的。 【不知道怎么回事,我在safari浏览器里面输入网址,但是打不开正确的网页,一直打开的是空白网页。】 当您使用苹果自带的浏览…