软件测试基础理论复习
什么是软件?
软件是计算机系统中与硬件相互依存的另一部分,
软件包括程序+文档
什么是软件测试?
(1)软件测试是在现有软件(程序+文档)中寻找缺陷的过程;
(2)软件测试是指使用人工或者自动化手段来运行或测试某个系统的过程,目的是检验系统是否满足需求规格说明书中的要求
软件测试的目的?
测试的目的是找出软件产品中的错误,使软件尽可能的符合用户的要求。
黑盒测试:
又叫功能测试,把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,根据规格说明书,通过操作软件验证程序的功能是否与规格说明书规定的一致。
白盒测试:
也称结构性测试,是基于代码的测试,按照程序内部的逻辑结构,检测程序是否能按预定要求进行正确的工作。
回归测试:
回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。
冒烟测试:
是指在对一个新版本进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性,冒烟测试又称版本验证测试。冒烟测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件的基本功能正常,可以进行后续的正式测试工作。 简单地说,冒烟测试就是用较少的人,在较短的时间内测试程序的主要功能,如果通过再进行正式的测试。
aplha测试和bate测试的区别?
Alpha测试(α测试):
通常也叫“验证测试”,主要是指在软件开发完成以后,在软件开发环境下,开发方对要提交的软件进行全面的自我检查与验证,可以和软件的“系统测试”一并进行。开发方通过检测和提供客观证据,证实软件的实现是否满足规定的需求。
Beta测试(β测试):
在用户的应用环境下,用户通过运行和使用软件,检测与核实软件实现是否符合自己预期的要求。通常情况用户测试指用户的使用性测试,由用户找出软件的应用过程中发现的软件的缺陷与问题,并对使用质量进行评价。β测试通常被看成是一种用户测试。β测试主要是把软件产品有计划地免费分发到目标市场,让用户大量使用,并评价、检查软件。通过用户各种方式的大量使用,来发现软件存在的问题与错误,把信息反馈给开发者修改。β测试中厂商获取的信息,可以有助于软件产品的成功发布。
什么是测试用例?
测试用例是由测试人员在测试执行之前编写的文档,用于指导测试过程
什么是软件缺陷?(如何识别bug)
(1)需求规格说明书中要求的功能未实现
(2)需求规格说明说中未要求的功能实现了
(3)程序中出现了需求规格说明书中指明不该出现的问题
(4)需求规格说明书中虽未明确提及,但必须实现的功能未实现
(5)程序难以理解,不易使用,界面不美观,用户体验不好等
(6)参照需求文档,实际与文档不符就是bug
(7)与需求人员,开发人员,用户进行讨论
(8)参照测试用例中的预期结果,实际结果与预期结果不符的就是bug
第一台计算机诞生在什么时候?叫做什么名字?
1946-2-15,叫做“艾尼阿克”
计算机的层次?
计算机分为3个层次:应用软件、操作系统、计算机硬件/裸机
裸机包含软件吗?如何进入?
裸机也包含软件,主要是bios程序;
开机或重启以后,迅速按下“delete”键(如果是笔记本,一般为功能键,如F2)
软件的分类?
软件包括系统软件和应用软件
按照系统软件划分?
操作系统、操作系统的补丁程序、驱动程序
按照软件结构划分?
可分为单机版软件和分布式软件;
根据客户端的特点将分布式软件分为c/s结构和b/s结构
什么是c/s结构和b/s结构?
①C/S结构:client/server客户端/服务器结构,客户端需要使用该公司提供的专门软件才能享受服务,QQ、微信、滴滴打车
②B/S结构:browser/server浏览器/服务器结构,客户端只要有浏览器就可以访问服务,网站、搜索引擎、论坛
什么是缺陷报告?
缺陷报告记录了测试人员在测试时发现的缺陷,是测试人员和开发人员交流和沟通的重要工具
缺陷报告包括那些(重要组成)?
1.缺陷编号:Defect
2.缺陷标题:Summary
3.缺陷的所属模块:Subject
4.缺陷的发现者:Detected By
5.缺陷的发现日期:Detected on date
6.缺陷的发现版本:Detected in release
7.缺陷指派给:Assigned to
8.缺陷的状态:Status
9.缺陷的严重程度:Serverity
10.缺陷的优先级:Priority
11.缺陷描述:Description
提交缺陷报告时,缺陷的等级划分
严重级别(S1):系统崩溃、数据丢失、数据毁坏
较严重(S2):流程走不通、操作性错误、结果错误
模块性错误(S3):功能遗漏、功能不实现
一般错误(S4):小问题,错别字,界面排版不合理等
建议性错误(S5):不影响产品质量的瑕疵
缺陷报告的处理流程?
1.测试人员发现新的bug,将状态改为new,转交给开发经理
2.开发经理验证该bug是否有效:
如果是缺陷,将状态改为open,分配给相应的开发人员
如果不是缺陷,将状态改为rejected
3.开发人员看到指派给自己的bug,进行修改,修改完后,把缺陷状态改为fixed
4.测试人员对修复的bug进行返测:
如果反测成功,将缺陷状态改为closed
如果返测失败,将缺陷状态改为reopen
缺陷报告的用途?
1.记录bug
2.对bug就行分类表达
3.跟踪管理bug
4.对bug进行分析,统计
缺陷的严重程度是什么?分为哪些等级?各代表的含义是什么?
缺陷的严重程度是表明bug对软件或用户造成的影响有多大
1.Urgent:造成死机,系统崩溃等致命问题
2.Veryhigh:非常严重的问题
3.High:严重的问题
4.Medium:中等程度的问题
5.Low:小的问题(尽量在发布之前解决)
缺陷的优先级是什么?分为哪些等级?各代表的含义是什么?
缺陷的优先级是希望程序员在什么时间,或在程序的哪个版本中修复bug
1.Urgent:立即修改,否则影响开发或者测试的进度
2.Veryhigh:本版本修改
3.High:下个版本修改
4.Medium:发布之前修改
5.Low:允许在发布中存在的bug
优先级需要考虑哪些重点因素?
1.严重程度:一般严重程度越高,优先级越高(但不是严格成正比关系)
2.影响范围:一般影响范围越大,优先级越高
3.开发组的任务压力:任务压力越小,优先级越高
4.解决bug的成本:成本越低,优先级越高
什么是缺陷描述?
把发现bug的步骤、过程、使用的数据记录下来,让程序员通过此描述重视bug
所有的bug在软件发布之前都必须解决的吗?
不是所有的bug在软件发布之前都能够解决;
对于没有解决的bug,一般要通过项目组的讨论,明确不解决bug的风险、给用户造成的损失以及解决缺陷的成本
编写测试用例有哪些方法?各方法的应用场合?
1.等价类划分法
只要有数据输入的地方就可以使用,从无穷多的数据中挑选出少数代表性数据进行测试
2.边界值法
只要有数据输入的地方就可以使用,往往和等价类划分法一同使用,形成一套完善的测试方法;找到有效数据和无效数据的分界点,对分界点及其两边的点,进行单独测试
3.因果图法
在一个界面中有多个控件,控件之间存在一定的组合关系和限制关系,不同的输入组合会产生不同的输出结果,为了弄清输入组合和输出之间的对应关系,选择因果图法
4.判定表法
判定表和因果图本质上是一种方法,都是解决控件组合问题,判定表法是因果图法的简化
5.正交排列法
6.场景法
7.测试大纲法
写用例时的参考?
1.需求文档(开发文档如果可以参考最好)
2.对照已经开发出来的程序
3.与需求人员,开发人员,用户进行沟通
测试思想?
穷举测试是最完善的测试方法,但由于时间成本过高,实际工作中不宜采用。
所以在保证质量的同时,使用最少的数据完成测试过程。
什么是有效等价类?
对程序的规格说明有意义,合理的数据的集合,程序接收到有效等价类数据应该正确计算执行
什么是无效等价类?
对程序规格说明无意义,不合理的数据集合,程序接收到无效等价类数据,应该给出错误提示,或根本不允许输入
无效等价类主要考虑的因素?
1.需求要求不能为空或必填,无效等价类就是为空
2.数据有范围要求,无效等价类就是超出范围
3.字符有个数要求,无效等价类就是超出规定的范围
4.数据有格式样式类型的要求,无效等价类就是测试格式样式。类型非法
5.需求有小数点位数要求,无效等价类就是保留位数超过范围
6.需求要求不能重复,无效等价类就是重复
一个好的软件的基本特点?
1.要求的功能要实现
2.具有很强的异常处理能力(健壮性)
V模型及优缺点
优点:
1.测试阶段划分明确
2.和开发的对应关系明确
3.既包含底层测试(单元测试)又包括用户级测试(验收)
缺点:
1.容易理解成软件测试是开发完成之后才参与的
2.没有体现出测试前期的工作(写计划、用例、测试文档),不符合越早测试和不断测试的原则
深入理解:
1.对需求、开发文档进行测试
2.根据开发文档编写测试计划、测试用例等,为执行用例最准备
感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取
相关文章:
软件测试基础理论复习
什么是软件? 软件是计算机系统中与硬件相互依存的另一部分, 软件包括程序文档 什么是软件测试? (1)软件测试是在现有软件(程序文档)中寻找缺陷的过程; (2࿰…...
【UnityRPG游戏制作】Unity_RPG项目_玩家逻辑相关
👨💻个人主页:元宇宙-秩沅 👨💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨💻 本文由 秩沅 原创 👨💻 收录于专栏:就业…...
QT_BEGIN_NAMESPACE
最近碰到了QT_BEGIN_NAMESPACE这个宏,这个宏就是一个命名空间,意思是如果不用这个宏,可能我qwidget定义的一个变量a会和标准C定义的变量a冲突对不,Qt通过这个命名空间,将所有类和函数封装在一个作用域里,防…...
Swift 集合类型
集合类型 一、集合的可变性二、数组(Arrays)1、数组的简单语法2、创建一个空数组3、创建一个带有默认值的数组4、通过两个数组相加创建一个数组5、用数组字面量构造数组6、访问和修改数组7、数组的遍历 三、集合(Sets)1、集合类型…...
string容器
目录 string函数的构造 string赋值操作 string字符串拼接 string字符串查找和替换 string字符串比较 string字符存取 string插入与删除 string字串 string函数的构造 #include<iostream> #include<cstring> using namespace std; void test01() {string s…...
Ansible-inventory和playbook
文章目录 一、inventory 主机清单1、列表表示2、inventory 中的变量3、变量3.1 主机变量3.2 组变量3.3 组嵌套 二、playbook剧本1、playbook的组成2、编写剧本2.1 剧本制作2.2 准备nginx.conf2.3 运行剧本2.4 查看webservers服务器2.5 补充参数 3、剧本定义、引用变量3.1 剧本制…...
HI3516CV610
一、总体介绍 HI3516CV610是一颗应用在安防市场的IPC SoC,在开放操作系统、新一代视频编解码标准网络安全和隐私保护、人工智能方面引领行业发展,主要面向室内外场景下的枪机、球机、半球机、海螺机、枪球一体机、双目长短焦机等产品形态,打…...
ansible内置主机变量及魔法变量
目录 概述实践代码执行效果 概述 简单实用版本 实践 代码 --- - name: Get IP Addresshosts: allgather_facts: notasks:- name: Get IP Addressansible.builtin.setup:register: host_ip- name: Print IP Addressansible.builtin.debug:msg: "The IP Address of {{ a…...
设计模式一
单例模式(Singleton Pattern)是一种常用的软件设计模式,旨在确保一个类只有一个实例,并提供一个全局访问点。单例模式常用于控制资源密集型对象的创建,如数据库连接池、线程池等,以避免资源浪费。 单例模式…...
MySQL中JOIN连接的实现算法
目录 嵌套循环算法(NLJ) 简单嵌套循环(SNLJ) 索引嵌套循环(INLJ) 块嵌套循环(BNLJ) 三种算法比较 哈希连接算法(Hash Join) 注意事项: 工…...
[力扣题解] 216. 组合总和 III
题目:216. 组合总和 III 思路 回溯法 代码 class Solution { private:vector<vector<int>> result;vector<int> path;public:void function(int k, int n, int startindex, int sum){int i;// 剪枝// 超过了, 不用找了;if(sum > n){return…...
Spring Security Oauth2 JWT 添加额外信息
目录 一、问题描述 二、实现步骤 1、自定义TokenEnhancer 2、配置授权服务器 3、自定义UserDetails的User类 三、参考文档 一、问题描述 Oauth2里默认生成的JWT信息并没有用户信息,在认证授权后一般会返回这一部分信息,我对此进行了改造。 Oauth…...
蜜蜂收卡系统 加油卡充值卡礼品卡自定义回收系统源码 前后端开源uniapp可打包app
本文来自:蜜蜂收卡系统 加油卡充值卡礼品卡自定义回收系统源码 前后端开源uniapp可打包app - 源码1688 卡券绿色循环计划—— 一项旨在构建卡券价值再利用生态的社会责任感项目。在当前数字化消费日益普及的背景下,大量礼品卡、优惠券因各种原因未能有效…...
三星硬盘好还是西数硬盘好?硬盘数据丢失怎么找回
在数字化时代,硬盘作为数据存储的核心组件,其品质与性能直接关系到用户的数据安全与使用体验。在众多硬盘品牌中,三星与西数无疑是两个备受关注的名字。那么,究竟是三星硬盘更胜一筹,还是西数硬盘更受用户青睐…...
企业微信hook接口协议,ipad协议http,设置是否自动同意
设置是否自动同意 参数名必选类型说明uuid是String每个实例的唯一标识,根据uuid操作具体企业微信 请求示例 {"uuid":"bc4800492083fdec4c1a7e5c94","state":1 //1 是需要验证同意(需要手动点击同意) 0关闭验证…...
自动化测试的成本高效果差,那么自动化测试的意义在哪呢?
有人问:自动化测试的成本高效果差,那么自动化测试的意义在哪呢? 我觉得这个问题带有很强的误导性,是典型的逻辑陷阱之一。“自动化测试的成本高效果差”是真的吗?当然不是。而且我始终相信,回答问题的最…...
h5页面用js判断机型是安卓还是ios,判断有app安装没app跳转应用商店app stroe或者安卓应用商店
用vue3写的wep页面。亲测好使。 疑惑: 微信跳转和浏览器跳转不一样,需要控制定时器的时间,android在没下载的情况下点击没反应,ios在没下载的情况下会跳404,就是定时器2000,不知道有没有别的办法࿰…...
算法人生(17):从“课程学习”到“逐步暴露心理疗法”
课程学习(Curriculum Learning)是一种机器学习里常用的策略,它的灵感来源于人类学习方式:学习从简单的概念开始,逐步过渡到更复杂的问题。它通过模仿教育领域中课程安排的思想,设计了一系列有序的任务或数据…...
C++仿函数周边及包装器
我最近开了几个专栏,诚信互三! > |||《算法专栏》::刷题教程来自网站《代码随想录》。||| > |||《C专栏》::记录我学习C的经历,看完你一定会有收获。||| > |||《Linux专栏》࿱…...
改进灰狼算法优化随机森林回归预测
灰狼算法(Grey Wolf Optimization,GWO)是一种基于自然界灰狼行为的启发式优化算法,在2014年被提出。该算法模仿了灰狼群体中不同等级的灰狼间的优势竞争和合作行为,通过不断搜索最优解来解决复杂的优化问题。 灰狼算法…...
Hadoop生态系统的核心组件探索
理解大数据和Hadoop的基本概念 当我们谈论“大数据”时,我们指的是那些因其体积、速度或多样性而难以使用传统数据处理软件有效管理的数据集。大数据可以来自多种来源,如社交媒体、传感器、视频监控、交易记录等,通常包含了TB(太…...
命令行方式将mysql数据库迁移到达梦数据库(全步骤)
因项目需求,需要将mysql数据库转换为国产达梦数据库,但由于安全问题,正式环境只能用命令行方式连接,下列是操作全步骤 目录 一、操作逻辑二、操作步骤1、本地安装达梦相关工具2、将服务器mysql导出到本地a) 服务器命令行导出mysql…...
旅游系列之:庐山美景
旅游系列之:庐山美景 一、路线二、住宿二、庐山美景 一、路线 庐山北门乘坐大巴上山,住在上山的酒店东线大巴游览三叠泉,不需要乘坐缆车,步行上下三叠泉即可,线路很短 二、住宿 长江宾馆庐山分部 二、庐山美景...
杭州恒生面试,社招,3年经验
你好,我是田哥 一位朋友节前去恒生面试,其实面试问题大部分都是八股文,但由于自己平时工作比较忙,完全没有时间没有精力去看八股文,导致面试结果不太理想,HR说节后通知面试结果(估计是凉了&…...
python virtualenv 创建虚拟环境指定python版本,pip 从指定地址下载某个包
一、安装 pip install virtualenv是python3 的话 换成 pip3 如果下载过慢可以从国内链接下载 如下从阿里云下载 pip3 install -i https://mirrors.aliyun.com/pypi/simple virtualenv二、创建指定python版本的虚拟环境 virtualenv venv --pythonpython3.12这里的venv 为创…...
open feign支持调用form-data的接口
增加 consumes {MediaType.MULTIPART_FORM_DATA_VALUE}) 示例 PostMapping(value "/ocr", consumes {MediaType.MULTIPART_FORM_DATA_VALUE})DataResponse ocr(RequestPart("file") MultipartFile multipartFile,RequestPart("fileType") Str…...
ESD静电问题 | TypeC接口整改
【转自微信公众号:深圳比创达EMC】...
基于springboot+mybatis+vue的项目实战之前端
步骤: 1、项目准备:新建项目,并删除自带demo程序,修改application.properties. 2、使用Apifox准备好json数据的mock地址 3、编写基于vue的静态页面 4、运行 整个的目录结构如下: 0、项目准备 新建项目࿰…...
开源软件托管平台gogs操作注意事项
文章目录 一、基本说明二、gogs私有化部署三、设置仓库git链接自动生成参数四、关闭新用户注册入口 私有化部署gogs托管平台,即把gogs安装在我们自己的电脑或者云服务器上。 一、基本说明 系统环境:ubuntu 20.4docker安装 二、gogs私有化部署 前期准…...
Linux cmake 初窥【3】
1.开发背景 基于上一篇的基础上,已经实现了多个源文件路径调用,但是没有库的实现 2.开发需求 基于 cmake 的动态库和静态库的调用 3.开发环境 ubuntu 20.04 cmake-3.23.1 4.实现步骤 4.1 准备源码文件 基于上个试验的基础上,增加了动态库…...
桂林最新疫情最新消息封城/搜索引擎推广与优化
1. Java并发类: 1、ConcurrentHashMap 01、和HashMap功能基本一致,主要是为了解决HashMap线程不安全问题; 02、java7中的基本设计理念就是切分成多个Segment块, 默认是16个,也就是说并发度是16,可以初始化时显式指定…...
手表特卖网站/石家庄seo代理商
git clone https://github.com.cnpmjs.org/xxx/xxxx.git...
苏南建设集团网站/优化设计单元测试卷答案
摘要 本篇经验将和大家介绍Windows下安装和部署RabbitMQ消息队列服务器,希望对大家的工作和学习有所帮助! 目录 一、Erlang语言环境的搭建 二、RabbitMQ服务环境的搭建 三、RabbitMQ服务Web管理工具 一、Erlang语言环境的搭建 RabbitMQ开源消息队列服务是…...
徐州网站建设公司/关键词搜索工具app
springboot 默认 只支持模板引擎。 有时候我们可能需要引入 jsp,那么就得整合jsp了。 1.pom里面添加: <dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId></dependency><!-- jasper …...
无锡专业做网站的公司/淘宝关键词工具
在前面的一篇文章 “Elasticsearch:创建属于自己的 Ingest processor” 中,我相信地介绍了如何使用一个模板来创建 Ingest 插件。在今天的文章中,我们使用另外一个方法来做同样的事。我们将使用 eclipse 来生成一个 maven 的项目。 前言 El…...
餐饮o2o平台有哪些/广州灰色优化网络公司
在使用intellijidea开发过程中,我们往往会遇到自己跟踪一个流程后想要一步步返回到我们刚才鼠标停留的地方,这有利于代码的开发效率,Eclipse工具直接有前进和后退的箭头可供使用,但是intellijidea没有,因此为了使用方便…...