代码改变世界

软件生命周期&测试流程

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、软件测试流程:
    测试需求分析、测试计划、测试设计、测试执行、测试评估