当前位置: 首页 > news >正文

测试需求分析

测试需求是什么? --需求文档

测试需求主要解决**“测什么”的问题,一般来自需求规格说明书中原始需求
测试需求应全部覆盖已定义的业务流程,以及
功能和非功能**方面的需求
功能:基本用户需求–优先
非功能:界面,兼容性,易用性,安全,性能

2、为什么需要软件测试需求?
简而言之:只有明确了测试需求,才能知道怎么去测试?什么时候开始测试?要多少人测试
提炼测试点(测试用例),时间规划,人力规划,测试环境==测试计划包含

案例分享
拿到项目看需求的基本步骡:
第—步:确定一下这是一个什么项目,解决什么问题,基本核心和业务流程是什么?
淘宝:购物项目–电商;买卖商品的需求;核心业务流程:注册=–登录–浏览商品–添加购物车(立即购买)–提交订单–支付–查看订单。。==流程团
第二步:真体分析某个具体的消化功能模块下细化分析测试点
注册,登录,购物车,订单,支付…
第三步:功能模块的之间的交互:
第四步:非功能测试(5个方面)

在这里插入图片描述
场景:微信 – 密码输入错误、点错… —> 点击登录 —>软件出现崩溃
输入异常信息时:软件不出现崩溃、闪退 — 可以正常处理异常,并且给出友好提示
测试 — 贴近用户使用场景

测试点思路步骤如下:正常+异常
1、正常功能(先测正常情况他是一个单个功能的冒烟测试):是否可以正常提交,注册成功
2、单个功能项验证(异常):–避免漏测
规则:按顺序从上至下,对每一个输入项进行验证
1)数据长度、数据类型验证、必填项验证、重复
2)限制约束验证
3)隐形需求:充分熟悉产品业务,挖掘|隐性需求
3、功能交互验证
模块之间传递的信息和数据,对存在功能交互的功能项
4、非功能性测试:
界面、易用性、兼容性、安全性、性能压力

需求分析的基本步骤:
1.确定是什么项目,解决什么问题,基本核心和业务流程是什么?
2.具体分析某个具体的消化功能模块 --细化分析 测试点
3.功能模块之间的交互
4.非功能测试
在这里插入图片描述在这里插入图片描述

面试题
1、遇到隐形需求怎么办?
优先根据自身的经验,充分熟悉产品的基础上,参考其他相关成熟产品的流程,去分析隐形需求,挖掘相关隐性需求,不明确可以找产品和开发做详细的确认

2、给你一个带logo的水杯,你会如何去进行测试
功能:水杯:装水,喝水,容量,保温,盖子
非功能:
界面(UI):logo是否清晰,是否正确,颜色,外观是否满足需求
兼容:是否可以盛放不同的液体(冰水,热水,饮料,牛奶),放在桌子上会不会打滑,会不会对桌面造成影响 ,和杯盖、杯垫是否契合
安全:杯子的材质是否对人体有害,杯子的logo是否侵权
易用:是否便携,是否方便拿(杯柄,双层隔热),是否打滑 ,是否方便喝水
性能:是否抗压,抗高温,抗摔

3、给你一支笔你会怎么进行测试?
功能:笔是否正常写字,笔尖是否损坏,书写过程中是否流畅,是否出现不出水的情况
非功能:
界面:笔的外观是否完好,logo是否清晰,有无掉漆,磨损
安全:笔的材质,整体是否对人体有害,笔的品牌是否存在侵权
兼容:笔放在笔筒里,桌子上,放在身上会不会出现漏油等问题
性能:笔的质量怎么样,抗摔,抗压
易用:是否便携,手感是否良好,有无笔盖,书写过程中手感是否良好

4、给你一张A4纸你会怎么进行测试?
功能:笔在A4纸上是否可以书写,打印机使用A4纸复印打印是否有内容
非功能:
界面:外观,大小是否为A4的尺寸,纸的质地,材质,颜色,厚度
易用:正常的笔,容不容易在纸上写出文字,方不方便复印打印等功能
兼容:使用彩笔,油笔不同的笔能否正常书写,不同型号的打印机能否正常打印复印
安全:纸的材质是否对人体有害,毒性物质,生产过程中是否安全,高温燃烧情况
性能:A4纸的质量是否良好,容不容易破损,使用过程中是否轻易破损

