写点什么

软件测试的策略详解(按开发阶段划分)

作者:程序员阿沐
  • 2021 年 11 月 11 日
  • 本文字数:3439 字

    阅读完需:约 11 分钟

软件测试的策略详解(按开发阶段划分)

我们先来简单的回顾一下我们上一篇文章学习的内容。

 

我们主要讲到了软件工程的概述,从四个角度给大家来进行了阐述。

 

01.软件的生命周期

02.软件开发模型

瀑布模型

快速原型模型

增量模型

迭代模型

螺旋模型

03.软件测试模型

04.测试对象

 

第一个重点要掌握的就是软件的生命周期,什么是生命周期,它的概念。然后生命周期的几个阶段,每个阶段的任务与产物(输出文档)

 

第二个开发模型我们做一个了解就 OK。

 

第三个软件测试模型,我们一定要掌握前三个 V 模型 W 模型 H 模型。我们在掌握的时候,除了去知道有这三种模型之外,我们还得要知道每个模型它的组成部分,比如 V 模型就是原型模型的一个扩展,然后就是将我们软件的生命周期串接起来。W 模型是两个 V 组成的,一个 V 是开发的流程另一个是软件测试的流程,从模型中间我们也可以看出来,测试跟开发是可以同步工作的。还有 H 模型。X 模型和前置模型做一个了解就 OK。

 

那么关于这些基本的信息呢,我们要能够画出图,要记住它们各自的特点(优点以及局限性)。

 

第四个就是测试对象,面试的时候经常会出一些选择题,软件测试的对象包括了数据、文档、代码(软件)

 

常见的一些面试题在上一篇文章中也进行了一个梳理。(自行去理解并整理答案,在之后也会对高频以及难点面试题进行详解)

 

那么今天我们继续来学习软件测试的策略。

 

01.软件测试策略解析

 

第一个就是让大家来了解,在软件测试活动过程中间我们软件测试工程师是怎么样来把控这个质量的,分别是从哪些角度来把控。因此不同的角度就有对应不同的测试方法(测试策略)。叫做软件测试的分类也可以。

 

02.软件测试阶段详解

 

我们重点要去掌握的就是测试阶段的划分,以及不同阶段分别做一些什么事情。有些什么人参与,我们可以用到什么样的测试策略。

 

03.软件测试工作职责

 

我们学习软件测试知道的目标大都是成为一个软件测试工程师,那么我们作为软件测试工程师在工作中间的职责是什么?我们可以提前了解一下,到时候步入公司的时候,就不会觉得原来这个事情还要我们测试来做,也不会觉得很陌生。

 

-------------------

 

首先来看一下软件测试的策略。

 

软件测试策略解析

 

软件测试策略:软件测试的分类、软件测试的方法

 


1.按照开发阶段划分:2.按照测试技术划分:3.按照测试工具划分:4.按照是否运行划分:

5.按照软件质量特性划分:6.其他测试

1.按照开发阶段划分:

开发有哪一些阶段?这个需要结合我们之前讲到的软件的生命周期,在软件生命周期一共有这几个阶段:

可行性研究、需求分析、设计(包括概要设计、详细设计)、编码、测试、维护和部署。

这中间设计编码都是属于开发的一个流程,那么按照开发的阶段划分我们可以分为:

 

单元测试、集成测试、(有时候在这中间还有一个确认测试,有时候确认和系统测试合在了一起,有一些笔试题你就要知道确认是在系统之前)系统测试、验收测试


测试阶段详解:

 

单元测试:

 


单元测试是对软件组成进行的测试,其目的是检验软件基本组成单位的正确定。测试对象是软件设计的最小单元:模块,又称为模块测试。(小到一个函数、一个类)

 

还是以建房子为例进行类比,便于大家理解。

 

房子建好之后会有相关质检部门来进行验收,水电路合不合理,水泥厚度有没有达到,之类的细节。我们想要更好的保障房子的质量,(单元测试)并不是等房子建好了之后来验收,而是你在建房子之前,进行当中,每个环节都进行相关的质检操作。单元测试就类比于检查每一块砖头、每一包水泥、每一根钢筋、沙子石头……每一个重要组成部分、重要单元。

 

测试阶段:编码后

测试对象:最小模块

测试人员:白盒测试工程师或开发人员(开发人员互相自测)

测试依据:代码和注释+设计详细文档(在设计阶段详细设计的时候开发给出详细说明书)

测试方法:白盒测试

测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试

 

集成测试

 


类比建房子,在单元测试把砖头、水泥、钢筋、沙子石头都进行了质量把关,集成测试就是你每去砌几层的时候,层与层之间梁的厚度够不够,漏不漏水,楼梯、安全通道等质量是否达标。不是等整个房子建好之后去检查,而是在每一层机构都会去检查。

 

集成测试(也称联合测试,联调)、组装测试,将程序模块采用适当的集成策略组装起来。

 

测试阶段:一般的单元测试之后进行

测试对象:模块间的接口

