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

一些测试知识

希望能起到帮助,博主主页:

https://blog.csdn.net/qq_57785602/category_12023254.html?spm=1001.2014.3001.5482

 

软件测试理论

测试的依据:

需求,规格说明,模型,用户需求等

什么是软件测试

描述一种来促进鉴定软件的正确性,完整性,安全性和质量的过程

软件测试是在有限资源的约束,如何去尽可能发现软件缺陷的技术和管理活动,理想结果是实现测试代价和测试质量的最佳平衡。

软件测试最重要的是什么?

尽可能的发现软件的错误,软件尽可能的符合用户需求,确保软件的质量。

为什么要做软件测试

因为如果不做软件测试的话,在产品发布之前很难知道产品的质量,测试也需要知道产品的质量保证,这个时候就会做软件测试的工作。在测试时发现的软件存在的错误,告诉开发,及时修改,在软件发布时软件报告即可知道软件的质量,软件测试是为了发现错误而执行的程序的过程。

软件测试流程?

需求分析-概要设计测试-详细设计测试-单元测试-系统测试-验收测试

软件测试的策略?

软件测试的策略:在一定的软件测试标准下,测试规范的指导下,依据测试项目的特定环境约束而规定的软件测试的原则,方法,方式的集合。

质量特性:

功能性,易用性,性能效率,可靠性,兼容性,可靠性,信息安全性,维护性,可移植性

测试脚本:

测试脚本通常是一个特性测试的可以被自动化工具执行的一系列指令,脚本可以在工具中通过录制测试操作生成,也可以把脚本语言直接编写。

编写测试用例需要了解产品需求

确认需求,梳理需求,确认测试范围,制定测试计划,根据测试计划编写测试用例,执行测试步骤。

为什么要写测试用例?

提高测试效率

提高测试覆盖率

监控测试进度情况

质量的标准指标

以防开发提bug说用例没有写(这个个人理解对于刚接触测试的来讲,一般最好写完用例可以找前辈了解一下)

用例包括八要素

用例编号,所属模块,用例标题,前置条件,用例级别,测试输入,操作步骤,预期结果

什么是测试用例?

测试用例是为了实施测试而被测试系统提供的输入数据,操作或各种环境的设置以及期望的一个特定集合。

什么是测试脚本?

测试脚本是为了进行自动化测试而编写的脚本。

测试脚本与测试用例的区别?

编写测试脚本必须编写相对应的测试用例

测试用例的设计方法:

等价类,分类树,边界值,因果图,场景法,语法测试,组合测试,判定表测试,随机测试,状态转移测试等

常用的测试用例设计方法?

白盒测试:逻辑覆盖,循环覆盖,基本路径覆盖

黑盒测试:等价类,边界值,因果图,判定表,场景法,错误推测法,探索法,检查表法等

等价类:

等价类就是一种典型的黑盒测试方法。它把程序的输入域划分为若干部分(子集),然后从每个部分中选取少数代表性的数据作为测试用例,每一类的代表性数据在测试中的作用可以等价与这一类中的其他所有值。

等价类分为有效等价类与无效等价类

有效等价类指的是对程序的规格说明来说是合理的,有意义的输入数据的集合。利用有效等价类可以校验程序是否实现了规格说明书中所规定的功能与性能。

无效等价类与有效等价类相反,是那些对于程序的规格说明来说是不合理或者无意义的输入数据的集合。

等价类的划分原则

按区间划分,按数值划分,按数值集合划分,按限制条件划分或者规划划分,按处理方式划分

分类树

分类树是另一种对程序的输入域划分子集的方法。他将输入域分割成若干个独立分类,每个分类再根据一定的准则再次划分类和子集,直到将整个输入域划分成一些不可划分的子类集合中。

输入域作为树的根节点,分类作为分支节点,类或子类作为叶节点

边界值:

边界值测试是由长期的测试工作经验所提测的一个关键假设:错误更容易发生在输入域的边界值或者极值附近,而非输入域的中间值。

语法测试

对于使用语法形式化方法的软件规格说明,考虑到形式化的语言是具有严格的语法语义定义的,可以使用形式化语法作为测试设计的基础。分为正面测试与负面测试

正面测试:设计的测试用例应以各种方式覆盖有效语法

负面测试:设计的测试用例应故意违反规格语法

判定表测试

判定表展示出输入条件与输出结果的对应关系。判定表测试以判定表的形势使用测试项条件(原因)和动作(结果)之间的逻辑关系(判定规则)模型。

