软件测试基础知识整理(详细版)

一、软件测试概述

1、软件缺陷
软件缺陷:又称之为“Bug”。即计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。

缺陷的表现形式:

软件没有实现产品规格说明书所要求的功能模块;
软件中出现了产品规格说明指明不应该出现的错误;
软件实现了产品规格说明中没有提到的功能需求;
软件没有实现虽然产品规格说明没有明确提及但应该实现的目标;
软件难以理解、不易使用、运行缓慢、用户体验不友好;
产生软件缺陷的原因:

需求不清晰;
系统结构较为复杂;
对程序逻辑路径或者数据范围考虑不全面;
确保设计时间的精准同步;
存在系统性、可靠性的隐患问题;
系统运行环境的复杂;
通信端口较多时影响系统的安全性、适用性;
设计技术系统兼容的问题;
缺陷的属性:

缺陷标识:标识唯一;
缺陷类型:缺陷种类;
缺陷严重程度:指因缺陷引起的故障对软件产品的影响程度;
缺陷优先级:指缺陷必须被修复的紧急程度;
缺陷状态:通过一个跟踪修复过程的进展情况;
缺陷起源:缺陷引起的故障或事件第一次被检测到的阶段;
缺陷来源:引起缺陷的原因;
缺陷根源:反正错误的根本因素;
2、软件测试的定义及原则
定义:软件测试是为了发现错误而执行程序或系统的过程。

原则:

测试显示Bug的存在:
穷举测试不可能;
尽早地进行测试;
缺陷群:(二八定律:约80%的问题被发现在20%的模块中);
杀虫剂悖论;
测试是上下文相关的;
有无谬误;
软件测试是有风险的行为;

二、软件测试过程与策略

1、软件测试策略概述
软件测试策略是软件工程过程的一个软件测试的模板,也就是把特定的测试用例方法放置进去的一系列步骤:

软件测试包含的特征:

测试从模块层开始,然后扩大延伸到整个基于计算机的系统集合中;
不同的测试技术适用于不同的时间点;
测试由开发人员及独立的测试组来管理的;
测试和调试时不同的活动,但是调试必须能够适应任何测试策略;
软件测试充分性准则:

对任何软件都存在有限的充分测试集合;
若果一个软件系统在一个测试数据集合上的测试是充分的,那么再多测试一些数据也应该是充分的;
即使对软件所有成分都进行了充分测试,也并不表名整个软件的测试已经充分;
即使对软件系统整体的测试是充分的,也并不意味着软件系统中各个成分都已经充分的得到了测试;
软件测试的充分性与软件的需求和软件的实现都相关;
软件越复杂,需要的测试数据就越多;
测试的越多,进一步测试所能得到的充分性增长就越少;

2、软件测试的分类
软件开发阶段划分:

1)、单元测试:
指对软件中的最小可测试单元进行检查和验证,单元测试需要从软件的内部结构出发设计测试用例。多个模块可以独立地进行测试。

2)、集成测试:
组装测试/联合测试:将所有模块按照设计要求组装成子系统或者系统进行集成测试。

3)、系统测试:
将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试 和确认测试,系统测试是针对整个产品的测试。

4)、验收测试:
交付测试:确保软件准备就绪。

测试技术划分:

1)、白盒测试:
结构性测试/透明盒测试/逻辑驱动测试/基于代码的测试:

2)、黑盒测试:
功能测试:通过测试每个功能是否都能正常使用。(输入数据/输出数据)

3)、灰盒测试:
介于白盒测试和黑盒测试之间的一种测试方法:不仅关注输出、输入的正确性,同时也关注程序内部的情况。

被测试软件是否实际运行划分:

1)、静态测试:
指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。

对于代码测试:主要测试代码是否符合相应的标准和规范;
对于界面测试:主要测试软件的实际界面与需求中的说明是否相符;
对于文档测试:主要测试用户和需求说明是否符合用户的实际需求;
2)、动态方法:
指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性、健壮性等性能。

测试实施组织划分:

1)、开发方测试:
验证测试/α测试

2)、用户测试:
β测试

3)、第三方测试

测试类型划分:

