IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 测试知识总结 -> 正文阅读

[开发测试]测试知识总结

一.认识软件测试

1.了解软件测试

软件测试:测试软件功能是否符合需求

软件测设和软件调试的区别:

(1)测试是检查软件是否符合用户的需求 调试是检查自己写的代码时候实现了自己想要的功能

(2)角色不同:测试是 黑盒测试工程师,白盒测试工程师,开发人员(单元测试);调试是开发人员。

(3)阶段不同:调试是存在于开发阶段;软件测试存在于整个软件开发的生命周期里(软件开发的生命周期:需求—计划—设计—编码—测试—运行维护)。

2.需求

什么是需求:为了满足用户的期望和规定的合同(文档,标准,规范)所需要的条件和权能,称之为需求? ??

软件需求是用户需求转化而来的,它是经过对用户需求的验证(正确性,合理性),分析后,具体的功能实现细节说明。

需求是测试人员测试的依据。

软件开发的一个过程: 用户需求—软件需求—开发编码—测试—运行上线

3.什么是BUG

当软件需求规格说明存在并且合理时,软件功能和软件需求不相符,就说明时软件错误(BUG)。

如果软件需求不存在,用户需求存在并且合理,软件功能和用户需求都存在,说明是软件错误(BUG)。

4.什么时测试用例

测试用例其实是向被测试系统发起的一组集合,测试环境,测试步骤,测试数据,预期结果,标题,重要性,功能模块,优先级,执行方案等。

5.开发模型

瀑布模型,螺旋模型,增量模型,迭代模型,敏捷开发(Scrum,是一种应对快速变化的需求的一种软件开发能力)。

6.测试模型

V模型,W模型

二.软件测试基础

1.软件测试的生命周期(软件测试的流程是什么)

?2.如何描述一个BUG

(1)测试版本

(2)测试环境:

web系统:? ?电脑系统(Windows 10 7/Mac) 哪一个浏览器(版本号)

app:手机品牌型号,系统(Android IOS 哪一个版本)

(3)测试步骤(具体的数据)

(4)实际结果

(5)预期结果(和需求一致)

(5)其他附件(错误截图,错误日志等)

注意:不要把多个BUG放在一起描述。

BUG的级别:崩溃,严重,一般,次要。

三.软件测试用例

1.从整体的角度(基于需求)设计分析测试用例。

(1)验证需求的正确性和合理性

(2)分析需求,细化需求,从需求中分解出测试项,根据测试项找出功能,进行测试用例的编写。

2.具体的设计测试用例的方法

(1)等价类

等价类就是把输入划分成若干个等价类,从每一个等价类中取出一个测试用例,如果这个测试用例能够通过,那么我们就说这个用例代表的等价类测试通过。

适用场景:测试用例无法穷举,我们无法一一测试。

有效等价类:符合程序规格说明的数据集合。? ?无效等价类:比符合软件需求规格说明的数据集合

(2)边界值

针对输入和输出的边界进行测试用例的设计。

(3)因果图法

适用场景:当输入很多,并且不同的输入组合对应着不同的输出,这个时候用因果图法来分析输入组合和输出之间的对应关系。

?

?因果图法设计测试用例的步骤:

1,分析出所有的输入和输出。

2,找出输入和输出的关系

3,画因果图

4,画判定表

5,把判定表转化成测试用例

如:

?

?

?

?

(4)场景法

?

(5)错误猜测法

根据测试人员的直觉,知识,经验,判断软件的哪一块有问题,专门针对性的设计测试用例

适合作为一种补充设计用例的方法。

(6)正交法(不常用)

?注:上述六种方法都属于黑盒测试用例的设计方法。

什么是黑盒测试:不关心软件内部的结构,逻辑,功能的具体代码实现,只关心输入和输出是否满足用户的需求。

黑盒测试用于开发的哪几个阶段:集成测试,系统测试,验收测试。

四.测试知识进阶

测试金字塔:

(1)从下到上,定位问题越来越困难

(2)从下到上测试效率越来越低

1.软件测试按照开发阶段划分为:

(1)单元测试

测试阶段:开发前,开发后。

测试人员:白盒测试工程师/开发测试工程师

测试内容:模块接口测试,局部数据结构,边界测试,错误处理测试,逻辑结构测试(if else ,try catch finally,switch)

测试工具Junit(Java)

如何使用Junit

?

(2)集成测试

按照一定策略把单元功能模块组装起来,对组装起来的模块进行测试。

?(3)冒烟测试

对系统的主要功能和核心流程进行测试,正式的进行系统测试之前,测试人员是否接受本次迭代,正式测试的依据。

?(4)系统测试

(5)验收测试

?(5)回归测试

当系统引入新代码的时候(增加新功能,修改系统的BUG),进行回归测试。

回归测试的策略:自动化测试

2.软件测试按照实施组织划分为:

(1)α测试

测试人员:除了测试人员和开发人员以外的任何人。

测试环境:在开发环境下

(2)β测试(也就是内测)

测试人员:实际用户

测试环境:实际使用环境下

β测试之前要进行很长一段时间α测试,产品面向用户正式发布之前,会进行β测试。

(3)第三方测试

?3.按照是否运行划分

(1)静态测试:不运行代码,通过静态分析代码的语法,编写规范,逻辑,结构,实现的功能,来判断软件是否满足用户的需求。(看代码)

静态测试的标准:

(2)动态测试:运行软件进行测试。

4.按照是否手工划分?

(1)手工测试,(黑盒测试)测试人员先写测试用例,运行系统,执行测试用例,分析结果

缺点:量大,容易出错,花费大量的时间

优点:进行探索性测试和发散性测试

(2)自动化测试(机器按照预先设定好的条件去运行系统)。

自动化测试的条件:系统功能稳定后。

5.按照是否查看代码划分

(1)黑盒测试

什么是黑盒测试:不关心软件内部的结构,逻辑,功能的具体代码实现,只关心输入和输出是否满足用户的需求。

黑盒测试设计测试用例的方法有:因果图法,等价类,场景法,边界值,错误猜测法等

黑盒测试用于开发的哪几个阶段:集成测试,系统测试,验收测试。

(2)白盒测试:去测试软件内部代码的逻辑,结构,功能是否满足用户的需求。

白盒测试的方法:语句覆盖,循环覆盖(for,while,do while),逻辑覆盖(路径覆盖(if else,switch,try catch finally),条件覆盖(每一个条件),判定覆盖(每一种判定结果),条件组合,判定组合(前两种的各种组合))。

(3)灰盒测试:综合黑盒与白盒。

6.按照测试地域划分

7.按照猜测对象划分

(1)按照业务测试

ATM取款机取款的各个流程组合起来就是ATM取款机取款业务

场景设计法

(2)界面测试(UI设计师的设计稿)

(3) 容错性测试

?(4)兼容性测试

?适合自动化测试

(5)易用性测试(用户体验测试)

?(6)安全性测试

如SQL注入

(7)性能测试

(8)内存泄露的测试

?

?

五.工具

常见的测试管理工具是做什么的:需求管理,测试用例的管理,测试缺陷(BUG)的管理,测试统计,测试报告,权限管理。

1.禅道

禅道是项目管理工具,可以管理软件开发的整个生命周期,对于测试人员来说,禅道可以管理整个测试的流程。

2.selenium

这是一个自动化测试工具? UI测试工具

它的特点是:

(1)轻量级 ,免费开源(2)支持多语言 (3)支持多浏览器 (4)支持分布式? ?selenium Grid

????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-08-21 15:46:10  更:2021-08-21 15:47:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/26 21:24:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码