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

软件测试基础理论复习

什么是软件?

软件是计算机系统中与硬件相互依存的另一部分,

软件包括程序+文档

什么是软件测试?

(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&#xff0…...

【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&#xff0c;在开放操作系统、新一代视频编解码标准网络安全和隐私保护、人工智能方面引领行业发展&#xff0c;主要面向室内外场景下的枪机、球机、半球机、海螺机、枪球一体机、双目长短焦机等产品形态&#xff0c;打…...

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…...

设计模式一

单例模式&#xff08;Singleton Pattern&#xff09;是一种常用的软件设计模式&#xff0c;旨在确保一个类只有一个实例&#xff0c;并提供一个全局访问点。单例模式常用于控制资源密集型对象的创建&#xff0c;如数据库连接池、线程池等&#xff0c;以避免资源浪费。 单例模式…...

MySQL中JOIN连接的实现算法

目录 嵌套循环算法&#xff08;NLJ&#xff09; 简单嵌套循环&#xff08;SNLJ&#xff09; 索引嵌套循环&#xff08;INLJ&#xff09; 块嵌套循环&#xff08;BNLJ&#xff09; 三种算法比较 哈希连接算法&#xff08;Hash Join&#xff09; 注意事项&#xff1a; 工…...

[力扣题解] 216. 组合总和 III

题目&#xff1a;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信息并没有用户信息&#xff0c;在认证授权后一般会返回这一部分信息&#xff0c;我对此进行了改造。 Oauth…...

蜜蜂收卡系统 加油卡充值卡礼品卡自定义回收系统源码 前后端开源uniapp可打包app

本文来自&#xff1a;蜜蜂收卡系统 加油卡充值卡礼品卡自定义回收系统源码 前后端开源uniapp可打包app - 源码1688 卡券绿色循环计划—— 一项旨在构建卡券价值再利用生态的社会责任感项目。在当前数字化消费日益普及的背景下&#xff0c;大量礼品卡、优惠券因各种原因未能有效…...

三星硬盘好还是西数硬盘好?硬盘数据丢失怎么找回

在数字化时代&#xff0c;硬盘作为数据存储的核心组件&#xff0c;其品质与性能直接关系到用户的数据安全与使用体验。在众多硬盘品牌中&#xff0c;三星与西数无疑是两个备受关注的名字。那么&#xff0c;究竟是三星硬盘更胜一筹&#xff0c;还是西数硬盘更受用户青睐&#xf…...

企业微信hook接口协议,ipad协议http,设置是否自动同意

设置是否自动同意 参数名必选类型说明uuid是String每个实例的唯一标识&#xff0c;根据uuid操作具体企业微信 请求示例 {"uuid":"bc4800492083fdec4c1a7e5c94","state":1 //1 是需要验证同意&#xff08;需要手动点击同意&#xff09; 0关闭验证…...

自动化测试的成本高效果差,那么自动化测试的意义在哪呢?

有人问&#xff1a;自动化测试的成本高效果差&#xff0c;那么自动化测试的意义在哪呢&#xff1f; 我觉得这个问题带有很强的误导性&#xff0c;是典型的逻辑陷阱之一。“自动化测试的成本高效果差”是真的吗&#xff1f;当然不是。而且我始终相信&#xff0c;回答问题的最…...

h5页面用js判断机型是安卓还是ios,判断有app安装没app跳转应用商店app stroe或者安卓应用商店

用vue3写的wep页面。亲测好使。 疑惑&#xff1a; 微信跳转和浏览器跳转不一样&#xff0c;需要控制定时器的时间&#xff0c;android在没下载的情况下点击没反应&#xff0c;ios在没下载的情况下会跳404&#xff0c;就是定时器2000&#xff0c;不知道有没有别的办法&#xff0…...

算法人生(17):从“课程学习”到“逐步暴露心理疗法”

课程学习&#xff08;Curriculum Learning&#xff09;是一种机器学习里常用的策略&#xff0c;它的灵感来源于人类学习方式&#xff1a;学习从简单的概念开始&#xff0c;逐步过渡到更复杂的问题。它通过模仿教育领域中课程安排的思想&#xff0c;设计了一系列有序的任务或数据…...

C++仿函数周边及包装器

我最近开了几个专栏&#xff0c;诚信互三&#xff01; > |||《算法专栏》&#xff1a;&#xff1a;刷题教程来自网站《代码随想录》。||| > |||《C专栏》&#xff1a;&#xff1a;记录我学习C的经历&#xff0c;看完你一定会有收获。||| > |||《Linux专栏》&#xff1…...

改进灰狼算法优化随机森林回归预测

灰狼算法&#xff08;Grey Wolf Optimization&#xff0c;GWO&#xff09;是一种基于自然界灰狼行为的启发式优化算法&#xff0c;在2014年被提出。该算法模仿了灰狼群体中不同等级的灰狼间的优势竞争和合作行为&#xff0c;通过不断搜索最优解来解决复杂的优化问题。 灰狼算法…...

微信小程序登录总失败?从‘一次性code’到‘缓存清理’,这份避坑指南帮你全搞定

微信小程序登录全链路排雷手册&#xff1a;从原理到实战的深度解析 登录功能作为微信小程序用户体系的入口&#xff0c;其稳定性直接影响用户体验和业务转化。但在实际开发中&#xff0c;开发者常会遇到各种"诡异"问题——明明按照文档实现了流程&#xff0c;却频繁出…...

告别裸机UI!用LVGL 8.3给你的STM32项目做个漂亮界面(基于HAL库和SPI屏)

从零打造STM32智能界面&#xff1a;LVGL 8.3实战指南 在嵌入式开发领域&#xff0c;用户界面往往是最容易被忽视却最能直接影响用户体验的环节。想象一下&#xff0c;当你精心设计的智能家居控制面板或工业仪表&#xff0c;因为简陋的字符界面而显得廉价时&#xff0c;那种挫败…...

ESP8266 AT指令实战:用NodeMCU连接WiFi并发送HTTP请求(2023最新版)

ESP8266 AT指令实战&#xff1a;用NodeMCU连接WiFi并发送HTTP请求&#xff08;2023最新版&#xff09; 当你拿起一块NodeMCU开发板时&#xff0c;它可能看起来只是块普通的电路板&#xff0c;但内置的ESP8266芯片让它成为了物联网开发的瑞士军刀。不同于Arduino需要额外WiFi模块…...

CentOS8网络管理大变革:从network.service到NetworkManager的全面解析

CentOS8网络管理架构深度解析&#xff1a;从传统命令到NetworkManager的进化之路 如果你是一位长期使用CentOS的系统管理员&#xff0c;最近升级到CentOS8后可能会遇到一个令人困惑的问题&#xff1a;当你习惯性地输入systemctl restart network命令时&#xff0c;系统却无情地…...

CLIP-GmP-ViT-L-14实操手册:批量图片上传+多提示词并行计算优化

CLIP-GmP-ViT-L-14实操手册&#xff1a;批量图片上传多提示词并行计算优化 1. 项目概述 CLIP-GmP-ViT-L-14是一个经过几何参数化(GmP)微调的CLIP模型&#xff0c;在ImageNet和ObjectNet数据集上达到了约90%的准确率。这个强大的视觉-语言模型能够理解图片内容并将其与文本描述…...

HexView脚本进阶:巧用/CR参数实现多区域数据‘挖空’,为自动化测试铺路

HexView脚本进阶&#xff1a;巧用/CR参数实现多区域数据‘挖空’&#xff0c;为自动化测试铺路 在自动化测试领域&#xff0c;二进制文件的预处理往往决定了测试的深度和效率。想象一下这样的场景&#xff1a;你手头有一份完整的ECU固件文件&#xff0c;但为了验证设备在数据损…...

OpenClaw压力测试:nanobot持续运行72小时稳定性

OpenClaw压力测试&#xff1a;nanobot持续运行72小时稳定性 1. 测试背景与目标 最近在本地部署了基于OpenClaw的nanobot项目&#xff0c;这是一个超轻量级的自动化助手框架。它内置了vllm部署的Qwen3-4B-Instruct-2507模型&#xff0c;通过chainlit提供推理界面。在实际使用中…...

保姆级避坑指南:在Ubuntu 20.04上搞定Carla 0.9.15与ROS Noetic的联合仿真环境

保姆级避坑指南&#xff1a;Ubuntu 20.04下Carla 0.9.15与ROS Noetic联合仿真环境搭建全攻略 搭建自动驾驶仿真环境就像在雷区跳舞——稍有不慎就会触发依赖冲突、版本不兼容或环境变量错误。本文将带你用最短时间穿越这片雷区&#xff0c;特别针对那些官方文档没写、论坛讨论含…...

SNOMED CT入门指南:从概念、关系到数据文件,手把手带你理解这个医学术语标准

SNOMED CT技术解析&#xff1a;从数据结构到医疗信息系统的实战指南 在医疗信息化领域&#xff0c;数据标准化是打破信息孤岛的关键。当不同医院的电子病历系统使用各自独立的术语体系时&#xff0c;跨机构的数据交换就像一场没有翻译的多国会议——充满误解和低效。这正是SNOM…...

实时手机检测-通用:5分钟快速部署,小白也能轻松上手

实时手机检测-通用&#xff1a;5分钟快速部署&#xff0c;小白也能轻松上手 1. 模型简介 实时手机检测-通用是一款基于DAMOYOLO-S框架的高性能目标检测模型&#xff0c;专门用于在各种场景中快速准确地检测手机设备。这个模型在精度和速度上都超越了传统的YOLO系列方法&#…...