1)、功能测试:
主要针对产品需求说明书对软件进行测试,验证软件功能是否符合需求,包括对原定功能的检验以及测试软件是否存在冗余功能、遗漏功能。

2)、界面测试:
主要对系统的界面进行测试,测试用户界面是否友好,软件是否方便易用、系统设计是否合理、界面位置是否正确等问题。

3)、性能测试:
主要测试系统的性能是否满足用户需求,即在特定的运行条件下验证系统的能力状态。性能测试主要是通过自动化的测试工具模拟正常、峰值、异常负载状况、对系统的各项性能指标进行测试。

4)、强度测试:
迫使系统在异常的资源配置下运行。目的是找出因资源不足或者资源争用而导致的错误。

5)、压力测试:
主要是在超负荷环境中,检验系统是否能够正常运行。

6)、安全测试:
测试系统防止非法入侵的能力。

7)、兼容性测试:
测试软件产品在不同的平台、不同的工具软件或者相同工具软件不同的版本下的兼容性。

8)、安装测试:
主要校验软件是否可以正确安装、安装文件的各项设置是否有效、安装后是否影响整个计算机系统、卸载软件时是否可以卸载干净、卸载软件之后是否影响整个计算机系统。

9)、文档测试:
主要检查内部或外部文档的清晰性和准确性。

3、软件测试过程模型
3.1、V模型

在这里插入图片描述
3.2、W模型

在这里插入图片描述
3.3、H模型

在这里插入图片描述
3.4、X模型

在这里插入图片描述
4、测试用例的定义和特征
4.1、测试用例的特征
1、测试用例具有代表性:测试用例能够代表并覆盖各种合法的和非法的、合理的和不合理、边界的和越界的以及极限的输入数据、操作和环境设置等。

2、测试结果是可判定的:测试执行结果的正确性是可以判定的,每一个测试用例都应有明确的期望结果,否则将难以判断系统是否正常运行。

3、测试结果可以再现:对同样的测试用例,系统的执行结果应当是相同的。

4.2、测试用例设计原则
使用成数的测试用例设计方法来进行设计;
保证测试用例数据的正确性和操作的正确性;
确保测试用例具有一定的代表性;
每个测试用例应该针对单一的测试项;
保证测试结果是可以判定并且可以再现的;
保证测试用例描述准确、清晰、具体;
测试用例设计应满足项目的时间、人员和资金要求;
4.3、测试用例模板
4.3.1、测试用例的基本要素

在这里插入图片描述
4.3.2、功能测试用例

在这里插入图片描述
4.3.3、性能测试用例
1、预期性能测试用例

2、用户并发性能测试用例


3、大数据量性能测试用例

在这里插入图片描述
4、疲劳强度测试用例

在这里插入图片描述
5、负载测试用例


4.3.3、兼容性测试用例

在这里插入图片描述

三、黑盒测试

1、等价类划分法
1、有效等价类划分:有效等价类指对于程序规格说明来讲,是合理的、有意义的输入数据构成的集合。有效等价类数据集包含:终端用户输入的命令、与最终用户交互的系统提示、接收相关的用户文件的名称、提供初始化值和边界值、提供格式化输出数据的命令、在图形模式提供的数据、失败时回显的数据等。

2、无效等价类划分:无效等价类指对于软件规格说明来讲,是不合理的、没有意义的输入数据集合。

3、等价类划分的方法

按区间划分
按数值划分
按数值集合划分
按限制条件或规划划分
按处理方式划分
4、等价类划分的原则

在输入条件规定的取值范围或值的个数的情况下,可以确定一个有效等价类和两个无效等价类;
在规定了输入数据的一组值中(假定有n个值),可以确定n个有效等价类和一个无效等价类;
在规定输入数据必须遵守的规则的情况下,可以确定一个有效等价类和若干个无效等价类;
在输入条件规定了输入值的集合或规定了“必须如何”的条件下,可以确定一个有效等价类和一个无效等价类;
在确定已划分的等价类中各元素在程序处理中的方式不同的情况下,则应该将等价类进一步地划分为更小的等价类;
5、弱一般等价类测试:通过使用一个测试用例中的每个等价类(区间)的一个变量实现

