测试第一课-------认识以及概念

作者前言

🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂
​🎂 作者介绍: 🎂🎂
🎂 🎉🎉🎉🎉🎉🎉🎉 🎂
🎂作者id:老秦包你会, 🎂
简单介绍:🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂🎂
喜欢学习C语言、C++和python等编程语言,是一位爱分享的博主,有兴趣的小可爱可以来互讨 🎂🎂🎂🎂🎂🎂🎂🎂
🎂个人主页::小小页面🎂
🎂gitee页面:秦大大🎂
🎂🎂🎂🎂🎂🎂🎂🎂
🎂 一个爱分享的小博主 欢迎小可爱们前来借鉴🎂


什么是测试

生活中处处存在测试,比如我们的购买衣服:
外观测试:初筛选,⾛进⻔店,先挑⾐服,测试是否存在符合个⼈审美的⾐服
试穿测试:选择尺码,测试试穿之后⾐服对个⼈的外观是否有提升
⾯料测试:纯棉、涤纶、布料…
价格测试:询价,⼼理预期是300以下

软件测试

企业最终的⽬的是“盈利”,互联⽹企业借助软件/系统来跟⽤⼾交互从⽽获得盈利,也就是说企业的受众群体主要是⼴⼤的使⽤⽤⼾,⽽⽤⼾的使⽤感受将直接影响企业的盈利,若产品质量太差将导致
⼤量⽤⼾的流失,所以企业⾮常重视测试。
软件测试就是验证软件产品特性是否满⾜⽤⼾的需求

测试岗位的划分

主要分为两种:测试工程师。软件测试开发工程师;
软件测试开发⼯程师和测试⼯程师的区别
相同点:
1.都统称为测试⼈员
2.对产品质量负责,保障产品的质量
不同点:
测试开发⽐测试多“开发”⼆字,⽽这个开发并不是指业务开发,因为业务开发是开发⼈员的主要职责,这⾥的开发指的是需要开发测试效率⼯具,通过效率⼯具来提升测试效率和测试质量,⽐如我们的⾃动化、性能测试等就属于效率⼯具 。

测试人员主要中心:业务测试

常见的面试题

1.⾛测试岗位为什么还要学习开发知识?
(1)测试⼈员也需要编写代码,如⾃动化测试、性能测试、开发测试效率⼯具等。测试⼈员
需要能够看懂代码、了解开发框架。
(2)学好开发知识能够提⾼软件测试质量。通过查看代码中数据的⾛向能够更好的从代码层
⾯去发现问题。
2.为什么⾛测试岗位⽽不⾛开发岗位?
回答思路:从岗位⼯作性质分析+个⼈性格/爱好+个⼈职业规划三个⽅⾯阐述。
(1)个⼈兴趣爱好:从性格和兴趣出发,测试⼯作需要测试⼈员具备良好的耐⼼、细⼼,接
触了测试内容后对测试⼯作产⽣浓厚兴趣
比特就业课
(2)岗位性质:不管是测试还是测试开发都统称为测试⼈员,测试⼈员主要以保障项⽬测试
质量为主,通过开发⼀些测试效率⼯具(⽐如我们学的⾃动化就是效能⼯具,除此之外还有内存泄漏⼯具等等)来提⾼测试效率。⽽软件开发主要以业务编码为主。
(3)个⼈职业规划:⼤学期间就树⽴了⾛测试⽅向的⽬标,今后将继续提⾼测试和开发能⼒,争取在测试领域做出⼀番有影响⼒的事务

需求概念

一般分为用户需求和软件需求

用户需求

可以简单理解为甲⽅提出的需求,如果没有甲⽅,那么就是终端⽤⼾使⽤产品时必须要完
成的任务。该需求⼀般⽐较简略,通常是⼀句话;

软件需求

或者叫功能需求,该需求会详细描述开发⼈员必须实现的软件功能。软件需求是测试⼈员进⾏测试⼯作的基本依据。

开发模型

什么是“模型”

