件的生命周期&软件测试工作流程
小知识
C/S:client-server:一定要安装一个客户端才能使用的软件 比如qq,微信,爱奇艺,网易云音乐
缺点:每次更新都要更新服务端与客户端,比如说超市收银系统每次更新每台电脑必须重装客户 端,特别是有分店的情况,人力物力财力都很大
B/S:browser-server:只需要一个浏览器,就可以访问服务的,就是B/S。
比如火车票出票系统,企业官网,OA系统,爱奇艺,爱奇艺在线直播,qq空间
优点:只需要更新服务器就OK,不需要去更新浏览器,用户主动性比较高,比如说天猫,淘宝
软件生命周期
软件生命周期(SDLC,System Development Life Cycle,SDLC)是软件从开始立项到最终被废弃不用这个过程叫做软件生命周期,整个生命周期包括问题定义及规划,需求分析,系统设计,软件编程,软件测试,软件维护等阶段
1970年第一个软件生命周期,瀑布型生命周期,
用户需求----
需求分析7%(用户,系统分析员,项目管理员)产生分析报告
系统设计6%(项目分析员,高级程序员,项目管理员)产生系统设计报告
软件编程7%(项目管理员,程序员)产生源程序
软件测试13%(用户,高级程序员,程序员)产生测试报告
软件维护67%(用户,系统分析员,项目管理员,程序员)更改需求
需求分析(循环)
具体每个阶段需要做的事
一.问题的定义及规划
主要确定软件开发的目的及可行性,制定开发计划
二.需求分析
在确定软件开发可行的情况下,对软件需要实现的各个功能进项详细分析,明确客户需求,输出需求规格说明书、
三.软件设计
把需求分析得到的结果转换为软件结构和数据结构,形成系统架构
概要设计:主要是架构的实现
详细设计:对该要设计中表述的各模块进行深入分析,这一阶段要求达到伪代码级别。
四:软件编码
按照详细设计好的模块功能表,编程人员编写出计算机可运行的程序代码。
五:软件测试
在软件设计完成后经过严密的测试,以发现整个设计过程中存在的bug并加以解决
测试的方法主要有白盒测试和黑盒测试两种
单元测试:主要是测试程序代码,为的是确保 各单元模块被正确编译,一般是开发来完成
集成测试:单元测试后,将各单元组合成完整的体系,测试软件之间的接口是否正确,数据能否正确传输。
系统测试:把软件系统搭建起来,按照软件规格说明书中所要求,测试软件其性能功能等是否和用户需求相符合,在软件中运行是否存在漏洞等
验收测试:用户对软件进行验收
六:运行维护
软件的维护包括纠错性维护和改进型维护
软件生命周期模型
软件生命周期模型也称为软件过程模型,反映软件生存周期各个阶段的工作如何组织,衔接,常见的生命周期模型:瀑布模型,V模型,螺旋模型,W模型等。
V模型
RAD模型是软件开发过程中的一个重要模型,他通过开发和测试同时进行的方式来缩短开发周期,提高开发效率。
用户需求 验收测试
需求分析 系统测试(根据需求说明书编写)
概要设计 集成测试 (根据概要设计中模块功能及接口等实现方法编写)
详细设计 单元测试(和详细设计一起出来)
软件编码
软件测试基本流程
测试需求分析阶段:主要学习业务,分析需求点
计划阶段:编写测试计划,参考软件需求规格说明点,项目总体计划,内容包括测试范围,进度的安排,人力物力的分配,和风险的评估与规避
设计阶段:主要是编写测试用例,会参考需求文档,详细设计文档等,又不明确的要及时和开发产品经理沟通,编写后会一起进行评审。
执行阶段:如果评审通过,正式进入系统测试,只软件大道测需求的要求,没有重大bug,测试结束
评估阶段:输出测试报告,对整个测试的过程和版本质量进行一个详细的评估,确认是否可以上线。
测试工作流程图
测试工作流程:需求分析-需求评审-测试编写测试计划-编写测试用例-用例评审-部署测试环境-冒烟正式测试-提交bug并跟踪(N轮))-测试通过-测试报告-发布上线
开发工作流程:需求分析-需求评审-开发编写开发计划-概要设计,详细设计-编写代码并自测-提交测试-修改bug再提交测试(N轮)-测试通过
开发环境:编写代码调试的环境
测试环境:模拟用户使用的环境
生产环境:淘宝,天猫的线上环境真实的环境,面向客户正式使用的环境