找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手

3 软件生命周期 软件周期模型

[复制链接]
软件生命周期概念
软件生命周期别称:软件生存周期或软件开发生命周期(指软件从生产到报废的整个过程,是一种时间的概念)
软件生命周期包括哪些阶段:
1.客户问题引入或定义分析(客户要求,上线时间,目的)--产品经理对接
2.可行性分析--(产品经理、项目经理、开发经理、测试经理、架构师(相当打地基那个人)、技术大佬)
    2.1成本(人力、天数)
    2.2商业/法律
    2.3政治风险:诋毁国家,恶意遭遇
    2.4涉黄涉暴
    2.5技术难关,根据公司现有技术能力是否能实现项目功能
3.项目招投标--看谁要的钱少,谁相关的工作经历,时间周期
4.项目立项
    4.1.成立项目组
    4.2人力安排,时间安排
    4.3采购服务器
5.需求分析--产品经理收集客户需求,输出需求文档,进行需求分析
    5.1参与人员:所有参与项目开发、测试的人员
    5.2需求分析谁主导:产品经理
6.开发阶段
   6.1UI设计师:输出效果图
    6.2开发工程师:进行编写代码
    6.3测试:对项目软件进行测试
    6.4交付给客户进行验收
7.维护


软件周期模型
*V模型
1.需求分析:产品经理根据用户需求提炼为项目需求,召开需求澄清会议(需求评审),经过多次讨论分析最终形成一个基线化文档,就叫需求规格说明书,简称SRS【基线文档:代表各方对该文档达成一致,可以进入下一个状态】
2.概要设计:简称HLD,项目分为哪些模块,模块A、模块B、模块C—开发人员输出概设
3.详细设计:简称LLD,针对每个模块怎么实现—开发人员输出详设
4.编码和实现:开发人员编写代码(代码打包成压缩文件 .war/.jar)
5.单元测试:简称UT,又称白盒测试,通过盒子的外部可以看到内部结构和内部逻辑及内部数据(对代码进行测试,由开发人员完成)
6.集成测试:简称IT,又称灰盒测试(接口测试、api测试),模块A/模块B/模块C 单独测试没有问题,放在一起进行测试
7.系统测试:简称ST,又称黑盒测试(功能测试),除了保证当前软件的功能正常使用,还要保证与第三方系统对接不会出现问题
8.验收测试:简称UAT
                    α(阿尔法测试):由公司内部的开发和测试i人员模拟用户行为操作软件,对此时发现的BUG进行修复
                    β(贝塔测试):产品已经交付到客户手中,此时出现BUG客户进行收集发送邮件抄送项目组
9.上线


项目经历了哪些阶段,每个阶段的输入与输出是什么?
                                     输入                                        输出
需求分析                   用户需求                                 需求规格说明书(SRS)
概要设计                   需求规格说明书                      概要设计文档
详细设计                   概要设计文档                          详细设计文档
编码阶段                   详细设计文档                          代码包
单元测试                   开发打包部署环境                   单元测试报告
系统集成测试            单元测试报告                          系统集成测试报告
验收测试                   系统集成测试报告                   验收测试报告


W模型:V模型的补充,将测试贯穿整个软件生命周期

*H模型
SRS澄清:需求评审,得到需求规格说明书
review(评审):测试人员要参与
TPM(测试经理):编写测试计划(规定的测试范围、人力安排、软件与硬件的资源、测试进度、风险评估)
风险评估:1.新人参与测试
                  2.项目需求延期提测
项目组中常用的评审有哪些?(用例评审,谁写的谁讲)
                 交叉评审:测试组内同事之间进行评审
                 组内评审:项目组开发、测试、UI设计、产品经理进行评审
                 会议评审:有客户参与
testlink:是一款用例管理工具
TPM或测试骨干或运维人员搭建环境
    公司有哪些环境?
    ·开发环境:开发人员编码使用的环境
    ·测试环境:测试人员使用当前项目软件的环境
    ·预发布环境:模拟用户使用场景、产品经理验收使用
    ·生产环境:线上环境、真实环境
环境搭建好之后,开发人员将开发的功能代码打包(.war/.jar)交由TPM或者运维人员进行部署到测试环境,部署完成之后重启服务器,就可以通过浏览器访问,项目部署一般都是在linux服务器上
冒烟测试:对主体功能进行测试,在sit1系统集成测试之前进行,在测试用例中选取20-30条用例进行测试
                例:QQ登录功能主题是什么?-QQ登录功能
                       QQ注册功能主题是什么?-成功注册新的QQ
冒烟测试不通过-版本打回,由开发人员去重新编码修复,修改完成之后再次进行打包部署,再次执行冒烟测试,一直到冒烟测试通过为止
系统集成测试
SIT1:又称全量测试,第一轮,需要测试所有编写的测试用例 (例如编写了1000条用例需要全部执行测试完成)
SIT2:又称回归测试,第二轮(例如450条用例)
           回归测试测试哪些内容?
            1.测上一轮发现BUG的用例
            2.测试与上一轮发现BUG的相关模块的用例
            3.每一轮都在执行猫眼用例
            4.测试新增加的用例
SIT3回归测试...(例如100条)
SIT4回归测试...(例如60条)越来越少
达到准出标准,输出测试报告
上线硬性标准0BUG,允许带1个易用性BUG上线(易用性BUG不会影响功能使用),当前版本发现的易用性BUG如果要留到下一个版本中解决,必须做好记录并且要以邮件告知项目组相关成员

项目与产本:现有项目然后才有产品
项目与版本:一个项目会有多个版本

项目上线:产品经理会提前告知相关人员具体上线时间,测试人员配合上线前,上线中及上线后的工作
                 上线前:测试人员做随机测试或者交叉测试
                 上线中:整理当前版本的相关文件记录进行归档
                 上线后:正式环境中进行测试(所有的测试都按照用户的操作进行验证)
灰度发布:小范围发布,降低风险

敏捷开发模型:周期短—1-2周一个版本
                        轻量级—每个版本的任务量不会太多
                        晨会—15分钟左右(1对前一天工作的总结,2对当天开发工作进度安排,3是否存在延期风险)


迭代开发模型:将复杂且周期长的项目,划分多个独立的功能模块,分多个版本开发
                        例微信:聊天列表、通讯、收藏、零钱、扫码支付
                            第一个版本:聊天列表、通讯录
                            第二个版本:收藏
                            第三个版本:零钱、扫码支付






分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册