全网最全测试点总结:N95 口罩应该如何测试?

引言

随着”新冠疫情“慢慢地消散,各大企业都开始恢复正常的运行,因为疫情造成很多工作人员的流失,企业也开始疯狂的招聘新鲜的人才,这对于莘莘求职者无疑是个机会,但是因为求职者众多,很多面试官也开始想方设法的过滤自己需要的人才,也出现了很多”清奇“的面试题。

以前考察求职者的测试思维时,问到的题目大都是““A4纸如何测试?”,”盆栽如何测试?“,”行李箱如何测试?“,”U盘如何测试?“… 现在很多学生被问到 ”N95口罩该如何测试?“, 紧跟时事热点!

很多人听到这个面试题,第一反应是头顶很多的问号,“N95口罩,就是防病毒的啊,测试不就是看能不能防护住就ok了么?”

其实,不管问你什么物件的测试点,我们的测试思路都是一致的,按照这个思维出发,都能说出让面试官满意的答案。所以,接下来我来给大家总结一下,最新出炉的“N95口罩”的测试点。
首先,我们来普及一下N95口罩的一些常识:

N95型口罩,是NIOSH(美国国家职业安全卫生研究所)认证的9种防颗粒物口罩中的一种。“N”的意思是不适合油性的颗粒(炒菜产生的油烟就是油性颗粒物,而人说话或咳嗽产生的飞沫不是油性的);“95”是指,在NIOSH标准规定的检测条件下,过滤效率达到95%,这一数值不是平均值,而是最小值。N95不是特定的产品名称。只要符合N95标准,并且通过NIOSH审查的产品就可以称为“N95型口罩”。
N95口罩测试思维

知道口罩的基本知识,我们按照测试的思维,依然从6个方面来考虑这个“N95口罩”的测试点:
从功能方面来考虑:

1、可以防护某些颗粒物,如打磨、清扫和处理矿物、面粉及某些其它物料等过程产生的粉尘;

2、可以防护因喷洒而产生的液体的或非油性的颗粒物;

3、能有效过滤和净化所吸入的异常气味,当然有毒气体除外;

4、能够降低某些可吸入微生物颗粒物,如霉菌、炭疽杆菌、结核杆菌等的暴露水平

5、可以防护病菌,过滤效率达到95%以上;

6、测试一些油性颗粒物,确定是否不能防护;
从界面方面来考虑:

1、看包装上是否有商品名,是否有制造商或者是供货商的信息,是否有口罩合格证或者使用说明;

2、如果是一次性口罩还要有一次性的标识,对于重复使用的医用防护口罩还要标明菌的方法;

3、所用材料应没有异味,并对人体无害,特别是人体面部接触部分材料,应无刺激性和过敏性;

4、口罩的包装是否完整,有无破损,口罩表面不得有破洞、污渍;

5、医用防护口罩不应有呼气阀;

6、口罩的长、宽、厚度是否都符合对应的标准;

7、口罩是否配有鼻夹,鼻夹由可弯折的可塑性材料制成,并且长度符合要求;
从兼容性方面来考虑:

1、口罩可以适配各种脸型,各种脸型的密合性都可以保证;

2、能适合各种肤质的,接触都不会引起敏感等反应。
从性能方面来考虑:

1、挤压口罩,或者撕扯口罩是否会导致破损或者极易损坏;

2、带的时间过长,口罩防护作用是否降低;

3、口罩的鼻夹反复折合,是否容易会断。
从安全性方面来考虑:

1、口罩虽然越密闭,越安全;但是同时月密闭,呼吸起来越困难,尤其对于心血管疾病患者,是否会因缺氧而导致头晕和呼吸困难等风险;

2、口罩的材质不会引起过敏反应 (此处跟易用性有重复哦,可以去重~);

3、口罩材质和味道都无毒,不会引起不良反应;

