【测试开发】第一节.测开入门(附常考面试题)

news2024/12/23 14:43:19

 

文章目录

前言

一、什么是测试开发

         1.1 常考面试题

二、软件测试的基础概念

         2.1 需求

2.2 测试用例

3、BUG

三、生命周期

3.1 软件的生命周期

3.2 软件测试的生命周期

四、软件工程中的几种常见的开发模型

         4.1 瀑布模型

         4.2 螺旋模型

         4.3 增量模型和迭代模型

         4.4 敏捷模型

五、软件工程中的测试模型

5.1 V模型

 5.2 W模型

总结


前言

本一模块内容我们将进入到有关测试的内容;测试也是程序员的一个重要岗位;要担任这个岗位必须要积累和学习测试的有关内容,今天就让我们走入到测试的世界吧!!!!!!


一、什么是测试开发

验证软件产品特性(功能、界面、安全性、兼容性、性能)是否符合用户需求;

软件测试是贯穿于软件的整个生命周期的

注意:

软件测试不仅要测试软件系统是否做了其该做的,还要测试系统是否未做其该做的;

1.1 常考面试题

软件测试和软件开发的区别?

软件测试:主要是保障产品质量

软件开发:主要是编写业务代码


软件测试和软件测试开发的区别?

相同点:软件测试和软件测试开发的主要工作内容都是保障产品质量;

不同点:不同的是软件测试开发还额外需要开发一些测试效能工具——来提升测试效率;


软件测试和开发测试(软件调试)的区别?

目的不同

软件调试:开发人员验证软件是否实现了他想让软件实现的功能

软件测试:测试人员验证软件是否实现了用户的需求

角色不同

软件调试:开发人员来做

软件测试:开发人员和测试人员,一起来做这件事!(在软件测试中,开发人员主要是做  白盒测试的——与代码相关的)

阶段不同

软件调试:开发阶段

软件测试:贯穿于软件的整个生命周期


你为什么要选择软件测试开发的工作?

回答自己的核心竞争力体现在哪里——自己的优势

自己有着优秀的测试人员需要具备的素质

综合能力:

1)沟通能力

2)快速学习能力

3)开发能力

4)文字能力

优秀的测试用例设计的能力

掌握自动化测试技术

探索性思维、兴趣、有责任感


我看你的简历上有较多的开发技能?你为啥要选择测试工作呢?你的优势在哪里?

有开发技能可以帮助我们更好的编写测试用例(不要抨击别人、抨击学校,这时面试的大忌)

二、软件测试的基础概念

2.1 需求

用户需求是五花八门的,描述是简略的。并且用户需求不一定是正确的、合理的,需要进一步的对用户需求进行提取和分析,所以用户需求不可以作为测试/开发工作的依据!!


软件需求才是进行测试/开发工作的的基本依据(产品经理写的软件需求文档)


2.2 测试用例

测试用例(Test Case) 是为了实际测试而向被测试的系统提供的一组集合,这组集合包括:测试环境、操作步骤、测试数据、预期结果;

测试人员在执行测试之前需要编写测试用例,测试用例的好坏与产品测试质量有很大的关联关系。

我们在测试的时候,光凭头脑风暴来进行随机的测试肯定是不行的,所以我们就需要根据提前编写好的测试用例来进行更完善的测

举例说明:

大家乍一看,可能就会觉得,这个测试用例很正常。
唯一缺点:就是不够详细。
是的,没有错!
测试用例,就如同 上图给标题一样“正确的用户名密码可以成功登录邮箱”,它是一个非常模糊 和 片面的说法。
而我们通过将其划分成 4 个部分,来将这个测试用例进行初步的划分,
而且,划分出的这几个部分,其实也是可以进行细分的!
划分成一个个测试点

 


在这里插入图片描述


3、BUG

BUG也叫做软件缺陷和软件错误;

准确的说:当且仅当规格说明(软件需求文档)是存在并且是正确的时候,程序与规格说明之间的不匹配才是错误BUG。

这个BUG可以来自前端、也可以是后端,甚至是来自产品经理写的需求文档。


三、生命周期

3.1 软件的生命周期

