【测试学习二】软件测试&&开发模型与测试模型&&软件测试模型

目录

一、了解软件测试

🌈1、什么是软件测试

🌈2、软件测试与开发的区别(常考)        

🌈3、一个优秀的软件测试人员应该具备的素质

二、需求与测试用例、软件错误,软件生命周期

🌈1、需求是什么?

🌈2、从测试人员角度看需求

🌈3、什么是测试用例?(重要)

🌈4、什么是软件错误(BUG)?

🌈5、软件的生命周期?

三、开发模型与测试模型(重要)

🌈1、瀑布模型(Waterall  Model)

🌈2、螺旋模型(Spiral Model)

🌈3、增量,迭代

🌈4、敏捷(重要!)

四、软件测试模型

🌈1、软件测试V模型

🌈2、软件测试W模型


一、了解软件测试

🌈1、什么是软件测试

        测试是一个过程,这个过程是由测试人员来验证软件的特性是否符合需求。特性包括:功能相关和非功能相关。最常见的理解就是:软件测试就是找UG,发现缺陷。软件测试只是一个样本试验,具有不可穷尽性。

🌈2、软件测试与开发的区别(常考)        

开发测试
工作内容利用编程语言开发软件理解需求,设计测试用例,执行测试,发送测试报告
技能要求深度要求广度要求
发展前景初级开发-中级开发-高级开发-架构师-CTO初级测试-中级测试-高级测试-项目经理/产品经理
薪资待遇/中小企业总体小于开发,大企业基本和开发持平

❓问题1:软件测试与调试的区别?

1)执行阶段不同:测试在前。测试在开发没有写代码的时候就已经在测试了。测试贯穿整个生命周期。调试是在开发写出来部分或者整体代码才进行,调试一般发生在开发阶段。

(2)参与角色不同:测试时测试人员和开发人员一起。黑盒测试主要由测试人员完成,单元/集成测试主要由开发人执行。 -调试则由开发人员执行。

(3)目的不同:调试:发现问题并解决;测试则发现问题。

(4)手段区别:调试:Debug+代码逻辑; 测试:根据各种方法:等价类划分,边界值法,判定表法...

🌈3、一个优秀的软件测试人员应该具备的素质

        (1)技能相关:掌握自动化测试技术,有一定的编程能力,优秀的测试用例设计能力;

        (2)非技能相关:沟通能力,快速学习的能力,开发能力,文字能力,探索性思维,兴趣,有一定的抗压力,责任感等。

二、需求与测试用例、软件错误,软件生命周期

🌈1、需求是什么?

        需求主要分为:用户需求和软件需求。

        (1)用户需求:简单理解为是甲方提出的需求。如果没有甲方,那么就是指在终端用户使用产品的时候必须要完成的任务。这种需求一般比较简略。

        (2)软件需求:又叫做:功能需求。一般在进行软件开发的时候会把用户需求转换为软件需求,软件需求是开发人员和测试人员工作的直接依据。一般会有一个软件需求规格说明书。

🌈2、从测试人员角度看需求

        为什么说需求是测试人员开展软件测试工作的依据?

        在具体设计测试用例的时候,首先需要搞清楚每一个业务需求对应的多个软件功能需求点,然后分析出每个软件需求功能点对应的多个测试需求点,最后针对每个测试需求点设计测试用例。可以总结为:业务需求——>软件功能需求点——>测试需求点——>设计测试用例。

        以用户登录功能为例,主要分解为以下过程:

❓ 问题2:为什么需求对测试人员这么重要?

       (1) 从软件功能需求出发,需要无遗漏的识别出测试需求是至关重要的,这直接关系到用例的测试覆盖率

       (2)对于识别出的每个测试需求点,都需要采取具体的设计测试用例的方法来进行测试用例的设计。        

🌈3、什么是测试用例?(重要)

        (1)测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合,这组集合包括:测试环境,操作步骤,测试数据,预期结果等。测试用例解决了两大问题:测什么,怎么测。       

        🌰一个简单的测试用例:用户注册成功

步骤动作:期望的结果:
进入注册页面,选择注册系统展示出注册页面
输入符合要求的个人姓名,邮箱,性别,密码,确认密码,同意协议书,提交注册信息。系统进行注册操作,发送激活邮箱,注册成功后,跳转到注册成功页面。
用注册的邮箱和密码,进行登录功能登录成功,系统展示欢迎界面
测试方式手工
重要程度非常重要
测试环境CHROME,IE10+
测试前提系统运行正常,邮件服务器已经开启
功能模块注册登录

 那么测试用例有什么作用呢?

          在测试过程中,可能会因为没有全面的了解所有功能,所以测试的覆盖率无法衡量。对新版本的重复测试很难实施,并且存在大量的冗余测试而影响了测试效率。而设计测试用例就可以解决以上问题。

  • 测试用例可以保证测试质量;
  • 测试用例是测试人员执行测试的重要工作依据;
  • 测试用例是自动化实施的重要依据;
  • 测试用例可以降低工作人员的工作重复性。