6、强一般等价类测试:基于多缺陷假设

7、弱健壮等价类测试:

8、强健壮等价类测试:

9、单元实践

2、边界值法
2.1、边界值分析
边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。边界值分析的基本思想是使用在最小值、略高于最小值、正常值、略低于最大值、最大值处取变量值。

2.2、健壮性分析

2.3、最坏情况测试

2.4、单元实践

2.5、随机测试

2.6、边界值测试的指导方针

3、决策表法
3.1、决策表

3.2、实例

3.3、指导方针

4、因果图法
因果图是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法。适用于检查程序输入条件的各种组合的情况。

5、场景法
6、正交实验法


最后

如果你想学习自动化测试,那么下面这套视频应该会帮到你很多

如何逼自己1个月学完自动化测试,学完即就业,小白也能信手拈来,拿走不谢,允许白嫖....

最后我这里给你们分享一下我所积累和整理的一些文档和学习资料,有需要直接领取就可以了!


以上内容,对于软件测试的朋友来说应该是最全面最完整的备战仓库了,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你。

​​

​​​​

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

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

相关文章

数据结构 优先级队列(堆)

数据结构 优先级队列(堆) 文章目录 数据结构 优先级队列(堆)1. 优先级队列1.1 概念 2. 优先级队列的模拟实现2.1 堆的概念2.2 堆的存储方式2.3 堆的创建2.3.1 堆向下调整2.3.2 堆的创建2.3.3 建堆的时间复杂度 2.4 堆的插入与删除2.4.1 堆的插入2.4.2 堆的删除 2.5 用堆模拟实现…

再见Jenkins!你好,GitLink引擎,更强大的自动化部署工具!

文章目录 写在前面一、准备工作1.1 注册GitLink账号1.2 托管项目1.3 新建项目管理引擎流水线 二、开始构建流水线2.1 进入图形流水线编辑页2.2 添加git clone节点2.3 添加shell节点2.4 添加allure html节点2.5 添加新建GitLink疑修节点2.6 添加钉钉通知节点2.7 设置任务触发器2…

Python学习基础笔记七十五——Python调用其他程序

Python经常被用来开发自动化程序。自动化程序往往需要调用其他的程序。 例如,我们可以代码中调用wget程序,而不是自己开发下载的代码。 这就是我们经常做的,在我们的Python程序中调佣其它程序,帮我们实现功能。 Python中调用外部…

危险化工品出口注意事项及法规要求_箱讯科技

随着全球化工品市场的不断发展,危险化工品出口业务逐渐成为国际贸易的重要组成部分。然而,由于危险化工品具有潜在的危险性,出口过程中需严格遵守相关法规和注意事项,以确保运输安全和顺畅。本文将详细介绍危险化工品出口注意事项…

Linux | vim的入门手册