需求分析--》计划--》设计--》编码--》测试--》运营维护

分部解析说明:

需求分析:进行市场分析,这个需求量大不大?投入与盈利的占比?技术上 能否实现或者说实现的难度?

计划:什么时候开始?什么时候结束?过程耗时多少?

设计:将需求细化为一个一个的任务,进行计算设计(要用到哪些接口?采用什么框架?)

编码:开发人员参考需求文档和技术文档进行功能代码的编写;

测试:测试人员要参考测试用例来执行测试(注意测试用例是在测试前就编好的,要明白我们的测试是贯穿软件的整个生命周期的)

运行维护:修复性的维护(对项目中发现的问题进行修复)完善性维护(对功能进行完善)预防性维护(居安思危,为了避免产品在线上出现一些意想不到的问题,进行一些预防的手段)


3.2 软件测试的生命周期

软件测试是贯穿于软件整个生命周期的。

需求分析——》测试计划——》测试设计与开发——》执行测试——》测试评估;

测试计划:测试人员也需要编写测试计划文档——有多少测试人员,什么时候开始测试?

测试设计与开发:测试人员需求借助需求文档和技术文档来编写测试用例;


四、软件工程中的几种常见的开发模型

4.1 瀑布模型

执行步骤:

 特点:

  1. 不太重视测试,软件开发完成前不会进行测试(更看重前面的需求分析、计划、设计)
  2. 线性结构、一个阶段完成后才会进行下一步、效率不高
  3. 项目中的问题不能尽早的发现,很可能会错失解决问题的最佳时机。
  4. 需要保留足够的时间给测试、测试后置(瀑布模型的缺陷)
  5. 测试时间不够——》测试不充分——》暴露风险给用户
  6. 一个周期把所有的功能给完成——》一个可以运行的产品很晚才会给用户呈现

使用场景:因为不能够很好的迎接变化,使用与需求固定的小型项目

后面的模型都是在瀑布模型上进行了优化 ;


4.2 螺旋模型

螺旋模型:在瀑布模型的基础上进行 风险分析

在每个阶段都有风险分析这一步——》耗时耗力(成本好,团队需要风险分析方面的人才)

优点:
1、强调严格的全过程风险管理。
2、强调各开发阶段的质量。
3、提供机会检讨项目是否有价值继续下去。


缺点:
1、引入非常严格的风险识别、风险分析和风险控制,这对风险管理的技能水平提出了很高
的要求。这需要人员、资金和时间的投入。

使用场景:大项目

瀑布模型 和螺旋模型对变化的项目不太友好,不容易都项目进行及时更改


4.3 增量模型和迭代模型

增量模型:
将项目进行模块化,使其每个模块都能进行独立的编码测试和上线;
优势:产品能够加载较短时间内尽快的交付给用户去使用;

 迭代模型:
一期一期的进行迭代;
假如一个产品包含五个功能A、B、C、D、E;
增量模型要一个一个的开发这五个不同的模块,但迭代模型会先完成这5个功能的基础版本,会再经历一期一期的迭代优化(在迭代的过程还可接收用户的使用建议)使其功能越来越优秀。


4.4 敏捷模型

敏捷模型——2001年,以Kent Beck、Alistair Cockbum、Ward Cunningham、Martin Fowler等人为首的“轻量”过程派聚集在犹他州的Snowbird,决定把“敏捷”(Agile)作为新的过程家族的名称。
在会议上,他们提出了《敏捷宣言》http://agilemanifesto.org/: 我们通过身体力行和帮助他人来揭示更好的软件开发方式。经由这项工怍,我们形成了如下价值观:

  1. 个体与交互重于过程和工具;强调团队内部人员进可能的进行高效的沟通)
  2. 可用的软件重于完备的文档;(敏捷模型最终的标准就是:可交付的软件)
  3. 客户协作重于合同谈判
  4. 响应变化重于遵循计划

(在每对对比中,后者并非全无价值,但我们更看重前者)

敏捷宣言的特点:轻流程、轻文档、重目标、重产出;

敏捷开发有很多种方式,其中 scrum(敏捷开发) 是比较流行的一种

