| |
|
开发:
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 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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年11日历 | -2024/11/17 20:36:01- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |