一些测试知识

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

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

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

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

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

相关文章

Python Opencv实践 - 矩形轮廓绘制(直边矩形,最小外接矩形)

import cv2 as cv import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/stars.png") plt.imshow(img[:,:,::-1])img_gray cv.cvtColor(img, cv.COLOR_BGR2GRAY) #通过cv.threshold转换为二值图 ret,thresh cv.threshold(img_gray,…

手写Mybatis:第5章-数据源的解析、创建和使用

文章目录 一、目标:数据源的解析、创建和使用二、设计:数据源的解析、创建和使用三、实现:数据源的解析、创建和使用3.1 引入依赖3.2 工程结构3.3 数据源解析、创建和使用关系图3.4 事务管理接口和事务工厂3.4.1 事务的隔离级别3.4.2 定义事务…

配置环境变量的作用

配置环境变量的作用 一般运行过程:寻找QQ.exe所在的目录,输入QQ.exe配置环境变量:把QQ所在的路径配给操作系统Path, 在任何路径下都能运行QQ.exe 举例: 定义变量:SCALA_HOME SCALA_HOME、JAVA_HOME 等这…

【论文精读】Learning Transferable Visual Models From Natural Language Supervision

Learning Transferable Visual Models From Natural Language Supervision 前言Abstract1. Introduction and Motivating Work2. Approach2.1. Creating a Sufficiently Large Dataset2.2. Selecting an Efficient Pre-Training Method2.3. Choosing and Scaling a Model2.4. P…

基于STM32的ADC采样及各式滤波实现(HAL库,含VOFA+教程)

前言:本文为手把手教学ADC采样及各式滤波算法的教程,本教程的MCU采用STM32F103ZET6。以HAL库的ADC采样函数为基础进行教学,通过各式常见滤波的实验结果进行分析对比,搭配VOFA工具直观的展示滤波效果。ADC与滤波算法都是嵌入式较为…

【FreeRTOS】信号量的相关函数使用及示例解释

FreeRTOS中的信号量是一种用于任务间同步的机制。它可以用来实现任务之间的互斥访问共享资源或者等待某个事件发生。 文章目录 信号量类型1. 二进制信号量(Binary Semaphore):2. 计数信号量(Counting Semaphore)&…

python in excel 如何尝鲜 有手就行

众所周知,微软在8月下旬放出消息python已入驻excel,可到底怎么实现呢。 今天我就将发布python in excel的保姆级教程,开始吧! 获取office 365 账号 首先我们要有微软office365 这时候需要再万能的某宝去找一个账号,…

Android JNI系列详解之ndk-build工具的使用

一、Android项目中使用ndk-build工具编译库文件 之前介绍过CMake编译工具的使用,今天介绍一种ndk自带的编译工具ndk-build的使用。 ndk-build目前主要有两种配置使用方式: 如上图所示,第一种方式是Android.mkApplication.mkgradle的方式生成…

5.Redis-string

string 字符串 字符串类型是 Redis 最基础的数据类型,关于字符串需要特别注意: 1.⾸先Redis中所有 key 的类型都是字符串类型,⽽且其他⼏种数据结构也都是在字符串类似基础上构建的,例如 list 和 set 的元素类型是字符串类型。 2…

Web_单一视频文件mp4转换为m3u分段ts文件实现边下边播

一、下载ffmpeg: Builds - CODEX FFMPEG @ gyan.dev 二、转换视频文件: 先解压缩,会看到如下结构: 进入bin目录,把需要转换的视频文件复制过来,同时新建一个文件夹用来存放转换后的文件,然后按住Shift键同时单击鼠标右键,选择打开Powershell窗口: 输入以下命令(根据…

【管理运筹学】第 7 章 | 图与网络分析(1,图论背景以及基本概念、术语)

文章目录 引言一、图与网络的基本知识1.1 图与网络的基本概念1.1.1 图的定义1.1.2 图中相关术语1.1.3 一些特殊图类1.1.4 图的运算 写在最后 引言 按照正常进度应该学习动态规划了,但我想换换口味,而且动态规划听说也有一定难度,还不一定会考…

UE5- c++ websocket客户端写法

# 实现目标 ue5 c 实现socket客户端,读取服务端数据,并进行解析 #实现步骤 {projectName}.Build.cs里增加 "WebSockets","JsonUtilities", "Json"配置信息,最终输出如下: using UnrealBuildTool;…

基于科大讯飞AIGC创作平台,构建数字人虚拟主播

笔者为体验目前数字人虚拟主播创作视频的质量,特意制作了一段测试视频。 基于讯飞智作创建 总体感受,数字人虚拟主播具有成本低、可定制性强等优点,但是也存在缺乏人情味、技术限制和法律问题等缺点。因此,在使用数字人虚拟主播时…

opencv 提取选中区域内指定hsv颜色的水印

基于《QT 插件化图像算法研究平台》做的功能插件。提取选中区域内指定hsv颜色的水印。 《QT 插件化图像算法研究平台》有个HSV COLOR PICK功能,可以很直观、方便地分析出水印 的hsv颜色,比如, 蓝色:100,180,0,255,100,255。 然后利用 opencv …

QtConcurrent和QFuture的使用

在Qt中,有时候我们会遇到这样一种情况,需要执行一个很长时间的操作,这时候我们的主界面就会卡住。我们的通常做法就是把这个很长时间的操作扔到线程里去处理,可以使用标准库中的线程也可以使用QThread。 如果我们要在这个很长时间…

C# 跨线程访问窗体控件

在不加任何修饰的情况下,C# 默认不允许跨线程访问控件,实际在项目开发过程中,经常使用跨线程操作控件属性,需要设置相关属性才能正确使用,两种方法设置如下: 方法1:告诉编译器取消跨线程访问检…

ModaHub魔搭社区——未来向量数据库会不像传统数据库那样,在国内涌现 200 多家出来?

I. 引言:数据库市场的持续扩张与向量数据库的崛起 随着技术的迭代速度越来越快,技术门槛也在逐渐降低,数据库市场的持续扩张是不可避免的。当前存在着大量的需求,这将吸引越来越多的数据库甚至向量数据库加入竞争。然而,从业界角度看,这种市场扩张是有利的。它可以促使更…

实现公网远程访问:Windows本地快速搭建SFTP文件服务器并配置端口映射

文章目录 1. 搭建SFTP服务器1.1 下载 freesshd服务器软件1.3 启动SFTP服务1.4 添加用户1.5 保存所有配置 2 安装SFTP客户端FileZilla测试2.1 配置一个本地SFTP站点2.2 内网连接测试成功 3 使用cpolar内网穿透3.1 创建SFTP隧道3.2 查看在线隧道列表 4. 使用SFTP客户端&#xff0…

Redis之主从复制解读

目录 基本概述 作用 如何配置主从复制 命令配置(Slaveof ) 配置文件配置 主从复制缺点 主从复制原理 主从复制常见问题解答 命令补充(info replication) 基本概述 主从复制,是指将一台Redis服务器的数据,复制到其他的R…

Python3 条件控制

Python3 条件控制 Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。 可以通过下图来简单了解条件语句的执行过程: 代码执行过程: if 语句 Python中if语句的一般形式如下所示: if conditi…