🌈4、什么是软件错误(BUG)?

        准确的来说:当且仅当规格说明是存在的并且是正确的,但是程序与规格说明之间不匹配那就说明出现了软件错误。如果说需求规格说明书中没有提到的功能,判断标准以最终的用户为准:当程序没有实现其最终用户合理预期的功能需求时,就是软件错误。

🌈5、软件的生命周期?

        软件的生命周期指的是软件产品从设想到不再使用而结束的时间。主要分为6个阶段:需求分析——>计划——>设计——>编码——>测试——>运行维护。

解释:        

        (1)需求分析:分析需求是否合理,需求是否完整;

        (2)计划:就是指这个项目由谁来开发,由谁来测试,什么时候开发结束,什么时候测试结束,什么时候产品上线等;

        (3)设计:开发人员来设计项目底层如何实现,要输出一个技术文档(详细的记录了在软件技术上如何实现,接口,库表,定时任务,mq等);测试人员设计测试用例;UI设计师:将需求文档转换为图片,做UI设计稿等;

        (4)编码:开发人员开始开发软件,测试人员设计测试用例;

        (5)测试:执行测试,提交BUG,验收BUG;

        (6)运行维护:将项目推到线上,如果发现线上BUG,则进行修复后重新上线。

三、开发模型与测试模型(重要)

🌈1、瀑布模型(Waterall  Model)

特点:瀑布模型是一个线性模型。主要特点是每一个阶段只执行一次。

优点:每个阶段做什么事情都非常明确。

缺点:测试人员介入需求太晚,以至于如果有问题发现的时间也太晚。如果发现了问题,需要不断的回溯向前找问题。

适用于较小的项目。

🌈2、螺旋模型(Spiral Model)

        一般在软件开发初期阶段需求不是很明确的时候,采用渐进式的开发模式。螺旋模型是代表之一。

特点:每一次实施之前都要进行风险分析。

优点:风险分析可以避免一些未知的问题。

缺点:一旦风险分析出现错误就会带来损失,因此风险分析需要一定的成本。

对于规模庞大,复杂度高,风险大的项目。

🌈3、增量,迭代

        增量开发能显著降低项目风险,结合软件持续构建机制,构成了当今流行的软件工程最佳实践之一。增量开发模型,鼓励用户反馈,在每个迭代过程中,促使开发小组以一种循环的、可预测的方式驱动产品的开发。因此,在这种开发模式下,每一次的迭代都意味着可能有需求的更改、构建出新的可执行软件版本,意味着测试需要频繁进行,测试人员需要与开发人员更加紧密地协作。

        增量通常和迭代混为一谈,但是其实两者是有区别的。增量是逐块建造的概念,例如画一幅人物画,我们可以先画人的头部,再画身体,再画手脚……而迭代是反复求精的概念,同样是画人物画,我们可以采用先画整体轮廓,再勾勒出基本雏形,再细化、着色。

🌈4、敏捷(重要!)

敏捷宣言

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

(1)scrum里面的角色

        scrum主要由product owner(PO)产品经理, scrum master(SM)项目经理、team研发团队(开发RD,测试QA)组成。

  • product owner负责整理user story(用户故事),定义其商业价值,对其进行排序,制定发布计划,对产品负责。
  • scrum master 负责召开各种会议,协调项目,为研发团队服务。
  • 研发团队由不同技能的成员组成,通过紧密协同,完成每一次迭代的目标,交付产品。

(2)scrum的基本流程

        迭代开发:scrum会将产品的开发分解为若干个小sprint(迭代),周期从1周到4周不等,但一般不会超过4周。参与的团队人数一般是5人-9人。每周期要迭代完成的user story是固定的。每次迭代会产生一定的交付。

scrum的基本流程如下: 

四、软件测试模型

🌈1、软件测试V模型

特点: 线性的。左边是开发,右边是测试。

优点:每个阶段干什么事情非常清晰。同时测试被划分成许多类型。

缺点:测试人员介入太晚,测试和开发是并行的。

🌈2、软件测试W模型

特点:W模型增加了软件各开发阶段中应同步进行的验证和确认活动。W模型由两个V字型模型组成:开发一个V,测试一个V。

优点:测试人员早早介入了需求,测试与开发是同步进行。有利于尽早地全面的发现问题。

缺点:不能拥抱变化,意味着不能适用于敏捷。需求、设计、编码等活动被视为串行的;测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一个阶段工作。无法支持敏捷开发模式。


        周末啦😁继续努力鸭~

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值