一、软件的生命周期
二、软件生命周期的阶段
三、软件模型
四、软件测试的基本流程
五、软件开发流程、测试流程梳理
六、C/S与B/S架构
七、对软件测试行业的理解
八、常见笔试面试题

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

二、软件生命周期的阶段
1. 问题的定义及规划
开发方和需求方共同讨论,主要是确定软件的开发目的及可行性。制定开发计划
1
2. 需求分析
对软件需要实现的各个功能进行详细分析,弄清楚用户对软件系统的全部需求,
要产出《需求规格说明书》。
1
2
比如:登陆这个功能要支持手机快速登录和第三方账号登录

3. 软件设计
把需求分析结果转换成软件结构和数据结构,形成系统架构。(明确“怎么做”)
1
· · · 概要设计:
主要是架构的实现,指搭建架构、表述各模块功能、模块接口连接和数据传递的实现等事务。
比如:要建一栋楼,架构师首先要做好整体规划,要建多少层,外观是怎样之类的,然后拆分功能模块。

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

4. 软件编码
按照详细设计好的模块功能表,编程人员开始编写代码
1
5. 软件测试
在软件编写完成后要经过严密的测试,以发现问题并加以纠正。主要有黑盒测试和白盒测试。
1
· · · 单元测试:
主要是测试程序代码,为的是确保各单元模块被正常编译。有具体到模块的测试,也有具体到类、函数的测试等。——一般是由开发来完成

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

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

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

6. 运行维护
是生命周期中持续时间最长的阶段,为了延长软件的使用寿命,适应用户需求,就必须
对软件进行维护。包括纠错性维护和改进性维护。
1
2
三、软件模型
V模型结构图(各个阶段相对应)

四、软件测试的基本流程
需求分析阶段:

阅读需求,理解需求,主要就是对业务的学习,分析需求点
1
计划阶段:

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

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

首先搭建测试环境,执行预测,以判定当前版本可测与否,如果预测通过,正式进入系统
测试,遇到问题提交bug到缺陷管理平台,并对bug进行跟踪,知道被测软件达到测试需求
要求,没有重大bug,测试结束。
1
2
3
评估阶段:

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

五、软件开发流程、测试流程梳理
开发流程:

需求分析
概要设计、详细设计
编写代码
单元测试
代码审查
集成测试
打包提交测试部
等待测试提交BUG
修复BUG
等待测试回归BUG
N轮之后符合需求
版本上线
面向用户使用
1
2
3
4
5
6
7
8
9
10
11
12
13
测试流程:

需求分析
编写测试用例
评审测试用例
搭建测试环境
等待开发提交测试包
部署测试包
冒烟测试(主体功能预测)
执行测试用例
BUG跟踪处理(提交及回归BUG)
N轮之后符合需求
版本上线
面向用户使用
1
2
3
4
5
6
7
8
9
10
11
12
六、C/S与B/S架构
C/S架构:
client-server,需要安装客户端才能够使用的软件。每次更新都需要更新服务端和客户端,比如超市收银系统,每次更新每台电脑都必须重装客户端,有分店则更麻烦,人力物力财力都耗费很大。

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

七、软件测试行业的理解
根据大家自己的见解,说说大家认为软件测试这个职业的理解以及发展

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

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

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

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

5.测试人员的发展:功能测试工程-->自身测试工程师
功能测试工程师-->管理岗
1
2
3
4
5
6
7
8
9
10
11
12
13
八、常见笔试面试题
1.生命周期模型包含哪些阶段?你们的开发模型是什么?
答:软件生命周期包含问题的定义及规划、 需求分析、 软件设计、软件编码、软件测试、
运行维护等阶段。我们公司目前使用的是V模型。
1
2
2.测试流程包含哪些阶段?
答:测试流程包含需求分析阶段、计划阶段、设计阶段、执行阶段、评估阶段等阶段。
1
3.总结下开发流程?
答:需求分析——概要设计、详细设计——编写代码——单元测试——代码审查——集成测试——打包提交
测试部——等待测试提交BUG——修复BUG——等待测试回归BUG——N轮之后符合需求——版本上线
——面向用户使用
1
2
3
4.总结下测试流程?
答:需求分析——编写测试用例——评审测试用例——搭建测试环境——等待开发提交测试包——部署测试包
——冒烟测试(主体功能预测)——执行测试用例——BUG跟踪处理(提交及回归BUG)——N轮之后符合需
求——版本上线——面向用户使用
---------------------
作者:ChaosMax
来源:CSDN
原文:https://blog.csdn.net/ChaosMax/article/details/71628867
版权声明:本文为博主原创文章,转载请附上博文链接!