测试人员:白盒测试工程师或开发工程师(自动化测试工程师也可以做,因为主要用的是灰盒测试)

测试依据:单元测试模块+概要设计文档(概要设计阶段就会输出概要设计文档)

测试方法:黑盒测试和白盒测试互相结合、灰盒测试(接口测试)

测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能的正确性、全局数据接口、单模块缺陷对系统的影响

 

【确认测试】

系统测试

 


类比于建房子而言,对应着整个房子都建好了,门、电梯都已经装好了,机构进行质检。进行系统的检查。在系统测试这个阶段就是我们的软件已经全部做好了。可以自己模拟使用的一个系统了。

 

系统测试,讲软件系统看成一个系统测试,包括对功能、性能以及软件所运行的硬软件环境进行测试。时间大部分在系统完成之后。

测试阶段:集成测试之后

测试对象:整个系统(软、硬件)

测试人员:测试工程师

测试依据:需求规格说明文档(可行性研究后需求分析期间出具的需求文档)

测试方法:黑盒测试(或自动化测试方法)

测试内容:功能、界面、可靠性、易用性、性能、兼容性、安全等

 

验收测试

 


房子已经建好了,机构已经检测通过了,他就会给你去颁发预售许可证(题外话,每个城市颁发预售许可证的时间不一样)。验收测试交房了,买房的人来验收房子,看户型、面积、质量各方面。用户进行质检验收。

 

验收其实有两种方式验收,属于整个系统最后一个环节了。,建房子类比就是锤子敲一敲电笔试一试闭水试验,比如用户自己就是搞装修公司的有经验,还有一种就是用户没有经验的,就可以找专业的人来帮我验收,

 

验收测试是部署软件之前的最后一个测试操作,它是技术测试的最后一个阶段,也叫作交付测试,验收测试的目的是保证软件的准备就绪,按照项目合同、任务书、双方约定的验收依据文档。向软件的购买者展示该软件的原始的需求。(可以正式上线了,可以正式去收尾款了)

 

测试阶段:系统测试之后

测试对象:整个的系统(包括软硬件)

测试人员:最终的用户或者需求方(两种方式:用户自己验收、找第三方质检机构进行验收)

测试依据:用户需求和验收标准(产品经理或者需求分析师根据用户需求整理出来的需求文档)

测试方法:黑盒测试

测试内容:同系统测试一样

 

验收测试常见方式

 

01.Alpha 测试(阿尔法α测试)

 

主要是由一个用户在开发环境进行的测试,也可以是公司内部的用户在模拟实际操作环境下的测试。

 

主要的目的是:评价软件产品的 FLURPS(即功能、局域化、可实用性、可靠性、性能和支持)

 

02.Beta 测试(贝塔β测试)

 

β测试由软件的最终的用户们在一个或者多个客户场所进行的测试。开发者通常不在测试现场。因而正式验收测试两者区别

 

举个例子。某某公司做了一款游戏,开发完成,测试经过了很多个版本,就等着上线了。可以还会有漏测或者没有观测到的一些问题。

 

所以上线前内部进行验收测试:

 

内测:公司内部的一个测试,公司发布一个消息,进行一个有奖的测试,发现一个 bug 奖励多少现金或者奖励。召集公司其他部门人员一起进行内测。(大部分通关战绩是删档的)

 

公测:小范围的用户测试,可以理解成上线前的摸底测试。比如召集一百个用户,在用户场景(大部分战绩装备是存档的)进行公测。03.正式验收测试

 

还有一个正式版就完全是用户进行使用了。

 

面试题:什么是内测什么是公测?什么是 Alpha 测试(阿尔法α测试)Beta 测试(贝塔β测试)?他们之间的区别是什么?

两者区别:

测试的场所不同

测试环境不同

参与人员不同

数据保留

 

2.按照测试技术划分:3.按照测试工具划分:4.按照是否运行划分:

5.按照软件质量特性划分:6.其他测试

 

我们就留到后面的文章接着讲解。原创输出内容不易,有收获的伙伴记得点赞支持!

 

推荐掌握工具使用:Xmind 思维导图。




支持正版!做坏事的时候,记得带上你的负罪感。

 

小贴士:如何找 Xmind 安装目录(点击桌面的 Xmind,选择属性,查看起始位置,起始位置引号中的内容就是安装的目录)

 

链接:https://pan.baidu.com/s/1Bhvtskedh8y8T9t674zB1Q

提取码:a1a6

(可以自行下载,也可以在我给的网盘链接直接获取,32 为 64 位系统版本都有)

 



如果你通过努力成功进入到了心仪的公司,一定不要懈怠放松,职场成长和新技术学习一样,不进则退。

 

公众号:程序员阿沐

发布于: 17 小时前阅读数: 6
用户头像

陪你学习成长,助你升职加薪! 2021.01.19 加入

公众号:程序员阿沐,领取资料

评论

发布
暂无评论
软件测试的策略详解(按开发阶段划分)