软件的生命周期和流程

生命周期和流程
一、软件的生命周期
软件的开始到消亡的过程
1)瀑布型生命周期模型(具有顺序性和依赖性)
设计(概要设计和详细设计文档)
编码阶段
测试阶段(发现程序设计和逻辑测试的错误,主要包括黑盒和白盒)
单元测试(开发)、集成测试(组合测试)、系统测试(根据测试用例)、验收测试
数据传递(发出去的东西和收到的东西是不是一致)
验收测试(是否达到预期效果)
运行维护阶段(占整个生命周期最长的) 有新的需求增加或发现以前没有发现的bug
分为改变性维护和修复性维护
一般金融性企业会采用瀑布模型加敏捷开发模型
2)v模型 开发和测试同时进行的方式
软件的生命周期和流程_第1张图片

详细测试阶段已经实现了伪代码
3)敏捷开发模型(产品需求-开发-测试)
每个迭代会新增一些功能;不同的渠道(客户、市场部)反馈到产品
敏捷开发模型的工作模式?
1、产品收集客户需求,整理需求(需求优先级排序),确定迭代版本需要实现的功能,预估迭代周期
迭代一 功能1 功能2 功能3 功能4 3-4周
迭代二 功能5 功能6 功能7 功能8 4-5周
2、分解任务,形成任务列表,然后开始工作
3、每天10-15分钟站立会议;汇报下工作进度,工作中遇到的困难
4、更新任务列表,直到迭代周期完成

二、软件测试的工作流程
1、开发流程:需求分析阶段(输出需求规格说明书/原型图)->参与需求评审->召开会议确定开发计划
->设计文档(概要设计和详细设计)->编码->自测(单元测试)->转测->部署测试环境->跟踪解决bug(N轮)->发布上线
2、测试的流程:需求分析阶段(输出需求规格说明书/原型图)->编写测试计划(测试计划包括测试范围,进一步安排,人力物力安排,测试策略,风险评估等)->测试设计阶段(设计测试用例,参考原型图、需求文档、概设和详设)->用例评审(开发、测试、产品参与)->(酱油期-等待转测,可以用来深入了解需求,优化测试用例)部署测试环境->测试执行阶段(冒烟、正式系统测试、提交bug并跟踪维护bug)->测试评估阶段(输出测试报告)->发布上线
冒烟测试:转测之后,测试人员要进行冒烟测试,主要是测试业务流程是否通过,冒烟通过才进入正式的系统测试
1)为什么跟踪维护?答:关注重要bug,回归测试
2)测试不通过,能不能上线?
答:不是绝对不能上线,项目比较着急,未通过功能不影响可以上线,测试只需告知风险即可,测试报告输出后,是否上线,由项目组决定
3)如何评估测试是否通过?
测试通过的标准(测试准出):
1、测试用例100%执行
2、严重及以上bug,无遗留
3、一般级别的bug(延期解决、不予解决)<5%
4、建议级别的bug<10%
建议级别的bug:用户体验、友好性、界面(文字、大小、颜色、位置、排版)
软件测试的基本流程(重点)
测试需求分析阶段:阅读需求,理解需求,主要就是对业务的学习,分析需求点,参与需求评审会议
测试设计阶段:主要任务是编写测试计划,参考软件需求规格说明书、项目总体计划,内容包括测试范围(来自需求文档)、进度的安排,人力物力的分配,整体测试策略的制定,和风险的评估与规避措施,有一个制定,一般有测试负责人编写,当然我们可能也会参与相关的评审工作
测试执行阶段:首先搭建测试环境,执行预测(冒烟),以判定当前版本可测与否,如果预测通过,正式进入系统测试,遇到问题提交bug到缺陷管理平台,并对bug进行跟踪,直到被测软件达到测试需求要求,没有重大bug,测试结束----(完善测试用例)
测试评估阶段:出测试报告,对整个测试的过程和版本质量做一个详细的评估,确定是否可以上线
开发环境?测试环境?生产环境?
1)开发环境-开发用的(单独的服务器)
2)测试环境-数据可以随便添加、破坏,copy开发环境数据,和开发环境要独立开最好
3)生产环境-真实用户产生数据

笔试题
1、生命周期模型包含哪些阶段?你们开发的模型是什么?简化文字
2、测试流程包含哪些阶段?

面试题
3、你们公司的开发流程是怎样的? “口语化”
4、你们公司的测试流程是怎样的?各个阶段的输出是什么?作业

答:首先进行需求分析,输出需求规格说明书、原型图等;然后根据需求规格说明书、原型图来编写测试计划,测试计划主要包括测试范围,进一步安排,人力物力安排,测试策略,风险评估等;参考原型图、需求文档、概要设计文档和详细设计文档等编写用例;编写完成后由开发、测试、产品共同参与,进行用例评审;不断地优化测试用例;部署测试环境;先进行冒烟测试,通过后进入到正式的系统测试;提交bug并跟踪维护bug;输出测试报告;评估达到上线标准后,发布上线

你可能感兴趣的:(软件的生命周期和流程)