4、耳带式口罩长期佩戴是否会勒伤皮肤。
从易用性方面来考虑:

1、口罩的内外、上下面易于分辨,易于佩戴;

2、口罩的上缘鼻夹方便按压,易于于面部紧贴;

3、口罩易折叠,方便携带。
总结

总体思路如上分析,当然面试官肯定也不会要求你每一点都覆盖到,毕竟面试这么短的时间内不可能想到这么全的测试点,所以重点是测试思路:主攻功能(从正面+负面覆盖),然后覆盖非功能(包括界面、兼容性、性能、安全、易用性五个方面)。

相关文章:

测试需求分析

测试需求是什么? --需求文档 测试需求主要解决**“测什么”的问题,一般来自需求规格说明书中原始需求 测试需求应全部覆盖已定义的业务流程,以及功能和非功能**方面的需求 功能:基本用户需求–优先 非功能:界面&#…...

Qt 翻译工具:使用 tr() 函数实现多语言支持

引言 在开发跨平台应用程序时,支持多语言是一个常见需求。Qt 提供了一套完整的国际化工具,帮助开发者轻松实现应用程序的本地化。本文将介绍如何在 Qt 中使用 tr() 函数进行翻译,并总结一些常见的困难和解决方法。 使用 tr() 函数进行翻译 …...

使用 kustomize 对 kubernetes 对象进行声明式管理

补丁实战 策略合并补丁 基准文件:/test/bases/deploy.yml apiVersion: apps/v1 kind: Deployment metadata:namespace: sharkname: my-nginx spec:selector:matchLabels:run: my-nginxreplicas: 2template:metadata:labels:run: my-nginxspec:containers:- name:…...

Android Studio开发学习(六)———TableLayout(表格布局)、FrameLayout(帧布局)

目录 前言 一、Tablelayout (一)Tablelayout的相关简介 (二)TableLayout使用方法 1. 当TableLayout下面写控件、则控件占据一行的大小。(自适应一行,不留空白) 2.多个组件占据一行,则配合TableRow实现…...

c++ override关键字

在C11及之后的标准中,override是一个关键字,用于表示派生类中的成员函数覆盖了基类中的虚函数。 使用override关键字的好处在于它提供了一种明确的方式来指示编译器:该函数打算覆盖基类中的虚函数。如果使用了override关键字,但该…...

卫星影像联合无人机实现农业保险全生命周期监管监测

随着科技的进步,农业保险监管系统的发展日新月异。特别是近年来,随着卫星技术与无人机技术的结合,为农业保险监管系统带来了前所未有的革新。本文将深入探讨如何利用卫星与无人机方案构建高效的农业保险监管系统,并结合实例进行说…...

ChatGLM2-6B_ An Open Bilingual Chat LLM _ 开源双语对话语言模型

ChatGLM2-6B_ An Open Bilingual Chat LLM _ 开源双语对话语言模型 文章目录 ChatGLM2-6B_ An Open Bilingual Chat LLM _ 开源双语对话语言模型一、介绍二、使用方式1、环境安装2、代码调用3、从本地加载模型 4、API 部署 三、低成本部署1、模型量化2、CPU 部署3、Mac 部署4、…...

JAVA的学习日记DAY6

文章目录 数组例子数组的使用数组的注意事项和细节练习数组赋值机制数组拷贝数组反转数组添加 排序冒泡排序 查找多维数组 - 二维数组二维数组的使用二维数组的遍历杨辉三角二维数组的使用细节和注意事项练习 开始每日一更!得加快速度了! 数组 数组可以…...

Grafana告警(邮件)自定义模板配置

一年前给客户部署配置过grafana,告警配置也是用的原始的,客户在使用过程中只需要一些核心点信息,想要实现这个就需要用Grafana的自定义告警模板以及编辑邮件模板。 通知模板 模板信息的配置中查阅了相关资料,自己组装了一套&…...

大话设计模式——六大基本设计原则(SOLID原则)

设计模式 定义:软件开发中,在特定上下文中解决一类常见问题的被证明为有效的最佳实践。可供其他开发者重复使用解决相似问题。 好处: 提高代码的可重用性,减少重复代码。提高代码的可维护性,使代码更易于理解和修改。…...

