初认识测试

前言

什么是测试,测试在我们的生活中随处可见,比如你要买一件衣服,首先你可能是因为这件衣服的样式吸引了你,这其实就是外貌测试,然后呢,你就询问这件衣服的品质,看是不是你的需求,这是品质测试,最后呢,你肯定会询问衣服的价格,看价格在不在你的预算以内,这也是价格测试。也就是说,其实测试就是用来检验一个产品符不符合你的需求。

为什么要有测试:

首先要明白,企业都是要盈利的,像如果我们开发一个app,不经过任何测试就直接投入使用,用户在使用这个app时频繁的出现问题,那么相信不会再有用户来使用你这个app,而测试,就是保证我们这个app的质量,提高用户的满意度。

软件测试

软件测试是测试一个产品的产品特性(如功能,性能等各个方面)是否满足用户的一个需求。

大多数企业都有测试岗位,测试是一个统称,主要的呢有下面两种

1.软件测试开发工程师:测试业务,开发效率工具(提高测试质量和效率)

2.测试工程师:测试业务

这两种岗位核心都是业务测试,只不过测开需要我们自己开发一些效率工具

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

1)开发是指开发业务代码, 软件测试核心是对业务进行测试

比如公司的一个app要求新增一个收藏功能模块,让用户能够看到自己收藏的内容,这时候我们需要开发这个收藏功能,当点击这个收藏功能时,就调用数据库中相关的数据,而测试人员呢就对这一功能进行测试,就是我们点击之后它能不能进行一个跳转,看它能不能对数据库中的内容进行一个调用。

2)难度方面呢,我们来看看开发和测试要学习的内容:

因为测试人员要对开发的业务进行测试,也需要写代码,比如自动化测试,性能测试等等,所以我们要掌握开发的知识和框架。

3)测试人员和开发人员的沟通交流是很多的

4)测试是贯穿软件开发的整个生命周期的,比如软件开发前,我们要了解这个产品的需求,过程中也要测试软件是否会出错,有bug这些,软件上线后也要不断的进行测试。

自动化测试 :自动化测试能够帮助我们自动执行一些测试内容一样的测试。

主要有接口自动化和前端自动化。
测试用例 :测试用例是用来检验产品质量的,同时设计测试用例也是面试/笔试的必考题。

什么是需求

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

1.用户需求:是指没有进行合理的评估,通常只是一句话(比如开发一个购物软件)
2.软件需求:也叫做功能需求,根据用户需求详细的描述出软件需要开发人员实现的软件功能

注意

1.只有用户的需求进行合理的评估之后,才能够转化为我们的软件需求 ,(如果我们评估之后发现用户的需求是无法实现的,那么我们也就不可能开发出这样的一个软件功能去实现它)

2.软件需求是开发人员和测试人员进行开发和测试的依据,有了软件需求,才能进行开发和测试工作。

对比一下用户需求和软件需求:

开发模型:

在认识开发模型之前,我们首先要知道软件的生命周期,就像人的生命周期一样,软件的开发也是有生命周期的,软件的生命周期就是开发模型。

软件的生命周期:

1.需求分析:分析用户的需求,将其转化成我们的软件需求

2.计划:规划出每个角色所完成其任务的时间(比如完成开发任务的时间,完成测试任务的时间以及软件的上线时间等等)

3.设计:每个角色设计出自己的流程

4.开发:实现软件的功能

5.测试:测试软件功能,保证产品质量

常见的开发模型
瀑布模型 :同软件的基础生命周期一样。

特点

1.每个流程只执行一次

2.线性的开发流程

缺点 :1.产品上线很慢,可能导致上线后不在适合当时的时代,导致盈利少或者说是不盈利 2.如果在测试阶段出现问题了,很有可能导致整个项目重新返项(比如测试阶段发现功能不符合需求,那么就要层层追溯,最后重新进行需求分析)

为了解决上述在测试阶段可能出现问题导致返工的问题呢,又提出了一个螺旋模型
螺旋模型

特点