目录 前言 一、什么是vim 二、vim编辑器的模式 1、插入模式 (1)用vim打开文件 (2)进入插入模式 2、默认模式 (1)光标移动 (2)复制、粘贴与剪切操作 (3&#x…

UE4中无法保存项目问题

系列文章目录 文章目录 系列文章目录前言一、解决方法 前言 取消:停止保存所有资产并返回编辑器。 重试:尝试再次保存资产。 继续:仅跳过保存该资产。 当我点击继续时,关闭项目,然后重新打开项目,发现之前…

广州虚拟动力携数字人全栈式产品,邀您来2023世界VR产业大会(南昌)一探虚实

2023年10月19-20日,由工业和信息化部、江西省人民政府联合主办,中国电子信息产业发展研究院、江西省工业和信息化厅、南昌市人民政府、虚拟现实产业联盟共同承办的2023世界VR产业大会将在南昌绿地国际博览中心盛大举办。 广州虚拟动力作为3D、AI虚拟人领…

React之受控组件和非受控组件以及高阶组件

一、受控组件 受控组件,简单来讲,就是受我们控制的组件,组件的状态全程响应外部数据 举个简单的例子: class TestComponent extends React.Component {constructor (props) {super(props);this.state { username: lindaidai }…

VSCode 调试 u-boot

文章目录 VSCode 调试 u-boot调试配置启动 u-boot 脚本调试界面重定向之后继续调试参考 VSCode 调试 u-boot 调试配置 参考 qemu基础篇——VSCode 配置 GDB 调试 要想调试 u-boot 只需要再添加一个 u-boot 的配置即可 {"version": "0.2.0","conf…

学习笔记|串口通信实战|简易串口控制器|sprintf函数|STC32G单片机视频开发教程(冲哥)|第二十一集(下):串口与PC通信

目录 3.串口通信实战实操简易的工作原理Tips:sprintf函数简介 总结课后练习 3.串口通信实战 做一个简易串口控制器。发送对应指令,让板子做相应的事情,或者传输数据(文本模式下发送,不要选择HEX)。 1.串口发送字符Ax\…

2020年亚太杯APMCM数学建模大赛B题美国总统的经济影响分析求解全过程文档及程序

2020年亚太杯APMCM数学建模大赛 B题 美国总统的经济影响分析 原题再现: 美国总统选举每四年举行一次。 2020年是美国总统大选年,共和党候选人唐纳德特朗普和民主党对手乔拜登竞选总统。 甲乙双方候选人在金融贸易,经济金融治理,…

python爬虫实战-京东商品数据

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 今天介绍一下如何用 Python 来批量获取京东商品信息!! 如果有什么疑惑/资料需要的可以点击文章末尾名片领取源码 第三方库: requests >>> pip install requests 开发环境: python 3.8 py…

【iOS】——用单例类封装网络请求

文章目录 一、JSONModel1.JSONModel的简单介绍2.JSONModel的使用 二、单例类和Block传值 一、JSONModel 1.JSONModel的简单介绍 JSONModel一个第三方库,这个库用来将网络请求到的JSON格式的数据转化成Foundation框架下的Model类的属性,这样我们就可以直…

Elasticsearch基础篇(五):创建es索引并学习分析器、过滤器、分词器的作用和配置

创建es索引并学习分析器、过滤器、分词器的作用和配置 一、基础概念Elasticsearch与MySQL的类比1. ES与MySQL的结构类比图2. ES与MySQL的类比示意表格3. 索引中重要概念索引(Index)文档(Document)字段(Field&#xff0…

2023.10.18 区别 对象 和 类对象

目录 对象 类对象 总结 对象 对象是类的实例化结果它是内存中的一块区域,包含了该类的属性和方法的具体值和实现对象具有唯一的标识、状态、行为通过创建类的实例,我们可以在程序中操作和处理具体的对象 简单实例 class Person {public int high 1…

车载开发学习——CAN总线

CAN总线又称为汽车总线,全程为“控制器局域网(Controller Area Network)”,即区域网络控制器,它将区域内的单一控制单元以某种形式连接在一起,形成一个系统。在这个系统内,大家以一种大家都认可…

Netty系列教程之NIO基础知识

近30集的孙哥视频课程,看完一集整理一集来的,内容有点多,请大家放心食用~ 1. 网络通讯的演变 1.1 多线程版网络通讯 在传统的开发模式中,客户端发起一个 HTTP 请求的过程就是建立一个 socket 通信的过程,服务端在建立…

VR全景图片如何拍摄制作,拍摄制作过程中要注意什么?

引言: VR全景图片就是通过专业的相机设备捕捉到的一个空间的高清图像,再经过专业工具进行拼合,呈现出一种环绕式的视觉效果。想象一下,当你站在一个完全真实的环境中,可以自由地转动视角,看到四周的景色&a…

高数定理集合啦

haha~ 最近在准备数学竞赛,好久没有发布笔记啦,今天就来一波高数里常用的定理吧,不全面的话后续会更新哒~ 费马定理:对于一个函数的局部极值点,如果导数存在,那么导数在该点处必须为零,即 f(x)0…

SQL数据库管理工具RazorSQL mac中文版特点与功能

RazorSQL mac是一款功能强大的SQL数据库管理工具,它支持多种数据库,包括MySQL、Oracle、Microsoft SQL Server、SQLite、PostgreSQL等。 RazorSQL mac 软件特点和功能 多种数据库支持:RazorSQL支持多种数据库,用户可以通过一个工…