这个模型并不是我们所看见的模具。而是随着时代的变迁,而不断演变出来的工作流程
软件⼯作的范围不仅仅局限在程序编写,⽽是扩展到了整个软件⽣命周期,如软件基本概念的形成、需求分析、设计、实现、测试、安装部署、运⾏维护,直到软件被更新和替换新的版本。软件⼯程还包括很多技术性的管理⼯作,例如过程管理、产品管理、资源管理和质量管理,在这些⽅⾯也逐步地建⽴起了标准或规范。

所以更加具体的就是,软件的生命周期就是软件的开发模型

软件的生命周期

⽣命周期指的是从⽣命的开始到⽣命结束的⼀段时间。以⼈为例,⼈类的⽣命周期是从⽣命孕育的开始,中间会经历幼年,童年,少年,⻘年,⽼年,最终直⾄死亡。

⽽软件/产品的⽣命周期也是如此,需求的开始是软件⽣命的起点,中间会经历需求的计划、设计,程序开发,程序测试等阶段,直⾄软件不再进⾏维护便到了⽣命的终点。
就好比我们建房子:
需求分析:为什么要建房⼦?商品房还是普通住宅?建造100层技术上是否可⾏?明确合理的建房⽬标 。

计划:什么时候开发建房⼦?计划竣⼯时间?多久可以交房 计划好时间 。

设计:建房前明确流程:先打地基,做基础框架,砌墙、粉刷、⽔电⼯程…设计好具体的建房流程 。

编码按照前⾯的流程和时间实施建房中… 施⼯中 ,房屋建造完成。

测试:开发商验收成果、买家验收房⼦品质(房⼦是否牢固,是否漏⽔及其他偷⼯减料的地⽅,是否按照规定来建造的)检查房屋建造结果 。

运⾏维护:检查结束开始逐步⼊住,使⽤中出现了各种情况如房屋漏⽔、墙⾯掉⽪、下⽔道堵塞等问题,⼀边使⽤⼀边找物业修理使⽤并及时维护 。
因此,我们就得到了软件(开发)的⽣命周期
需求分析⸺计划⸺设计⸺编码⸺测试⸺运⾏维护

常见的开发模型

瀑布模型

在这里插入图片描述
优点:瀑布模型在软件⼯程中占有重要地位,是所有其他模型的基础框架。瀑布模型的每⼀个阶段都只执⾏⼀次,因此是线性顺序进⾏的软件开发模式
缺点(1)周期太⻓,产品很迟才能被看到和使⽤,可能会导致需求/功能过时
(2)前⾯各阶段遗留的⻛险推迟到测试阶段才被发现,导致项⽬⼤⾯积返⼯,失去了及早修复的机会。必须留有⾜够的时间给测试活动,否则导致测试不充分,将缺陷直接暴露给⽤⼾(产品质量差)
应用场景:需求固定的⼩项⽬

螺旋模型

⼀般在软件开发初期阶段需求不是很明确时,采⽤渐进式的开发模式。螺旋模型是渐进式开发模型的代表之⼀。
在这里插入图片描述

在这里插入图片描述

优点:这个螺旋模型前面阶段都引入了风险分析和原型,可以减少前面阶段遗留的风险问题,避免把问题留到后面阶段。
适⽤场景:规模庞⼤、复杂度⾼、⻛险⼤的项⽬。-
缺点:项目的风险性和风险管理人员的技能水平挂钩,还需要增加人力物力的投入。

增量模型和迭代模型

增量模型
在这里插入图片描述

这个模型主要就是把需求分成多个小份,每个小需求独立开发上线,可以理解为,画一个人,分工合作,分别画手、脚…等

而迭代模型在原来的基础上不断进行优化上线,迭代模型是先画整体轮廓,再勾勒出基本雏形,再细化、着⾊.

现在这两个模型是一起使用的,不会分开
适⽤场景:⼤型项⽬,需求不明确

敏捷模型

