1、软件的生命周期
*软件生命周期(SDLC)是软件开始研制到最终被废弃不用所经历的各个阶段。在不同阶段里,由不同的组织、个人和资源进行着明确的任务。
2、生命周期的模型
*常见的生命周期模型有:瀑布模型、V模型、敏捷开发模型。实际工作中根据不同领域或不同方法再进行具体的划分。
2.1、瀑布型生命周期模型
瀑布模型是第一个软件生命周期,包括问题定义及规划、需求分析、软件设计、程序编码、软件测试和运行维护等六个基本活动,并且规定了它们自上而下相互衔接的固定次序,如同瀑布流水逐级下落。具有顺序性和依赖性。
(每个阶段规定文档并需进行评审===PS:评审完后才能进入下个阶段)
一、问题的定义及规划===由产品、领导等人完成
主要确定软件的开发目的及其可行性。制定项目总体开发计划。
二、需求分析--由产品完成
在确定软件开发可行的情况下, 对软件需要实现的各个功能进行详细分析,明确客户的需求,输出需求规格说明书(原型图),提交评审。
三、设计--由开发完成  
把需求分析得到的结果转换为软件结构和数据结构,形成系统架构。  
概要设计:主要是架构的实现,指搭建架构、表述各模块功能、模块接口连接和数据传递的实现等项事务。
详细设计:对概要设计中表述的各模块进行深入分析等,其中需要包含数据库设计说明。
四、编码--由开发完成 
按照详细设计好的模块功能表,编程人员编写出计算机可运行的程序代码
五、软件测试
在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。测试的方法主要有白盒测试跟黑盒测试两种。建立详细的测试计划并严格按照计划进行
单元测试:主要是测试程序代码,为的是确保各单元模块被正确的编译,比如有具体到模块的测试,也有具体到类,函数、方法的测试等 ====(PS:一般是开发来完成)
集成测试:单元测试后,将各单元组合成完整的体系,测试软件单位之间的接口是否正确、数据能否正常传递===(PS:比如说登录和充值这两个功能是否能够连通)
系统测试:把软件系统搭建起来,按照软件规格说明书中所要求,测试软件其性能功能等是否和用户需求相符合,在系统中运行是否存在漏洞等
(PS:根据测试用例,进行完整的系统测试。测试人员独立完成)
验收测试:主要就是用户在拿到软件的时候,在使用现场,会根据前边所提到的需求,以及规格说明书来做相应测试,以确定软件达到符合效果(PS:用户对软件进行验收)
六、运行维护
软件维护是软件生命周期中持续时间最长的阶段。在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的需求。要延续软件的使用寿命,就必须对软件进行维护。软件的维护主要包括纠错性维护和改进性维护两个方面。
(PS:纠错性维护==修护、改进性维护==新增)
2.2、V模型
RAD (快速应用开发)模型是软件开发过程中的一个重要模型,由于其模型构图形似字母V,所以又称软件开发的V模型。它通过开发和测试同时进行的方式来缩短开发周期,提高开发效率。
(PS:系统测试用例根据需求说明书编写出来的。
集成测试用测根据概要设计中模块功能及接口等实现方法编写出来.
单元测试的测试用例是和详细设计起出现的,在研发人员做详细设计的时候,相应的测试人员也就把测试用例写了出来)
 