条件桩:列出问题的所有条件

动作桩:列出问题规定可能采取的操作

条件项:列出针对它的所列出条件的取值

动作项:列出在条件项的各种取值情况下应该采取的动作

规则:任何一个条件组合的特定取值以及相对应的操作。

因果图:

因果图是一种简化了的逻辑图,能直观的表明输入条件与输出动作之间的因果关系

场景法:

软件几乎都是用事件触发控制的流程,事件触发时场景便形成了场景,而面向同一事件不同的触发顺序和处理结果就形成了事件流。

随机测试:

随机测试的目的就是:在选定输入分布模型内生成被测软件的输入参数,形成一个测试集。

软件测试原则:

溯源性原则,工程性原则,独立性原则,合理性原则,不完全性原则,相关性原则,可结束原则,风险性原则

测试都分为哪些?

白盒测试,黑盒测试,灰盒测试

单元测试,集成测试,回归测试,冒烟测试,验收测试,版本测试,系统测试,自动化测试等

黑盒测试也称为功能测试,基于规格说明的测试,被测试的内部结构是不可见的,把被测试的软件视为黑盒子,按照测试用例输入,以及相应的输出,对软件的实现进行确认。

白盒测试又称为结构测试,基于结构的测试中,被测软件的结构(源代码或者模型结构)是设计测试用例的主要信息来源,对于白盒测试,被测软件的内部是透明可见的。

黑盒测试与白盒测试的区别

白盒测试需要从代码发现内部代码,溢出,路径,条件等等中的缺点与错误,进行更改。而黑盒测试着重测试软件的功能。黑盒测试不能代替白盒测试,黑盒测试与白盒测试是互补的测试方法,黑盒测试容易发现白盒测试不容易发现的错误。

基于质量的特性测试分为:

功能性测试,性能效率测试,易用性测试,可靠性测试,信息安全性测试,维护性测试,兼容性测试,可移植性测试等

功能性测试:

功能性测试用于评估软件产品在指定条件下使用时,提供满足明确和隐含要求的功能的能力。功能性测试既包括单个功能点测试,还包括业务流程测试和主要的场景测试。

性能效率测试:

性能效率性测试用于评估在指定条件下使用的资源数量的性能。这里的资源包括软件产品,系统的软件和硬件的配置。

易用性测试:

易用性测试指的是在指定的使用周境中,测试产品或系统在有效性,效率和满意度特性方面,为了指定的目标可为指定用户使用的程度。

易访问性测试:

易访问性测试的目标在于评估在指定的使用周境中,为了达到指定的目标,产品或者系统被具有最广泛的特征和能力的个体所使用的程度。

可靠性测试:

可靠性测试用于评估系统,产品或者组件在指定条件下,指定时间内,执行指定功能的程度。

信息安全性测试:

信息安全性测试用于评估系统与产品保护信息和对数据的程度,以使用户,其他产品或者系统具有与其授权一致的数据访问度。

维护性测试:

维护性测试用于评估产品或系统能够被预期的维护人员修改的有效性和效率的程度。

兼容性测试:

兼容性测试由于评估在共享相同的硬件或者软件环境的条件下,产品,系统或组件能够与其他产品,系统或组件交换信息或执行其他所需功能的程度。

可移植性测试:

可移植性测试:用于评估系统,产品或者组件能够从一种硬件,软件或者其他运行(或使用)环境迁移到另一种环境的有效性和效率的程度。

基于结构测试的测试技术:

静态测试:在不运行代码情况下,通过一组质量准则或者其他准则对测试项进行检查的测试。

动态测试更关注与分支,语句,路径,调用等程序结构的覆盖,为了设计较少的用例,达到更高的覆盖率甚至是100%的覆盖率,动态测试关键的是用例的设计。

静态测试相对于动态测试而言,它可以由人工进行,充分发挥人的逻辑思维的优势,也可以借助软件工具进行的。

APP测试性能指标

内存,CPU,流量,启动速度

APP闪退的原因

手机运行程序过多,病毒,网络问题,缺少数据包,APP版本问题,缓存垃圾过多,手机杀毒软件的拦截,网速问题,分辨率不兼容,系统不兼容等

Web测试与APP测试的不同点

系统架构web一般是b/s架构,APP是c/s架构

Web测试只要更新了服务端,客户端就会同步更新。

APP测试需要服务器和客户端都更新才可以。

性能

Web测试主要关注响应时间