在早期,迭代瀑布模型⾮常流⾏来完成⼀个项⽬。但是现在开发⼈员在使⽤它开发软件时⾯临着各种各样的问题。主要困难包括在项⽬开发期间处理来⾃客⼾的变更请求以及合并这些变更所需的⾼成本和时间。
敏捷模型主要旨在帮助项⽬快速适应变更请求。因此,敏捷模型的主要⽬的是促进项⽬的快速完成
过敏捷宣⾔可以总结出敏捷模型的四个特点轻⽂档,轻流程,重⽬标,重产出

Scrum是敏捷模型中的⼀种,⼜称为迭代式增量软件开发模型
这个模型有三个角色五个会议;三个角色如下:
scrum由product owner(产品经理)、scrum master(项⽬经理)和team(研发团队)组成。
• 其中product owner负责整理user story(⽤⼾故事),定义其商业价值,对其进⾏排序,制定发布
计划,对产品负责。
• scrum master负责召开各种会议,协调项⽬,为研发团队服务。
• 研发团队则由不同技能的成员组成,通过紧密协同,完成每⼀次迭代的⽬标,交付产品。

迭代开发
与瀑布不同,scrum将产品的开发分解为若⼲个⼩sprint(迭代),其周期从1周到4周不等,但不会超过4周。参与的团队成员⼀般是5到9⼈。每期迭代要完成的user story是固定的。每次迭代会产⽣⼀定的交付。

scrum的基本流程如上图所⽰:
• 产品负责⼈负责整理user story,形成左侧的product backlog。
发布计划会议:product owner负责讲解user story,对其进⾏估算和排序,发布计划会议的产出就是制定出这⼀期迭代要完成的story列表,sprint backlog。
迭代计划会议:项⽬团队对每⼀个story进⾏任务分解,分解的标准是完成该story的所有任务,每个任务都有明确的负责⼈,并完成⼯时的初估计。
每⽇例会:每天scrum master召集站⽴会议,团队成员回答昨天做了什么今天计划做什么,有什么
问题。
演⽰会议:迭代结束之后,召开演⽰会议,相关⼈员都受邀参加,团队负责向⼤家展⽰本次迭代取得的成果。期间⼤家的反馈记录下来,由po整理,形成新的story。
回顾会议:项⽬团队对本期迭代进⾏总结,发现不⾜,制定改进计划,下⼀次迭代继续改进,以达到持续改进的效果

测试模型

测试模型中有两个⾮常重要且具有标志性的测试模型:V模型和W模型
V模型:
在这里插入图片描述
明确的标注了测试过程中存在的不同类型的测试,并且清楚的描述了这些测试阶段和开发过程期间各阶段的对应关系,有效提升测试的质量和效率。
• V模型指出:
◦ 单元和集成测试应检测程序的执⾏是否满⾜软件设计的要求;
◦ 系统测试应检测系统功能、性能的质量特性是否达到系统要求的指标;
◦ 验收测试确定软件的实现是否满⾜⽤⼾需要或合同的要求
缺点:仅仅把测试作为在编码之后的⼀个阶段,未在需求阶段就介⼊测试。缺点同瀑布模型。

W模型(双V模型)
在这里插入图片描述
W模型增加了软件各开发阶段中应同步进⾏的验证和确认活动。W模型由两个V字型模型组成,分别代表测试与开发过程,图中明确表⽰出了测试与开发的并⾏关系。
特点:测试的对象不仅是程序,需求、设计等同样要测试,测试与开发是同步进⾏的。
优点
• 有利于尽早地全⾯的发现问题。例如,需求分析完成后,测试⼈员就应该参与到对需求的验证和确认活动中,以尽早地找出缺陷所在。同时,对需求的测试也有利于及时了解项⽬难度和测试⻛险,及早制定应对措施,显著减少总体测试时间,加快项⽬进度。
缺点
• 需求、设计、编码等活动被视为串⾏的;
• 测试和开发活动也保持着⼀种线性的前后关系,上⼀阶段完全结束,才可正式开始下⼀个阶段⼯作。
• 重流程,⽆法⽀持敏捷开发模式。对于当前软件开发复杂多变的情况,W模型并不能解除测试管理 ⾯临着困惑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老秦包你会

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值