软件测试的生命周期&测试流程的更多相关文章

  1. 一步步实现:springbean的生命周期测试代码

    转载. https://blog.csdn.net/baidu_37107022/article/details/76552052 1. 创建实体SpringBean public class Spr ...

  2. activity 和 生命周期 :流程

    activity是android的一个基本的组件.讨论生命周期,taskstack等等的话题的时候.就不得不去看一下android framework层的源码了. 生命周期,实际就是系统调用andro ...

  3. 屏幕旋转时 Activity 的生命周期 —— 测试与结论

    关于 Android 手机横竖屏切换时 Activity 的生命周期问题,网上有很多相似的文章,大多数都是说明在竖屏切换横屏时 Activity 会重启一次,而在横屏切换竖屏时 Activity 会重 ...

  4. Spring Bean 生命周期测试

    本文代码GitHub地址 Bean的生命周期是开始创建到销毁的过程.需要实现相关的类BeanNameAware   ,DisposableBean, InitializingBean ,并注册Inst ...

  5. UIViewController生命周期测试

    push进入  -[NaviRootVC viewWillDisappear:]  -[NextVC viewWillAppear:]  -[NextVC viewWillLayoutSubviews ...

  6. Spring Bean的生命周期 ---附详细流程图及测试代码

    一.生命周期流程图: Spring Bean的完整生命周期从创建Spring容器开始,直到最终Spring容器销毁Bean,这其中包含了一系列关键点 假设一个Bean实现了所有的接口,大的概况一下Be ...

  7. Activity生命周期的运行流程

    Activity的生命周期运行流程:  ·当Activity第1次被启动:     ·onCreate()->onStart()->onResume()  ·当Activity被遮挡后再次 ...

  8. spring中Bean对象的生命周期

    经过测试对于具体的一个Bean,执行的流程应该是: 1.实例化: 常见的有构造(有参.无参)实例化.静态工厂(方法是静态,通过类名.方法返回获取).实例工厂(专门有个类负责生产对象,需要在bean中配 ...

  9. 浅谈Android之Activity生命周期

     Activity作为四大组件之一,出现的频率相当高,基本上我们在android的各个地方都能看见它的踪影,因此深入了解Activity,对于开发高质量应用程序是很有帮助的.今天我们就来详细地聊聊Ac ...

随机推荐

  1. jenkins pipline 用法收集

    1.下载多个项目 node { stage('clone'){ dir('test1'){ checkout([$class: 'GitSCM', branches: [[name: '*/maste ...

  2. 机器学习:Jupyter Notebook中Matplotlib的使用

    一.matplotlib绘制折线图 matplotlib绘图的实质是折线图,将所有的点用直线连接起来,由于距离比较密,看起来像是个平滑的曲线: import matplotlib as mpl:加载m ...

  3. TS学习之解构与展开

    一.解构 1.解构数组 let input = [1, 2]; let [first, second] = input; console.log(first); // outputs 1 consol ...

  4. JavaScript之JMap

    在JavaScript中我们利用function类定义类在类的内部我们用var 定义私有变量 私有函数在类的内部我们用this 定义公有变量(1)定义一个类 function JMap() { var ...

  5. vs2015类中方法前的引用链接不显示的解决方案

    在工具→选项,打开如下界面,寻找“文本编辑器→所有语言”中设置显示:<img data-rawheight="761" data-rawwidth="130 ...

  6. C语言学习笔记--单引号和双引号

    (1)C 语言中单引号用来表示字符字面量(是个数值)被编译为对应的 ASCII 码 (2)C 语言中双引号用来表示字符串字面量(是个指针)被编译为对应的内存地址 例如:'a'表示字符字面量(97),在 ...

  7. C++中的构造函数小结

    对象的初始化 对象时类的实例,类是不占用空间的,对象是占用空间的. 因为类是抽象的,不占用空间的,所以我们不能再定义类的时候对对象进行初始化操作的. 但是,我们可以定义一个函数,在类实例化一个对象的时 ...

  8. 如何将maven项目打包成可执行的jar

    如何将maven项目打包成可执行的jar 分类: maven2010-12-17 10:18 10411人阅读 评论(2) 收藏 举报 jarmavenassemblyjava 方法一:将项目及所依赖 ...

  9. 关于android上dpi/screen-size的厘清解释

    android定义了四种screen-size: small normal large xlarge 同时定义了六种dpi级别: ldpi (low) ~120dpimdpi (medium) ~16 ...

  10. Python通过调用windows命令行处理sam文件

    Python通过调用windows命令行处理sam文件 以samtools软件为例 一.下载或者索取得到windows版本的samtools软件,解压后如下: 进入文件内部,有如下几个文件: 二.将s ...