软件的生命周期和软件测试工作流程

发表于:2017-9-19 14:07

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:chayc    来源:51Testing软件测试网采编

分享:
  软件的生命周期
  一、问题的定义和规划
  此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目的及其可行性。制定开发计划
  二、需求分析
  在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。弄清用户对软件系统的全部需求。比较关键的是分析师和客户沟通时的理解能力与交互性。明确客户需要的是什么,软件做成什么样子,需要有哪几项功能。这个过程要制作出==需求规格说明书==
  ==如:登录:支持手机登录,支持第三方账号登录==
  三、软件设计
  把需求分析得到结果转换为软件结构和数据结构,形成系统架构。
  概要设计:架构的实现,指搭建架构,==表述各模块功能==、==模块接口连接====和数据传递的实现==等事务
  详细设计:对概要设计中表述的==各模块==进行深入分析,对各模块组合进行分析,这一阶段要求达到伪代码级别,已经把程序的具体实现的功能、现象等描述出来
  四、软件编码
  按详细设计设计好的模块功能表,编程人员编写程序代码
  五、软件测试
  在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正
  单元测试:主要是测试程序代码,为的是确保各单元模块被正确的编译(如:有具体到==模块、类、函数==的测试)
  集成测试:单元测试后,将各单元组合成完整的体系,测试软件单位之间的接口是否正确、数据能否正常传递(如:注册和充值这两功能是否能够连通)
  系统测试:把软件系统搭建起来,按照软件规格说明书中所要求的,测试软件其性能功能等是否和用户需求相符合,在系统中运行是否存在漏洞
  (根据测试用例,进行==完整==的系统测试)
  验收测试:主要就是用户在拿到软件的时候,在使用现场,会根据需求和规格说明书来做相应测试,已确定软件达到符合的效果(用户验收)
  六、运行维护
  软件生命周期中持续时间最长的阶段。在开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的需求,要延续软件的使用寿命。包括==纠错性维护==和==改进性维护==
  单元测试、集成测试、系统测试区别理解
  比如一个程序包含多个单元模块A、B、C
  单元测试:对单个模块的测试(如:测试A模块)
  集成测试:整合≥2个单元模块接口的正确性
  系统测试:对集成后的ABC,跟软件硬件结合在一起,在模拟用户使用环境上对整个程序的功能性能验证
  软件生命周期模型
  image
  graph LR
  用户需求-->需求分析
  需求分析-->概要设计
  概要设计-->详细设计
  详细设计-->软件编码

  graph LR
  软件编码-->单元测试
  单元测试-->集成测试
  集成测试-->系统测试
  系统测试-->验收测试
  软件测试的基本流程
  需求分析阶段:阅读需求,理解需求,分析业务需求点
  计划阶段:编写测试用例计划,参考软件需求规格说明书、项目总体计划,内容包括==测试范围==、==进度的安排==,==人力物力的分配==,整体测试==策略的制==定,==风险评估与规避措施==,主管编写,参与评审工作。
  设计阶段:编写测试用例,参考需求分析、概要设计、详细设计,不明确的与开发、产品经理沟通。用例完成后进行==评审==
  执行阶段:首先搭建测试环境,执行预测,判定当前版本是否可测,==预测通过,正式进入系统测试==,遇到问题提交bug到缺陷管理平台,并对bug进行跟踪,知道被测试软件达到测试需求要求,没重大bug,测试结束。
  评估阶段:出==测试报告==,对整个测试的过程和版本质量做一个详细的评估。
  image
  软件开发流程
  graph LR
  需求分析-->概要设计详细设计
  概要设计详细设计-->软件编码
  软件编码-->单元测试
  单元测试-->代码审查
  代码审查-->集成测试
  集成测试-->打包提交测试部
  打包提交测试部-->等待测试提交bug
  等待测试提交bug-->修复bug
  修复bug-->等待测试回归bug
  等待测试回归bug-->N轮
  N轮-->版本上线
  版本上线-->面向用户使用
  概要设计、详细设计(得知功能组成及设计软件结构、数据结构)
  软件测试流程
  graph LR
  需求分析-->编写测试用例
  编写测试用例-->评审测试用例
  评审测试用例-->搭建测试环境
  搭建测试环境-->等待开发研发完成提交测试包进行测试
  等待开发研发完成提交测试包进行测试-->部署测试包
  部署测试包-->冒烟测试
  冒烟测试-->执行测试用例
  执行测试用例-->bug跟踪处理
  bug跟踪处理-->N轮
  N轮-->版本上线
  版本上线-->面向用户使用
  练习
  1、生命周期模型包含哪些阶段?你们开发的模型是什么?
  用户需求、需求分析、概要设计、详细设计、软件编码、单元测试、集成测试、系统测试、验收测试
  V模型
  2、测试流程包含哪些阶段?
  需求分析、测试计划、冒烟测试、编写测试用例、评审测试用例、执行测试计划、追踪bug,测试评估、测试报告
  3、总结下开发流程?
  需求分析、概要设计、详细设计、编码、单元测试、代码审查、集成测试、打包提交测试、等待测试提交bug、修改bug、提交测试进行回归测试、等bug改bugN轮、版本上线、交付用户
  4、总结下测试流程?
  需求分析、测试计划、冒烟测试、编写测试用例、评审测试用例、搭建测试环境、等开发测试包、部署测试包、冒烟测试、执行测试用例、追踪bug、回归测试N轮、版本上线、交付用户
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号