2.3、敏捷开发模型--重点
敏捷开发模型是一种以人为核心、 迭代、循序渐进的开发方法。强调以人为本,专注于交付对客户有价值的软件。是一个用于开发和维持复杂产品的框架
(PS: 就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态)
迭代用例:
(比如开发微信:它拥有朋友圈、聊天室(语音、转账、语音/视频通话、地理位置)、小程序等等几十个功能。
几十个功能全部开发需要2年时间,时间太长,我们就需要迭代
第一个迭代版本:优先级最高的4个可以独立运行的功能===只需要半年时间
第二个选代版本:继续从剩下的功能中优先选择几个重要功能===只需要半年时间
第三个选代版本:
第四个迭代版本:
以此类推....
问:迭代多少个?==就是迭代了多少个版本
迭代周期是多少?==就是迭代一个版本所需要的时间
以人为核心===强调沟通(经常开会沟通,交流),弱化文档

3、软件测试的基本流程(重点)阶段

测试需求分析阶段:阅读需求,理解需求,主要就是对业务的学习,分析需求点。参与需求评审会议
测试计划阶段:主要任务是编写测试计划,参考软件需求规格说明书、项目总体计划,内容包括测试范围、进度的安排,人力物力的分配,整体测试策略的制定,和风险的评估与规避措施有一个制定,一般有测试负责人编写,当然我们可能也会参与相关的评审工作。
测试设计阶段:主要任务是编写测试用例,会参考需求文档(原型图)、概要设计、详细设计等文档,有不明确的也会及时和开发、产品经理沟通。用例编写完成后会进行用例评审。
测试执行阶段:首先搭建测试环境,执行预测(冒烟测试),以判定当前版本可测与否,如果预测通过,正式进入系统测试阶段,遇到问题提交Bug到缺陷管理平台,并对bug进行跟踪,直到被测软件达到测试需求要求,没有重大bug,测试结束。----- (可以完善测试用例)
测试评估阶段:出测试报告(测试人员编写),对整个测试的过程和版本质量做一个详细的评估。 确认是否可以上线。

4、软件开发流程、测试流程梳理
开发人员的工作流程:需求分析-->得知功能组成及设计软件结构、数据结构(概要设计、详细设计)-->编写代码-->单元测试-->代码审查-->打包提交测试部-->等待测试提交bug-->修复bug-->等待测试回归bug--> ..N轮--->版本上线--->面向用户使用
测试人员的工作流程:需求分析-->编写测试用例-->评审测试用例--->搭建测试环境--->等待开发研发完成,提交测试包进行测试(酱油期)--->部署测试包--->冒烟测试(预测)--->执行测试用例--> bug跟踪处理(提交及回归bug) --> ..N轮--->版本上线--->面向用户使用

熟悉软件的生命周期AND测试工程师的工作流程的更多相关文章

  1. Spring Bean的生命周期、Spring MVC的工作流程、IOC,AOP

    1.Spring Bean的生命周期? (1)构造方法实例化bean. (2)构造方法设置对象属性. (3)是否实现aware接口,三种接口(BeanNameAware,BeanFactoryAwar ...

  2. Atititi 版本管理 rc final rtm ga release 软件的生命周期中一般分4个版本

    Atititi 版本管理 rc final rtm ga release 软件的生命周期中一般分4个版本 RC=Release Candidate,含义是"发布候选版",它不是最终 ...

  3. 软件开发生命周期(SDLC)

    一.简介 软件开发生命周期又叫做 SDLC(Software Development Life Cycle),它是集合了计划.开发.测试和部署过程的集合.如下图所示 : 二.五个阶段 1.分析阶段: ...

  4. bean生命周期_Junit测试使用factory模式

    在面试某互联网_保险 公司, 被问到了spring中bean的生命周期,不禁联想到我们之前作 junit测试时,使用了Factory模式,而没有用Mock.

  5. Activity(活动)生命周期--项目测试

    一.新建一个Activitylifetest项目,允许Android Studio帮我们自动创建活动和布局,并且勾选Luancher Activity来将创建的活动设置为主活动. 可以参考: http ...

  6. MIDle生命周期详解,以及工作原理

    当MIDlet被应用程序管理器成功地初始化之后,就开始展开了它的生命周期.MIDlet的生命周期完全由应用程序管理器控制,也就是说,当MIDlet要从一个状态变成另外一个状态时,应用程序管理器会调用对 ...

  7. Java 之 软件的生命周期

    1.寻找商机: a.项目:有明确的需求提供方 b.产品:没有需求提供方,由市场决定 2.可行性分析: a.国家法律法规 b.资金 c.人员技术组成 3.投标 4.需求的搜集与分析: a.参与人员:需求 ...

  8. Activiti中工作流的生命周期详细解析!一个BPMN流程示例带你认识项目中流程的生命周期

    BPMN 2.0介绍 业务流程模型注解(BusinessProcess Modeling Notation - BPMN)是业务流程模型的一种标准图形注解.这个标准是由对象管理组(Object Man ...

  9. 软件测试生命周期(STLC)的8个阶段的详细信息

    一.演化 ♦1960年代的趋势: ♦1990年代的趋势: ♦2000年代的趋势: 测试的趋势和能力正在发生变化.现在要求测试人员更加注重技术和流程.现在的测试不仅仅局限于发现错误,而且范围更广,从项目 ...

随机推荐

  1. 写在Logg SAP项目上线之际

    根据大环境大行业的惯用做法,公司建立Logg品牌是在意料之中.毫无意外的,Logg也要上到SAP系统中. 其实按它的业务模式来说上SAP系统并不困难,早在几年前就已经有做过了.无非就是接单不生产,外包 ...

  2. Kafka 学习之路(四)—— Kafka消费者详解

    一.消费者和消费者群组 在Kafka中,消费者通常是消费者群组的一部分,多个消费者群组共同读取同一个主题时,彼此之间互不影响.Kafka之所以要引入消费者群组这个概念是因为Kafka消费者经常会做一些 ...

  3. spring源码深度解析— IOC 之 默认标签解析(上)

    概述 接前两篇文章  spring源码深度解析—Spring的整体架构和环境搭建  和  spring源码深度解析— IOC 之 容器的基本实现 本文主要研究Spring标签的解析,Spring的标签 ...

  4. 【mysql5.7】远程无法连接设置

    版本5.7 系统:ubuntu16.04 配置文件位置(apt安装): 1.链接设置 注释掉在/etc/mysql/mysql.conf.d/mysqld.cnf里面的bind-address = 1 ...

  5. BFS(二):数的变换

    [例1]整数变换(POJ 3278 “Catch That Cow”) 给定两个整数a和b(0 ≤a,b≤100,000),要求把a变换到b.变换规则为:(1)当前数加1:(2)当前数减1:(3)当前 ...

  6. zookeeper的客户端应用

    什么zookeeper? ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供 ...

  7. Spring Boot + Elasticsearch 实现索引的日常维护

    全文检索的应用越来越广泛,几乎成了互联网应用的标配,商品搜索.日志分析.历史数据归档等等,各种场景都会涉及到大批量的数据,在全文检索方面,方案无外乎Lucene.Solr.Elasticsearch三 ...

  8. 论文阅读 <Relocalization, Global Optimization and Map Merging for Monocular Visual-Inertial SLAM>

    看了一下港科的基于vins拓展的论文<relocalization, global optimization and merging for vins>,在回环的实现部分总体没有什么变化, ...

  9. 剑指offer第二版-10.斐波那契数列

    面试题10:斐波那契数列 题目要求: 求斐波那契数列的第n项的值.f(0)=0, f(1)=1, f(n)=f(n-1)+f(n-2) n>1 思路:使用循环从下往上计算数列. 考点:考察对递归 ...

  10. 搭建Spring Initializr服务器

    前言 按照网上很多教程,出错特别多.首先是GitHub和maven仓库的网络环境比较差,踩了很多坑:其次是SpringInitializr更新迭代几个版本,0.7.0我也没能弄成功.索性就用了旧版本0 ...