软件测试的生命周期&测试流程

1、软件的生命周期
2、软件生命周期的阶段
3、软件模型
4、软件测试的基本流程
5、软件开发流程、测试流程梳理
6、C/S与B/S架构
7、对软件测试行业的理解
8、常见笔试面试题前端


1、软件的生命周期

定义:软件生命周期是指软件的产生直到报废的生命周期。
人类整理的第一个软件生命周期:1970年,瀑布型生命周期web

2、软件生命周期的阶段

1. 问题的定义及规划

开发方和需求方共同讨论,主要是肯定软件的开发目的及可行性。制定开发计划

2. 需求分析

对软件须要实现的各个功能进行详细分析,弄清楚用户对软件系统的所有需求,
要产出《需求规格说明书》。

好比:登录这个功能要支持手机快速登陆和第三方帐号登陆面试

3. 软件设计

把需求分析结果转换成软件结构和数据结构,造成系统架构。(明确“怎么作”)
· · · 概要设计:

主要是架构的实现,指搭建架构、表述各模块功能、模块接口链接和数据传递的实现等事务。
好比:要建一栋楼,架构师首先要作好总体规划,要建多少层,外观是怎样之类的,而后拆分功能模块。数据库

· · · 详细设计:

对各模块进行深刻分析,对各模块组合进行分析等,这一阶段要求达到伪代码级别,把程序具体要实现的功能、现象等描述出来,其中包含数据库设计说明。
好比:架构师规划好后,开发拿着打散的模块,再落实到每个楼层,每个房间,房间里的每件物品等编程

4. 软件编码

按照详细设计好的模块功能表,编程人员开始编写代码

5. 软件测试

在软件编写完成后要通过严密的测试,以发现问题并加以纠正。主要有黑盒测试和白盒测试。
· · · 单元测试:

主要是测试程序代码,为的是确保各单元模块被正常编译。有具体到模块的测试,也有具体到类、函数的测试等。——通常是由开发来完成后端

· · · 集成测试:

单元测试后,将各单元组成完整的体系,测试软件单位之间的接口是否正确,数据可否正常传递。——好比注册和充值这两个功能可否连通浏览器

· · · 系统测试:

把软件系统搭建起来,按照《软件规格说明书》中的要求对各项功能进行测试,看是否符合需求、在系统运行是否存在漏洞等——根据测试用例,进行完整的系统测试安全

· · · 验收测试:

客户拿到软件后,根据前面所提的需求以及《规格说明书》来作相应的测试,已肯定软件是否符合需求效果——用户对软件进行验收
(单元测试、集成测试、系统测试之间的区别:句子—段落—文章;砖—墙—楼)数据结构

6. 运行维护

是生命周期中持续时间最长的阶段,为了延长软件的使用寿命,适应用户需求,就必须
对软件进行维护。包括纠错性维护和改进性维护。

3、软件模型

V模型结构图(各个阶段相对应)架构

这里写图片描述

4、软件测试的基本流程

需求分析阶段:

阅读需求,理解需求,主要就是对业务的学习,分析需求点

计划阶段:

主要任务是编写测试计划,参考软件需求规格说明书,项目整体计划,测试范围,进度安排,
人力物力的分配,总体测试策略的指定,和风险的评估与规避措施有一个指定,通常有测试
主管编写,固然咱们也会参与相关的评审工做。

设计阶段:

主要任务是编写测试用例,会参考需求分析、概要设计、详细设计等文档,有不明确的也
会及时和开发、产品经理沟通。用例编写完成后会进行评审。

执行阶段:

首先搭建测试环境,执行预测,以断定当前版本可测与否,若是预测经过,正式进入系统
测试,遇到问题提交bug到缺陷管理平台,并对bug进行跟踪,知道被测软件达到测试需求
要求,没有重大bug,测试结束。

评估阶段:

出测试报告,对整个测试的过程和版本质量作一个详细的评估。

这里写图片描述

5、软件开发流程、测试流程梳理

开发流程:

需求分析
概要设计、详细设计
编写代码
单元测试
代码审查
集成测试
打包提交测试部
等待测试提交BUG
修复BUG
等待测试回归BUG
N轮以后符合需求
版本上线
面向用户使用

测试流程:

需求分析
编写测试用例
评审测试用例
搭建测试环境
等待开发提交测试包
部署测试包
冒烟测试(主体功能预测)
执行测试用例
BUG跟踪处理(提交及回归BUG)
N轮以后符合需求
版本上线
面向用户使用

6、C/S与B/S架构

C/S架构:
client-server,须要安装客户端才可以使用的软件。每次更新都须要更新服务端和客户端,好比超市收银系统,每次更新每台电脑都必须重装客户端,有分店则更麻烦,人力物力财力都耗费很大。

B/S架构:
browser-server,只须要一个浏览器就能够访问服务。只须要更新服务端,不须要更新浏览器,用户主动性较高。好比天猫、淘宝、QQ、爱奇艺等。

7、软件测试行业的理解

根据你们本身的看法,说说你们认为软件测试这个职业的理解以及发展

1.容易入门,不局限是计算机专业的。

2.企业对软件测试人员有大量需求,特别是功能测试工程师的需求。

3.鼠标点点点是初级功能测试工程师局限的工做内容,不只于此。咱们软件测试是分不少
种的:自动化测试,性能测试,白盒测试,安全测试。

4.产品团队通常组成:项目经理、产品、开发(前端、后端、移动端)、测试、UI设计。
  大一点的企业还包括:DBA(数据库工程师)、架构师、运维、运营。
  测试的主要沟通对象:开发、产品经理、测试经理、研发经理。

5.测试人员的发展:功能测试工程-->自身测试工程师
               功能测试工程师-->管理岗

8、常见笔试面试题

1.生命周期模型包含哪些阶段?大家的开发模型是什么?

答:软件生命周期包含问题的定义及规划、 需求分析、 软件设计、软件编码、软件测试、
运行维护等阶段。咱们公司目前使用的是V模型。

2.测试流程包含哪些阶段?

答:测试流程包含需求分析阶段、计划阶段、设计阶段、执行阶段、评估阶段等阶段。

3.总结下开发流程?

答:需求分析——概要设计、详细设计——编写代码——单元测试——代码审查——集成测试——打包提交
测试部——等待测试提交BUG——修复BUG——等待测试回归BUG——N轮以后符合需求——版本上线
——面向用户使用

4.总结下测试流程?

答:需求分析——编写测试用例——评审测试用例——搭建测试环境——等待开发提交测试包——部署测试包
——冒烟测试(主体功能预测)——执行测试用例——BUG跟踪处理(提交及回归BUG)——N轮以后符合需
求——版本上线——面向用户使用