Qt | Q_PROPERTY属性和QVariant 类

一、属性基础 1、属性与数据成员相似,但是属性可使用 Qt 元对象系统的功能。他们的主要差别在于存取方式不相同,比如属性值通常使用读取函数(即函数名通常以 get 开始的函数)和设置函数(即函数名通常以 set 开始的函数)来存取其值,除此种方法外,Qt 还有其他方式存取属性值…...

力扣207.课程表

你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 。 在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出,其中 prerequisites[i] [ai, bi] ,表示如果要学习课程 ai 则 必须 先学习课程 bi 。 例如…...

十五届web模拟题整理

模拟赛一期 1.动态的Tab栏 请在 style.css 文件中补全代码。 当用户向下滚动的高度没有超过标题栏(即 .heading 元素)的高度时,保持 Tab 栏在其原有的位置。当滚动高度超过标题栏的高度时,固定显示 Tab 栏在网页顶部。 /* TODO…...

ubuntu20.04 安裝PX4 1.13

step1_install_depenences.sh #!/bin/bash #install gazebo 11 #install protobuf 3.19.6python3 -m pip install --upgrade pip python3 -m pip install --upgrade Pillow# 將 empy 的版本調整爲3.3.4 pip3 uninstall empy pip3 install empy3.3.4sudo apt-get update sudo ap…...

大型网站系统架构演化

大型网站质量属性优先级:高性能 高可用 可维护 应变 安全 一、单体架构 应用程序,数据库,文件等所有资源都在一台服务器上。 二、垂直架构 应用和数据分离,使用三台服务器:应用服务器、文件服务器、数据服务器 应用服…...

探索Java中的栈:Stack与Deque(ArrayDeque和LinkedList)

文章目录 1. 栈(Stack)1.1 定义方式1.2 特点1.3 栈的层次结构 2. 双端队列(Deque)2.1 定义方式及继承关系2.2 特点:2.3 ArrayDeque2.4 LinkedList2.5 Deque 的各种方法2.6 如何选择ArrayDeque和LinkedList 3. 如何选择…...

实践笔记-03 docker buildx 使用

docker buildx 使用 1.启用docker buildx2.启用 binfmt_misc3.从默认的构建器切换到多平台构建器3.1创建buildkitd.toml文件(私有仓库是http没有证书的情况下,需要配置)3.2创建构建器并使用新创建的构建器 4.构建多架构镜像并推送至harbor仓库…...

【数据结构与算法】之8道顺序表与链表典型编程题心决!

个人主页:秋风起,再归来~ 数据结构与算法 个人格言:悟已往之不谏,知来者犹可追 克心守己,律己则安! 目录 1、顺序表 1.1 合并两个有序数组 1.2 原地移除数组中所有的元素va…...

Go 源码之旅-开篇

欢迎来到《Go 源码之旅》专栏!在这个专栏中,我们将深入探索 Go 编程语言的内部数据结构的工作原理,一起踏上一段令人兴奋的源码之旅。 我们将一步步解析关键的数据结构底层工作原理以及一些常用框架的设计原理及其源码。 无论你是初学者还是…...

spring的事件推送

本质上是设计模式中的观察者模式。 一、什么是观察者模式 观察者模式是一种行为型设计模式,它定义了一种一对多的依赖关系,当一个对象的状态发生改变时,其所有依赖者都会收到通知并自动更新。 二、什么是spring的事件推送 在 Spring 的事…...

【OSG学习笔记】Day 18: 碰撞检测与物理交互

物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...

day52 ResNet18 CBAM

在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM&#xff09…...

SpringTask-03.入门案例

一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

Java毕业设计:WML信息查询与后端信息发布系统开发

JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息&#xff0…...

深度学习水论文:mamba+图像增强

🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...

JS手写代码篇----使用Promise封装AJAX请求

15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...

Golang——9、反射和文件操作

反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一:使用Read()读取文件2.3、方式二:bufio读取文件2.4、方式三:os.ReadFile读取2.5、写…...