第二章:软件需求
=======================================================
一、软件需求
--概念:是产品必须完成的事(功能部分)和必须具备的品质(非功能部门),叫需求规格说明书
--分:显式需求和隐式需求
二、需求分析步骤
--调查用户特性和基本情况,确定谁来用这个系统,用户的使用习惯以及是否有特别的情况
--调差用户业务流程活动,确定业务逻辑,功能和功能之间关系
--明确用户对系统的特定要求(特别详细的注意点)
--确定系统的边界
--分析系统功能、性能以及各类数据。如详细的功能内容、性能指标等给出具体的实例
三、测试需求(形成测试要点)
--概念:测试需求就是从需求规格说明书提炼“测什么”的问题,即细化被测对象
--注意:测试需求应该全部覆盖需求中的功能、业务流程和非功能的需求
--作用:
--是测试人员开发测试用例的依据(如无测试需求,依据:需求规格说明书,参考设计文档)
--有助于保证测试的质量与进度
--衡量测试覆盖率的指标
--如何做:
--对原始需求和相关文档进行阅读
--在充分了解软件业务流程和内容的情况下列出所需测试内容
--整理测试需求,写出测试要点,并进行评审,方便之后测试用例的编写
四:同行评审(面试1:哪些人员参加?评审会的角色有哪些)
--参与人员:项目/模块全部技术人员
--角色:主持人,协调人,作者,评审员,书记人员
--分类:交叉评审,小组评审,项目内审-----》项目方向评审
--了解:
桌面检查,代码走查和代码审查--------》开发方向评审
五:开发模型(面试1:你们单位的开发模型是什么?--》增量迭代)
(面试2:你们的迭代的周期是多久?多少时间迭代一次版本?你们多少时间出一个版本?
---》不一定,节假日,行内活动比较多,产品迭代可能比较快,一两周。(迭代:增加新功能或者修复bug))
1、瀑布模型---》最早的开发模型----》适用于小型项目
--分析--》设计--》开发--》测试--》运维
--概念:所有活动都是一次性、每个阶段都需要上个阶段完成后才能进入下个阶段
--优点:当前一个阶段完成后只需要关注下一个阶段。方便对每个阶段进行任务的检查。
--缺点:不适用需求的变化,用户有可能在项目的最后才能看到系统,不利于稳定客户。
2、增量迭代模型(掌握)--》最常用的模型、适合软件的开发---》适用于大多数的普通项目
--概念:在瀑布模型的基础上引入了迭代的概念,每次迭代都能增加新的功能直到产品完成。
--优点:可以先发布核心功能,能稳住用户,并可提前进入市场
--缺点:至始至终开发都和用户纠缠在一起,直到产品完成
3、螺旋模型--》最繁琐的模型---》适用于用户要求极高的大型项目
--四部分组成:指定计划、风险评估、设计实施、用户反馈
六、软件测试模型(掌握,背诵V模型,注意考笔试)
1、V模型:模型参数ppt
--优点:测试与开发相结合、强调了测试贯穿软件的整个生命周期
--缺点:需求在最后才被测试,没有符合测试越早介入越好的原则
2、W模型:模型参考ppt
--优点:在V模型的基础上细化了每个内容,强调了测试在需求阶段介入,和开发是同步进行的
3、H模型:
--优点:可以随时进行测试
--缺点:对于这种模型,测试比较随意,可能没有足够的文档说明
4、X模型
--优点:这不是事先计划的特殊类型测试,有助于有经验的测试人员在测试计划之外发现更多的问题
--缺点:也正是是计划外的测试,可能会造成人力、物力和财力的浪费,同时对测试人员的熟练程度要求比较高