软件生命周期&测试流程
2020-04-20 18:47 那个杰克 阅读(1398) 评论(0) 编辑 收藏 举报一、软件生命周期,6大阶段:
- | |
-|-|-
问题的定义及规划 | 主要确定软件的开发目的及其可行性,制订开发计划。 | 5 |
需求分析 | 在确定软件开发可行的情况下,对软件要实现的各个功能进行详细分析,明确客户需求,输出需求规格说明书(原型图) | 6 |
系统设计| 把需求分析得到的结果转变为软件结构和数据结构,形成系统架构。(需求形成具体架构)
概要设计:主要是架构的实现,指搭建架构、表述各模块功能、模块接口连接和数据传递的实现等项事务
详细设计:对概要设计中表述的各模块进行深入分析,对各模块组合进行分析等,这一阶段要达到伪代码级别,已经把程序的具体实现的功能,现象等描述出来,其中需要包含数据库设计说明。(伪代码接近自然语言,体现思维)
| 7 |
软件编码| 按照详细设计好的模块功能表,编程人员编写出计算机可运行的程序代码。 | 5 |
软件测试 | 在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正 | 5 |
运行维护| 软件维护是软件生命周期中持续最长的阶段。在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的需求。要延续软件的使用寿命,就必须对软件进行维护。软件的维护包括纠错性维护和改进性维护两个方面------1.修复了xxxbug 2 优化了xx的功能 3新增了**用户体验。1是纠错性维护 2和3是改进性维护 | 5 |
阶段1、用户需求和软件计划
对软件产品进行分析,确定开发的可行性---->制定开发计划
阶段2、需求分析
明确客户的需求、输出需求规格说明书和原型图
阶段3、软件设计
- 包括概要设计和详细设计
- 概要设计:软件架构的设计;指搭建架构、表述各个功能模块的作用,软件UI方面的设计,输出概要设计说明书
- 详细设计:对整体架构进行分析,对概要设计中的各个模块功能进行详细分析,将程序的具体功能描述出来(这一阶段要达到伪代码的级别)、包括数据库分析(数据库设计说明书)
阶段4、软件编码
- 开发人员编写代码
阶段5、软件测试
-
单元测试
一般由开发人员测试,测试程序代码,保证编译正常(如注册)
测试技术为:白盒测试 -
集成测试
对各个单元进行组合后,测试各个单元之间的接口是否正确、数据能否正常传递,如:注册单元和登录单元是否可以互相传递数据。
注册一个用户后,可以在登录模块中进行登录操作,则代表测试通过
测试技术为:灰盒测试 -
系统测试
对软件按照软件规格说明书的要求,测试软件的功能和性能是否和用户需求相符合,在系统中运行是否存在漏洞。根据测试用例,进行完整的系统测试
测试技术为:黑盒测试 -
验收测试
微信验 --->产品经理验收
OA系统 ---->需求公司进行验收
阶段6、运行维护
包括纠错性维护、改进性维护
其中比如:当一款已经上线的软件再次发布版本是,会写明修复了xxx的bug、优化了xxx的功能、新增了xxx的用户体验
二、软件生命周期模型
1、瀑布模型、V模型、W模型、敏捷类生命周期
V模型
三、软件测试的阶段&流程
1、软件测试的基本流程:五个阶段
- | |
-|-|-
测试需求分析| 阅读需求,理解需求,学习一些业务或者新增的业务,变更的业务等,会让你参与需求评审,在评审阶段就需要了解需求的业务流程,针对有问题或有风险的流程提出质疑或提问,让产品经理阶段,同时也需要确认需求的定版时间 | 5 |
测试计划阶段| 主要任务是编写测试计划,参考需求的功能划分,项目总体计划,内容包括:测试范围、进度安排、人力物力的分配,整体测试策略的制定,例如:手工测试,压力测试,性能测试、自动化测试、和风险评估与规避措施有一个制定,一般由测试负责人编写,当然我们也会参与相关的评审工作 | 5 |
测试设计阶段| 主要任务是编写测试用例,参考需求及接口,三方文档等,有不明确的地方需要及时和产品沟通、开发沟通。用例编写完成后,最好召开用例评审工作,与产品、开发进行确认 | 5 |
测试执行阶段 | 首先拿到开发提现邮件中的,先关SQL增量脚本、redis、MQ、配置等先关资料,搭建好测试环境,执行预测。(冒烟)以判定当前版本可测与否,如果预测通过,正式进入系统测试,遇到问题提交bug到缺陷管理系统展开缺陷修复跟踪,若预测失败,邮件报告研发,及相关负责人,报告影响主流程测试的相关缺陷并提交到缺陷管理系统,测试终止,等待下一轮提测。 | 5 |
测试评估阶段| 编写测试报告,对整个测试的过程和版本质量做一个详细的评估,确认是否可以上线 | 5 |
测试验收阶段| 上线完成后,及时跟进项目线上问题的反馈,跟进问题的修复,及时发版上线修复 | 5 |
复盘阶段| 对测试过程中,上线完成后隐含未测试到的问题,进行复盘工作,报告开发、测试,出现问题时的应对过程,以及开发过程,减少线上发生类似的问题 | 5 |
2、软件测试流程:
测试需求分析、测试计划、测试设计、测试执行、测试评估