scrum中三个重要的角色:

  • 产品经理(收集用户需求,转变软件需求:开发时就是依赖软件需求来开发的,对产品负责)
  • 项目经理(推进项目的推进,为研发团队服务)
  • 研发团队:不同技能的成员组成;(开发,测试,前端,研发等等);

敏捷模型是一版一版进行迭代的;每个迭代模型为1---4周;

每日会议结束后的产物:可交付的软件
演示会议的产物:用户新的需求——》放到需求池中,下一次产品迭代再实现。 

五、软件工程中的测试模型

5.1 V模型

特点:明确了测试有不同的类型,并且每个类型和前期的开发工作之间有相对应的关系。

缺点:测试后置 


 5.2 W模型

W 模型,也称作双V模型。 

看图说话:就是两个 V 模型 组成的。

特点:

开发一个V,软件测试一个V【双卡双待】
换个说法:软件开发 和 软件测试 是 同步进行的。

这样做,就解决了 V 模型的缺陷:W模型能够及时发现,并处理前期出现的问题。

缺点:

它仍然是 串行执行的过程,它是不支持 需求的变化。
也就是说:W模型是不支持敏捷开发的。

总结

今天我们对测试有了一些初步的认识,了解了测试中的一些常见的使用方法;下一节我们将继续深入了解测试有关内容,我们下一节内容再见吧!!!!!!!!

 

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

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

相关文章

【Windows10】〖问题〗Win10默认应用Web浏览器设置里出现两个Microsoft Edge图标,如何删掉空白图标?

〖问题〗Win10默认应用Web浏览器设置里出现两个Microsoft Edge图标,如何删掉空白图标? 问题 出现原因: 空白那个应该是旧版edge,可能是因为你曾经升级最新版Chromium的edge时,旧版本的edge并没有被系统清除干净所…

spring security (史上最全)

认证与授权(Authentication and Authorization) 一般意义来说的应用访问安全性,都是围绕认证(Authentication)和授权(Authorization)这两个核心概念来展开的。 即: 首先需要确定用…

计算机组成原理——第七章输入输出系统(下)

还君明珠双泪目,恨不相逢未嫁时 文章目录 前言7.3.2 中断的作用和原理7.3.3 多重中断7.3.4 程序中断方式7.3.5 DMA 方式 前言 本节除了对时间的计算考察比较多之外,其他的方面也有考察,同时中断的考点在操作系统中也有考察,机组里…

〖Python网络爬虫实战⑯〗- 网页解析利器parsel

订阅:新手可以订阅我的其他专栏。免费阶段订阅量1000 python项目实战 Python编程基础教程系列(零基础小白搬砖逆袭) 说明:本专栏持续更新中,目前专栏免费订阅,在转为付费专栏前订阅本专栏的,可以免费订阅付…

【hello Linux】进程控制

目录 1. 进程创建 2. 进程终止 3. 进程常见的退出方法 4. 进程等待 5. 进程等待的方法 6. 获取子进程status Linux🌷 1. 进程创建 fork 函数初识 在 linux 中 fork 函数是非常重要的函数,它可以从已存在进程中创建一个新进程。 新进程便是我们所说的子进…

从0到1搭建react 工程化前端项目

一、npm init 初始化包管理 1.在使用该命令之前,创建一个文件夹,例如:reactDemo2.使用在电脑终端命令行工具中,找到1创建的文件夹,并转到改文件夹指定目录;3.执行 npm init4.如图所示: 5.执行命…

云看消博会:政策、技术、玩家造就的数字化革命

配图来自Canva可画 会展作为展示地域经济、文化、技术等软硬实力的最佳舞台,在塑造城市品牌形象、加速地域经济发展中发挥着重要的促进作用。近几年,在数字经济浪潮的推动下,会展产业走上了网联化、数字化、智能化的道路,催生了不…

上货避坑指南 私域上货选品工具 无货源选品上货 采集商品详情数据API分享 详情图 sku信息

电商开店之后,第一件事就是上货了,上货其实也是有技巧的。 上传商品时我们一定要注意细节,不可忽略一些重要细节,所以商家们在上传商品前,不可忽略是否预售、标题、主图、详情页、保证金、上架时间这几个细节。 详情…