APP测试需要关心:流量,电量,CPU,GPU,memory等

兼容性

Web测试需要兼容各个浏览器,电脑硬件和电脑系统方面的兼容,不比考虑安装卸载

APP测试需要关注分辨率,屏幕尺寸,手机型号,操作系统,网络等,测试安装,更新,卸载,还需要考虑到断网时的异常情况。

Bug等级缺陷

缺陷一般分为4个等级:致命,严重,一般,轻微

致命:程序异常,APP闪退

严重:指主要功能存在缺陷或者非主要功能缺陷

一般:指非主要功能存在的缺陷,但是不影响正常使用或者有代替方案

轻微:指界面或者文字轻微显示错误

如果不能复现/复现条件不知道的bug需要在禅道提交吗?

需要的,我们在提交bug的时候需要求证出复现条件,遇到bug,首先截图留下证据,再次依据刚才的操作,重新复现,如果复现成功,直接提交bug单;复现失败,提交bug,找到开发告诉他这个bug的存在;如果情况不急的话,可以慢慢寻找复现条件/让开发尝试,如果情况紧急,找到产品,询问这样是否可以接受,可以接受先把bug留着,不能接受,找到开发,让开发一起帮忙寻找。

测试中遇到的风险:

需求评审达不到预期目标;

测试用例评审不合格;

测试人员不稳定;

根据测试计划的时间不能完成测试任务;

验收测试不合格;

即将发版产品增加新需求;

即将发版,由于客观原因导致环境异常;

Bug包括哪些?

所属产品,所属模块,所属需求,所属项目,所属执行,影响版本,bug类型,bug标题,步骤,结果,期望,优先级,当前指派,严重程度,优先级,bug编号

什么是软件质量?

软件质量就是软件是否符合叙述的功能和性能要求,文档明确描述的开发标准以及所有专业的开发,软件应该都具有隐含特征的程度,正确性,可理解性,可移植性。

软件质量质量特性包括哪些?

兼容性,可移植性,可维护性,功能性,可靠性,可使用性等

软件测试的v型模型

用户需求------------------------------验收测试

需求分析-------------------------系统测试

   概要分析-----------------------集成测试

      详细设计-------------------单元测试

                     编码

https://blog.csdn.net/qq_57785602/category_12023254.html?spm=1001.2014.3001.5482

图片网上找的,文章看书或者是平常逛博客看到的,如有侵权请联系我

相关文章:

一些测试知识

希望能起到帮助,博主主页: https://blog.csdn.net/qq_57785602/category_12023254.html?spm1001.2014.3001.5482 软件测试理论 测试的依据: 需求,规格说明,模型,用户需求等 什么是软件测试 描述一种来…...

Socket交互的基本流程?

TCP socket通信过程图 什么是网络编程,网络编程就是编写程序使两台连联网的计算机相互交换数据。怎么交换数据呢?操作系统提供了“套接字”(socket)的组件我们基于这个组件进行网络通信开发。tcp套接字工作流程都以“打电话”来生…...

css 分割线中间带文字

效果图 代码块&#xff08;自适应&#xff09; <div class"line"><span class"text">我是文字</span></div>.line{height:0;border-top:1px solid #000;text-align:center;}.text{position:relative;top:-14px;background-color:#…...

会不会激发对modern c++的新兴趣

可变参数好像很厉害的样子&#xff0c;会节省很多手写代码&#xff0c;让编译器自动帮我们生成代码 template<typename Fun, typename...Args> void invoke(Fun&& fun, Args&&...args) { fun(std::forward<Args>(args)...); } 任意函数包装器…...

Nginx服务器如何配合Java开发项目

Nginx服务器如何才能配合好相关的编程语言进行服务器搭建呢&#xff1f;下面我们就来看看有关的技术如何融合。希望大家有所收获。 在进行Nginx服务器建设的时候有很多语言的应用&#xff0c;其中Java 开发的web项目就是很常见的。下面我们就看看Nginx服务器如何才能与Java编程…...

【LeetCode-中等题】994. 腐烂的橘子

文章目录 题目方法一&#xff1a;bfs层序遍历 题目 该题值推荐用bfs&#xff0c;因为是一层一层的感染&#xff0c;而不是一条线走到底的那种&#xff0c;所以深度优先搜索不适合 方法一&#xff1a;bfs层序遍历 广度优先搜索&#xff0c;就是从起点出发&#xff0c;每次都尝…...

K8s部署单机mysql

