0


软件测试基本概念

1.什么是需求?

满足用户期望或者正式规定文档的所具有的条件和权能,包含用户需求软件需求

用户需求:终端用户使用产品必须要完成的任务,需求一般比较简单

软件需求:也叫功能需求,会详细描述开发人员必须实现的软件功能

需要对用户需求进行市场可行性技术可行性分析

需求是测试人员开展软件测试的依据

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

2.什么是bug

当且仅当规格说明书是存在并正确,程序与规格说明之间不匹配才是错误

当需求规格说明书没有提到的功能,判断标准以最终用户为准,当程序没有实现其最终用户合理预取的功能要求时,就是软件错误

3.软件的生命周期

分为6个阶段:需求分析、计划、设计、编码、测试、 运行维护

需求分析: 分析用户需求是否合理(市场分析,技术可行性分析),产出软件需求文档

计划: 制定需求执行计划,产出计划文档

设计: 将需求细化成一个个任务,进行技术设计(设计哪些接口,采用哪些技术),产出设计文档

编码: 开发人员 按照需求文档和设计文档进行编码

测试: 测试人员使用测试用例在执行测试

运行维护: 项目上线之后对产品进行线上的维护

修复性维护: 对项目中遗留的问题进行修复

完善性维护: 对功能进行完善

预防性维护: 避免产品在线上出现一些其他的问题,使用一些预防的手段

4.软件测试用例

为了实施测试而想被测试的系统提供的一组集合。包含测试环境,操作步骤,测试数据,预期结果等要素

可以使用思维导图来辅助编写测试用例

为什么要设计测试用例?

围绕着软件需求来设计测试用例

解决了重复测试问题,避免测试用例用后即弃

5.开发模型

1.瀑布模型

特点:线性的开发流程

缺陷:测试被后置。风险往往延迟到后期测试阶段才暴露,失去了及早纠正的机会;没有足够的时间预留个测试活动,否则将导致测试不充分,从而把缺陷遗留给用户;不能应对需求的变化

瀑布模型是所有其他模型的基础框架

适用场景:需求固定的小项目

2.螺旋模型

螺旋模型引入全流程的风险分析,每次分析完成之后都会生成一个新的模型

相当于在瀑布模型的每步中加入了风险分析

螺旋模型适用于规模庞大,复杂度高,风险大的项目

缺点: 花费的时间较长,比较耗费人力和资金。

3.增量模型

一共有5个需求,每开发完一个功能就直接上线给用户使用,直到5个功能全部实现

迭代模型

先开发一个基础版本,包含了全部的功能,但是功能比较简陋。接下来会在后续版本上对功能进行优化

迭代模型和增量模型的区别:

增量模型:先画头,再画四肢,再画身体

迭代模型:先画一个火柴人,再给火柴人加上细节

4.敏捷模型

特点:轻流程,轻文档,重目标,重产出

scrum

三个角色和五个会议

三个角色:产品经理,项目经理。研发团队

    产品经理:收集用户需求,编写需求文档,对产品负责的认

    项目经理:负责召开各种会议,协调项目,为研发团队服务

    研发团队:包括开发人员,测试人员,ui设计人员等

五个会议:

    发布计划会议

    迭代计划会议

    每日例会

    演示会议:演示产品的功能,应该如何操作

    回顾会议:

scrum基本流程图

产品负责人负责整理user story,形成左侧的product backlog。

发布计划会议:product owner负责讲解user story,对其进行估算和排序,发布计划会议的产出就是制定出(产品经理冲需求池中选取几个需求,开展发布计划会议)

这一期迭代要完成的story列表,sprint backlog

迭代计划会议:项目团队对每一个story进行任务分解,分解的标准是完成该story的所有任务,每个任务都有

明确的负责人,并完成工时的初估计。

每日例会:每天scrum master召集站立会议,团队成员回答昨天做了什么今天计划做什么,有什么问题。(通常为站会,快速讨论几个问题,及时了解项目进度,预知和规避风险)产出物:可交付的软件

演示会议:迭代结束之后,召开演示会议,相关人员都受邀参加,团队负责向大家展示本次迭代取得的成果。期间大家的反馈记录下来,由po整理,形成新的****story

回顾会议:项目团队对本期迭代进行总结,发现不足,制定改进计划,下一次迭代继续改进,已达到持续改

进的效果。

6.测试模型

1.v模型

从上到下是一个开发模型,从下到上是一个测试模型

概要设计设计整体架构,详细设计是模块和模块之间的详细设计

单元测试和集成测试主要由开发人员完成(属于白盒测试)

特点:

优点:

1.明确标注了测试的类型

2.明确标注了测试阶段和开发阶段的对应关系(单元测试对应详细设计,集成测试对应概要设计,系统测试对应需求分析与系统设计,验收测试对应用户需求)

缺点:

1.同瀑布模型一样,流程是线性的,测试必须等到开发完之后才进行,导致了测试被后置

2.w模型(双v模型)

开发模型(左边的v)和测试模型(右边的v)并行

特点

重文档,轻过程,因此不支持敏捷模型

缺点:

1.上一个阶段完成下一个阶段才能开始

2.开发模型和测试模型也保持着一种前后的线性关系

优点:

1.测试和开发是同步进行的

2.有利于尽早全面的发现问题,能减少总体测试时间,加快项目进度

更新中……


本文转载自: https://blog.csdn.net/m0_53653818/article/details/128902033
版权归原作者 钢铁的面条 所有, 如有侵权,请联系我们删除。

“软件测试基本概念”的评论:

还没有评论