PHP实现输入数值计算幂次,输入工资,判断个人所得税的金额这两个程序的代码

目录 前言 一、输入数值计算幂次 1.1运行流程(思想) 1.2代码段 1.3运行截图 二、输入工资,判断个人所得税的金额 2.1运行流程(思想) 2.2代码段 2.3运行截图 前言 1.因多重原因,本博文有两个代码程…

【动手学深度学习】使用块的网络(VGG)

使用块的网络(VGG) 本文为李沐老师《动手学深度学习》一书的学习笔记,原书地址为:Dive into Deep Learning。 另,给自己练习时没有gpu资源的小伙伴推荐下kaggle数据科学网站,每周免费训练时长30h。 1 网络结…

Compose TextField

TextField​ Composable fun TextField(value: String,onValueChange: (String) -> Unit,modifier: Modifier Modifier,enabled: Boolean true,readOnly: Boolean false,textStyle: TextStyle LocalTextStyle.current,label: Composable (() -> Unit)? null,place…

unity,物理材质2d

介绍 2D物理材质(Physics Material 2D)是Unity中用于设置2D游戏对象的物理特性的一种方式。2D物理材质可以控制2D游戏对象的摩擦力、弹性系数等物理属性,从而影响其在物理引擎中的运动行为。以下是2D物理材质的详细介绍: 方法 摩擦力 2D物理材质的主要…

Qt+FFmpeg简单实现录屏并保存为MP4视频

一、前言 最近需要实现一个录屏功能,网上查了好多资料,最可靠的方案当然还是用FFmpeg实现,但是也踩了很多坑,包括FFmpeg版本问题,vs2019里相关编译问题,FFmpeg也不太熟悉,很多代码不太容易看懂&…

springboot+vue学生毕业离校系统(源码+说明文档)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的学生毕业离校系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 💕💕作者:风…

Flutter Android问题记录 - 升级Android Studio 2022.2.1版本后运行项目报错

文章目录 前言开发环境问题描述问题分析解决方案补充内容最后 前言 最近一个Flutter项目有新需求,开发时一直是在iOS设备上运行,花了几天做完后运行到Android设备测试,结果项目构建失败了。 开发环境 Flutter: 3.7.11Android Studio: 2022…

java工程师前景分析

本篇文章主要讲解java工程师的职业就业环境及职业剖析 作者:任聪聪 日期:2023年4月18日 java工程师目前属于很饱和的一个岗位(2023年4月18日),但也会伴随劳动市场的变化出现不饱和的情况的。 实际上对于想入行it行业的…

PHP下的MySQL的基础学习

文章目录 一、MySQL LIKE 子句二、MySQL UNION 操作符三、MySQL 排序四、MySQL GROUP BY 语句五、MySQL 连接的使用总结 一、MySQL LIKE 子句 我们知道在 MySQL 中使用 SQL SELECT 命令来读取数据, 同时我们可以在 SELECT 语句中使用 WHERE 子句来获取指定的记录。…

virsh dump 内核转储 crash 分析swapper内核进程

为了节约时间&#xff0c;虚拟机配置4G内存&#xff0c;避免dump时间过长、文件过大 <memory>4194304</memory><currentMemory>4194304</currentMemory> //memory这两个值最好设成一样<vcpu>4</vcpu>vnc登录虚拟机 编写一个CPU消耗程序a.…

Word控件Spire.Doc 【字体】教程(1):在 Word 中更改字体颜色

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下&#xff0c;轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具&#xff0c;专注于创建、编辑、转…

【AI生产力工具】ChatPDF:将 PDF 文档转化为交互式阅读体验的利器

文章目录 简介一、ChatPDF 是什么&#xff1f;二、ChatPDF 的优势三、ChatPDF 的应用场景四、如何使用 ChatPDF&#xff1f;五、结语 简介 随着数字化时代的发展&#xff0c;PDF 文件已经成为了日常工作和学习中不可或缺的一部分。然而&#xff0c;仅仅将 PDF 文件上传或下载并…