文章目录 一、K8s部署单机mysql1.1 说明1.2 不足 二、部署三、检查 一、K8s部署单机mysql 1.1 说明 定制配置数据存放在configMapmysql数据放在/opt/mysql目录下(/opt/mysql目录需要事先创建)root账号密码使用环境变量env服务暴露方式为nodePort&#xff0c;端口30336 1.2 不…...

Midjourney学习(二)参数的基础

prompt的组成 prompt 可以由三部分组成&#xff0c; 第一部分是垫图部分&#xff0c;也就是一张网络图片 第二部分是文本描述内容 第三部分则是参数 参数列表 --aspect <value> 或者 --ar <value> 控制画面的比例&#xff0c;横竖比例 --version <value> -…...

Ubuntu安装Protobuf,指定版本

参考&#xff1a;https://github.com/protocolbuffers/protobuf#readme https://github.com/protocolbuffers/protobuf/blob/v3.20.3/src/README.md 其实官网的readme给的步骤很详细。 1.安装相关依赖 sudo apt-get install autoconf automake libtool curl make g unzip …...

没有使用sniffer dongle在windows抓包蓝牙方法分享

网上很多文章都是介绍买一个sniffer dongle来抓蓝牙数据,嫌麻烦又费钱,目前找到一个好方法,不需要sniffer就可以抓蓝牙数据过程,现分享如下: (1)在我资源附件找到相关安装包或者查看如下链接 https://learn.microsoft.com/zh-cn/windows-hardware/drivers/bluetooth/testing-bt…...

解决Debian系统通过cifs挂载smb后,中文目录乱码问题

解决Debian系统通过cifs挂载smb后&#xff0c;中文目录乱码问题 //$smb_server/share /mnt/nas_share cifs credentials/root/.smbcredentials,iocharsetutf8 0 0默认通过以上命令挂载smb&#xff0c;但是在查看文件目录时&#xff0c;中文乱码 解决问题方式&#xff1a; de…...

springboot整合jquery实现前后端数据交互

一 实施逻辑 1.1 前端 <!doctype html> <html lang"en"><head><meta charset"UTF-8"><meta name"Generator" content"EditPlus"><meta name"Author" content""><meta n…...

TypeScript 中的类型检查实用函数

TypeScript 中的类型检查实用函数 文章目录 TypeScript 中的类型检查实用函数一、概述二、代码实现 一、概述 在前端开发中&#xff0c;我们经常需要判断变量的类型以进行相应的操作或处理。TypeScript 提供了基础的类型检查&#xff0c;但有时我们需要更复杂或更灵活的类型检…...

JavaScript中的事件委托(event delegation)

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ JavaScript事件委托⭐ 事件冒泡&#xff08;Event Bubbling&#xff09;⭐ 事件委托的优点⭐ 如何使用事件委托⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启…...

ubuntu OCR 脚本

1. 百度 PaddleOCR 介绍 2. 环境安装 pip install paddlepaddle -i https://pypi.tuna.tsinghua.edu.cn/simple # 进入 https://github.com/PaddlePaddle/PaddleOCR # 这里有个 requirements.txt pip install paddleocr -i https://mirror.baidu.com/pypi/simple pip instal…...

Go死码消除

