测试需求分析
测试需求是什么? --需求文档
测试需求主要解决**“测什么”的问题,一般来自需求规格说明书中原始需求
测试需求应全部覆盖已定义的业务流程,以及功能和非功能**方面的需求
功能:基本用户需求–优先
非功能:界面,兼容性,易用性,安全,性能
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 的事…...
计算机网络—HTTPS协议详解:工作原理、安全性及应用实践
🎬慕斯主页:修仙—别有洞天 ♈️今日夜电波:ヒューマノイド—ずっと真夜中でいいのに。 1:03━━━━━━️💟──────── 5:06 🔄 ◀️ ⏸…...
卫星遥感影像在农业方面的应用及评价
一、引言 随着科技的进步,卫星遥感技术在农业领域的应用越来越广泛。卫星遥感技术以其宏观、快速、准确的特点,为农业生产和管理提供了有力的技术支撑。本文将对卫星遥感在农业方面的应用进行详细介绍,并通过具体案例进行说明。 二、…...
docker pull镜像的时候指定arm平台
指定arm平台 x86平台下载arm平台的镜像包 以mysql镜像为例 docker pull --platform linux/arm64 mysqldocker images查看镜像信息 要查看Docker镜像的信息,可以使用docker inspect命令。这个命令会返回镜像的详细信息,包括其元数据和配置。 docker i…...
如何通过OceanBase V4.2 动态采样优化查询性能
OceanBase v4.2 推出了优化器动态采样的功能,在SQL运行过程中,该功能会收集需要的统计信息,协助优化器制定出更好的执行计划,进一步提升了查询性能。 影响查询性能的因素是什么?为何你的优化器效果不佳? …...
Vue3---基础1(认识,创建)
变化 相对于Vue2,Vue3的变化: 性能的提升 打包大小减少 41% 初次渲染快 55%,更新渲染快133% 内存减少54% 源码的升级 使用 proxy 代替 defineProperty 实现响应式 重写虚拟 DOM 的实现和 Tree-shaking TypeScript Vue3就可以更好的支持TypeSc…...
JAVA集合ArrayList
目录 ArrayList概述 add(element) 用法 add(index, element)用法 remove(element)用法 remove(index)用法 get(index)用法 set(index,element) 练习 test1 定义一个集合,添加字符串,并进行遍历&…...
Bitmap OOM
老机器Bitmap预读仍然OOM,无奈增加一段,终于不崩溃了。 if (Build.VERSION.SDK_INT < 21)size 2; 完整代码: Bitmap bitmap; try {//Log.e(Thread.currentThread().getStackTrace()[2] "", surl);URL url new URL(surl);…...
基于深度学习的人脸表情识别系统(PyQT+代码+训练数据集)
基于深度学习的人脸表情识别系统(PyQT代码训练数据集) 前言一、数据集1.1 数据集介绍1.2 数据预处理 二、模型搭建三、训练与测试3.1 模型训练3.2 模型测试 四、PyQt界面实现 前言 本项目是基于mini_Xception深度学习网络模型的人脸表情识别系统&#x…...
Qt 中的项目文件解析和命名规范
🐌博主主页:🐌倔强的大蜗牛🐌 📚专栏分类:QT❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、Qt项目文件解析 1、.pro 文件解析 2、widget.h 文件解析 3、main.cpp 文件解析 4、widget.cpp…...
【chatGPT】我:在Cadence Genus软件中,出现如下问题:......【4】
我 在Cadence Genus中,tcl代码为:foreach clk $clk_list{ set clkName [lindex $clk_list 0] set targetFreq [lindex $clk_list 1] set uncSynth [lindex $clk_list 4] set clkPeriod [lindex “%.3f” [expr 1 / $targetFreq]] … } 以上代码出现如下…...
wordpress部署阿里云/网络培训机构
物联网学习入门篇之MQTT协议 MQTT: Massage Queuing Telemetry Transport,消息队列遥测传输 MQTT是基于互联网的基础协议TCP/IP协议而构建的,由IBM在1999年发布,基于发布和订阅两种模式(publish/subscribe)算是一种轻量级通讯协议…...
汽车网站建设工作室/长沙网站排名推广
从gitHub或者gitee上拉取代码后,我老是想着把别人的代码保存到自己的仓库上,这里教你一招。 gitee的: 首先我们在gitee或者github上创建一个自己的仓库,github的我就不在展示了,基本上和gitee操作一样 输入相关信息…...
上海官网seo/优化公司
一、基于PaddlePaddle 新工具 API 的【猴痘识别】 还记否,曾经开始学习神经网络,需要手动遍历文件夹,手动生成数据列表?还记否,曾经划分数据集,不断for循环抽取数据? 多看看飞桨 API࿰…...
美女教师做爰网站/多地优化完善疫情防控措施
引言 前面Android开发之旅:环境搭建及HelloWorld,我们介绍了如何搭建Android开发环境及简单地建立一个HelloWorld项目,本篇将通过HelloWorld项目来介绍Android项目的目录结构。本文的主要主题如下: 1、HelloWorld项目的目录结构 1…...
wordpress生成静态html页面/青岛seo杭州厂商
台湾都有哪些国家公园?共八个,详情如下:南区:垦丁国家公园;1984年01月01日成立;屏东县恒春镇。中区:玉山国家公园;1985年04月10日成立;南投,高雄,…...
网站制作百度资源/国内真正的永久免费砖石
如何将c:forEach标记的循环索引附加到struts select / text标记的属性?例如.抛出以下错误org.apache.struts.taglib.html.SelectTag.calculateMatchValues(SelectTag.java:246)中的javax.servlet.jsp.JspException现在,当我在< html:selec…...