每到一个流程之前呢都进行风险分析和引入原型

1.风险评估:评价方案,识别风险,清楚风险

2.原型:原型是需求被开发完成之后的一个模型,是一个可运行的、简化的软件版本。

那么螺旋模型是个怎么样的流程呢:

首先根据用户需求开发一个可运行的简易软件,也就是原型,接着对这个原型进行风险分析,判断用户需求合不合理。然后进行下一阶段,对需求分析进行风险分析,没问题,则生成一个新原型,有问题,则优化需求分析,然后再生成一个新原型,以此类推,直到设计也没问题生成一个可运行原型,然后开发和测试根据这个可运行原型来进行编码和开发。

增量模型

特点:将一个需求分成多个小需求,每个小需求独立实现
迭代模型

特点是先开发出基础的功能,然后再不断的完善

敏捷模型

在实际工作中,用户可能在我们开发软件的过程中提出新的需求,如果使用上述模型进行开发流程,就会导致一旦需求变化,所有的工作就得从头开始,这是需要巨大的成本和时间的。为了解决这一缺点,所以提出了敏捷模型
特点

1)将一个需求分解为多个小功能,每个功能都快速的上线,之后再进行迭代优化,所以敏捷模型也被称做迭代式增量模型

2)能够快速适应需求的变化,快速的实现我们的软件项目

这里的敏捷模型只是一个统称,下面还有具体的敏捷模型
Scrum模型

Scrum是敏捷模型中的⼀种,⼜称为迭代式增量软件开发模型。
迭代开发:

Scrum模型将功能的开发分为多个小迭代,通常持续一周到四周,每次迭代都有需求,且需求是固定的,同时每次迭代结束都要有软件交付。

其中需要我们掌握的是Scrum模型的"三个角色,五大会议"
三个角色

1.产品经理:负责收集用户的需求,对用户的需求进行评估和排序,形成产品需求列表。

2.项目经理:开展各种会议,项目的协调工作

3.研发团队:由不同技能的人员组成,完成每一次的迭代开发,交付产品

五大会议

首先,产品负责人收集用户的需求,列出一个产品需求表。
发布计划会议 :产品负责人对产品需求表里的需求进行合理的评估,然后进行排序,确定本次迭代要实现的需求列表。
迭代计划会议 :对发布计划会议确定的每一个需求进行任务拆解,也就是需求分析,计划等任务,同时给出每个任务开始和结束的时间和对应的负责人(比如测试负责人------测试人员)
每日会议 :团队成员按照任务开展自己的工作,在迭代周期内,每天都要进行会议,主要说明三个问题:1.昨天做了什么。2.今天要做什么。3.遇到了哪些问题
演示会议 :迭代周期结束后,对本次迭代取得的成果进行演示,然后收取反馈,需求等等
回顾会议::项⽬团队对本期迭代进⾏总结,发现不⾜,制定改进计划,下⼀次迭代继续改进,以达到持续改进的效果

这就是Scrum模型的流程

相关推荐
甜甜圈圈子9 小时前
从传统测试到敏捷测试:你必须跨越的7大难关!
测试
智擎软件测评小祺2 天前
渗透测试报告关键模块拆解
网络·web安全·渗透测试·测试·检测·cma·cnas
智擎软件测评小祺2 天前
渗透测试报告撰写:漏洞发现到验证流程
网络·渗透测试·测试·cma·第三方检测·cnas·渗透测试报告
jaycyj3 天前
Web端抓包工具操作与应用
测试
神秘的t4 天前
抽奖系统测试报告
测试
阳光普照世界和平5 天前
单元测试工具现状及实现思路探析
测试·软件质量
jaycyj5 天前
Web项目功能测试用例实战
测试
智擎软件测评小祺5 天前
从报告看懂安全隐患,提升防护能力
安全·web安全·渗透测试·测试·检测·cma·cnas
独断万古他化6 天前
AI 赋能自动化测试实战:从用例生成到 CI/CD 全流程落地
人工智能·ci/cd·测试