概念: 死码消除(dead code elimination, DCE) 是一种编译器优化技术, 作用是在编译阶段去掉对程序运行结果没有任何影响的代码 和 逃逸分析[1],内联优化[2]并称为 Go编译器执行的三个重要优化 效果: 对于 const.go代码如下: package mainimport "fmt"func max(a, b i…...

基于改进莱维飞行和混沌映射的粒子群优化BP神经网络分类研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

12. 自动化项目实战

目录 1. 登录测试 2. 测试首页的帖子列表数不为0 3. 帖子详情页校验 4. 发布帖子 5. 退出登录 自动化项目实施的基本流程如下图所示&#xff1a; 手工测试用例、自动化测试用例。 1. 登录测试 校验登录后主页显示的用户名称和登录时输入的用户名是否相等。 public class…...

Window11下载安装jdk8-jdk11与环境变量的配置

目录 一、下载jdk 二、安装jdk 三、配置环境变量 四、检查JDK是否配置成功 一、下载jdk jdk8下载链接&#xff1a;请点击网址 jdk11下载链接&#xff1a;请点击网址 二、安装jdk 按照提示一步一步安装即可。 默认安装位置&#xff1a;C:\Program Files\Java 三、配置…...

Vector Search with OpenAI Embeddings: Lucene Is All You Need

本文是LLM系列文章&#xff0c;针对《Vector Search with OpenAI Embeddings: Lucene Is All You Need》的翻译。 使用OpenAI嵌入的向量搜索&#xff1a;Lucence是你所需的一切 摘要1 引言2 从架构到实现3 实验4 讨论5 结论 摘要 我们在流行的MS MARCO文章排名测试集上使用Lu…...

告别网盘客户端!用Alist+RaiDrive把百度云盘变成电脑本地文件夹(保姆级图文教程)

用AlistRaiDrive实现网盘本地化管理的终极方案 你是否厌倦了电脑上安装多个网盘客户端&#xff0c;不仅占用系统资源&#xff0c;操作还繁琐割裂&#xff1f;每次上传下载文件都要在不同客户端间切换&#xff0c;效率低下。现在&#xff0c;通过Alist和RaiDrive的组合&#xf…...

2026年HR招聘偏好白皮书:这5项附加技能出现频率暴涨

2026 年的招聘市场&#xff0c;正在从“看你会什么岗位技能”&#xff0c;转向“看你能不能把岗位做得更智能”。HR筛简历时&#xff0c;越来越关注候选人的AI应用能力、数据化思维和业务落地能力。人社部近年发布的新职业中&#xff0c;已经出现生成式人工智能系统应用员、人工…...

政企数据安全:危机与出路

随着数字化转型的浪潮席卷全球&#xff0c;公共部门积累的数据量呈爆炸式增长。从公民个人信息到公共服务记录&#xff0c;从财政预算到基础设施管理数据——这些宝贵资源在提升政府治理效率的同时&#xff0c;也悄然成为网络犯罪分子的“新猎物”。当公共数据逐渐成为数字时代…...

串口通信粘包问题:成因深度解析与项目实战解决方案

在嵌入式开发、工业工控、上位机下位机交互项目中&#xff0c;串口&#xff08;RS232/RS485&#xff09;是最基础、最常用的通信方式。绝大多数开发者都遇到过这样的问题&#xff1a;串口接收的数据偶尔错乱、解析报错、数据拼接异常&#xff0c;单次接收的数据时而半包、时而多…...

照着用就行:2026 最新降AIGC软件测评与推荐

2026年真正好用的AI论文降重与改写工具&#xff0c;核心看降重效果、去AI味、格式保留、学术适配四大指标。综合实测&#xff0c;千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队&#xff0c;覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 …...

6款高效降AI率工具 改写实力出众

写论文时反复检测出的AI痕迹总让你提心吊胆&#xff1f;别担心&#xff0c;这里整理了6款真正好用的论文降AI率工具&#xff0c;堪称应对AI生成特征的“得力助手”。它们能有效识别并消除AI生成的痕迹&#xff0c;改写能力出众&#xff0c;帮你快速降低查重率&#xff0c;顺利通…...

基于双T振荡器的正弦波LED调光电路设计与实践

1. 项目概述&#xff1a;用双T振荡器实现正弦波LED调光最近在捣鼓一些氛围灯项目&#xff0c;总感觉用单片机PWM做的呼吸灯效果有点“硬”&#xff0c;那种线性的明暗变化看久了难免审美疲劳。于是翻出以前模拟电路的老本行&#xff0c;琢磨着能不能用纯硬件的方式&#xff0c;…...

WarcraftHelper:魔兽争霸III现代兼容性问题的终极解决方案指南

WarcraftHelper&#xff1a;魔兽争霸III现代兼容性问题的终极解决方案指南 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 魔兽争霸III作为经典即时战…...

告别数据饥荒:用PyTorch手把手实现原型网络(Prototypical Networks)做电影评论情感分类

告别数据饥荒&#xff1a;用PyTorch手把手实现原型网络做电影评论情感分类 在自然语言处理领域&#xff0c;情感分析一直是热门研究方向&#xff0c;但现实中的开发者常面临一个尴尬困境&#xff1a;标注数据太少。传统深度学习方法动辄需要成千上万的标注样本&#xff0c;而实…...

skills CANN开源社区贡献技能包开发指南

前言 开源社区的健康运转&#xff0c;不仅依赖核心代码的贡献&#xff0c;还需要降低贡献门槛、提供清晰的指南和自动化工具。skills仓库是CANN开源社区的"贡献技能包"&#xff0c;提供了一系列辅助脚本、代码模板、CI检查和文档生成工具&#xff0c;帮助新手快速上…...