任何一款软件或应用在上线之前都必须要经过各种功能,性能等的测试,本篇将带你快速了解软件测试相关的基础知识。

一、概述

1)简单理解,什么是软件?

软件:即控制计算机硬件工作的工具。

2)软件基本组成

3)软件产生过程

4)简单理解,什么是软件测试?

软件测试:即使用技术手段验证软件是否满足使用需求

以用户登录验证为例:

5)软件测试目的

减少软件缺陷(bug),保障软件质量

二、测试主流技能

1、功能测试

功能测试主要验证程序的功能是否满足需求

同样以用户登录为例

2、自动化测试

使用代码或工具代替手工,对项目进行测试

3、接口测试

使用代码或工具对服务端提供的接口进行测试,验证程序中的接口是否访问正常。

4、性能测试

模拟多人使用软件,查找服务器缺陷。

1)工具实现

2)代码实现

5、就业方向选择

1)功能测试+接口测试
2)功能测试+性能测试
3)功能测试+web自动化

当然,多多益善,时间有限的情况下选择上面的一种组合学习即可

三、测试分类

1、按阶段划分

1)单元测试

是指针对程序源代码进行测试。

2)集成测试

又称接口测试,针对模块之间访问地址进行测试。

3)系统测试

对整个系统进行测试包括功能、兼容、文档等测试。

4)验收测试

主要分为内测、公测,使用不同人群来发掘项目缺陷。

2、按代码可见度划分

1)黑盒测试: 不关注源代码,针对程序UI功能进行测试。

对应系统测试(功能测试)

2)灰盒测试: 针对程序部分代码进行测试(接口)

对应集成测试(接口测试)

3)白盒测试: 针对程序源代码进行测试

对应单元测试

注:性能测试归属专项测试,自动化测试归属功能测试

四、软件质量模型

即衡量一个优秀软件的维度

主要衡量指标如下:

功能性、性能、兼容性、易用性、安全性、可靠性、可移植性、可维护性

五、测试流程

1)需求评审

通过需求评审,确保各部门需求理解一致

2)计划编写

决定测什么、谁来测、怎么测

3)用例设计

验证项目是否符合需求的操作文档

4)用例执行

项目模块开发完成,开始执行用例文档实施测试

5)缺陷管理

对缺陷进行管理的过程

6)测试报告

实施测试结果文档

六、测试用例

1、概述

1)用例

即用户使用的案例

2)测试用例

简单理解,就是为测试项目而设计的执行文档

3)测试用例的作用

1、防止漏测
2、实施测试的标准

2、用例编写格式

2.1 示例

注:关于优先级,一般是P0~P4四级。其中P0的优先级最高,正确的能成功的一定是用P0

2.2 各字段详细说明

1)用例编号

书写格式:项目_模块_编号,如 qq_login_001

2)用例标题

预期结果(测试点)

3)模块/项目

所属项目或模块

4)优先级

表示用例的重要程度或者影响力P0~P4(P0最高)

5)前置条件

要执行此条用例,有哪些前置操作

6)测试步骤

描述操作步骤

7)测试数据

操作的数据,如果没有可以为空

8)预期结果

期望达到的结果

3、入门案例

根据如下QQ登录需求编写测试用例

测试用例如下

七、用例设计方法

1、等价类划分法

1.1 概述

1)概念

是指在所有测试数据中,对具有某种共同特征的数据集合进行划分。

2)分类

1、有效等价类: 满足需求的数据集合
2、无效等价类: 不满足需求的数据集合

3)步骤

1、明确需求
2、确定有效和无效等价类
3、提取数据编写测试用例

1.2 案例1

1)需求

验证QQ账号的合法性,要求: 6~10位自然数(长度+类型)

2)分析

3)编写用例结果

注意优先级:合法为P0,不合法这里都设置为P1

1.3 案例2

1)需求
验证某城市电话号码正确性

要求:(长度+类型+规则)
1、区号: 或者是三位数字
2、前缀码: 非“0”且非“1”开头三位数字
3、后缀码: 四位数字

2)分析

关于正向和逆向,简单理解,正向即符合要求;逆向即不符合要求。

1、正向: 一次尽可能将多个正确数据组合
2、逆向(错误): 一次只能覆盖一个

由上可以看出,正向的往往需要将多种情况组合考虑;而逆向的不用,因为有一个不满足的情况就算一条。
3)编写用例结果
根据上述分析编写用例,如下给出的是两条合法的用例;照猫画虎,自行补充剩余8条不合法的。

1.4 适用场景

主要是针对需要有大量数据测试输入,但是没法穷举测试的场景。如输入框、下拉列表、单选复选框等。

典型代表: 页面的输入框类测试。

2、边界值分析法

解决边界限制如何测试的问题

2.1 概述

1)边界范围节点
选取正好等于、刚好大于、刚好小于边界的值作为测试数据

1、上点: 边界上的点(正好等于)
2、离点: 距离上点最近的点(刚好大于、刚好小于)
3、内点: 范围内的点(区间范围内的数据)

注:上点不带小数,则离点也不带小数;一般情况下内点选居中的点

2)步骤

1、明确需求
2、确定有效和无效等价类
3、确定边界范围值
4、提取数据编写测试用例

3)优化

之前我们说测试点最多有7个,但其实可以优化到5个。

3.1)原则如下:
上点: 必选(不考虑区间开闭)
内点: 必选(建议选择中间范围)
离点: 开内闭外(考虑开闭区间,开区间选择内部离点,闭区间选择外部离点)

优化离点,理解“开内闭外”原则

10<a<=20 –>使用开闭区间表达: (10,20]

开区间指的是区间边界的两个值不包括在内,如(a,b)
闭区间指的是区间边界的两个值包括在内,如[a,b]
同理半开闭(左开右闭,左闭右开)

2.2 示例

需求:20<=b<60
则选取的测试点为:

上点:20,60
内点:30
离点:19,59

关于离点,“开内闭外”原则其实很好理解。如上20为闭,60为开,如果测试20通过了,就没有必要测试21,因为没有意义(闭外)。同理,如果测试60发现不通过,就没有必要测试61,因为没有意义(开内

如果需求改为:20<=b<=60,同理分析

总结:5个点必测(上点2个,内点1个,离点开内闭外2个)

为什么内点必须测?

答:验证范围的连续性

练习(开内闭外)

[10,50) –>测试点为:10,50,35,9,49
(30,50) –>测试点为:30,50,40,31,49
(12,80] –>测试点为:12,80,50,13,81

2.3 适用场景

1)在等价类的基础上针对有边界范围的测试数据输入的地方(重点关注边界)
2)常见词语描述: 大小、尺寸、重量、最大、最小、至多、至少等修饰词语
3)典型代表: 有边界范围的输入框类测试

3、判定表法

解决多条件限制依赖关系如何测试的问题

3.1 判定表法的引用

1)案例: 验证“若用户欠费或者关机,则不允许主被叫”功能的测试
2)说明:

  • 等价类边界值分析法主要关注单个输入类条件的测试
  • 并未考虑输入条件之间的各种组合、输入条件与输出结果之间有相互制约关系的测试。

3.2 判定表定义及组成部分


上述案例的测试用例

3.3 案例2

1)案例及分析

2)编写测试用例

4、场景法

解决覆盖业务场景测试的问题

4.1 概述

1)定义
场景法又称流程图法,是用流程图描述用户的使用场景,然后通过覆盖流程路径来设计测试用例。
2)意义
用户使用角度

用户平时使用的不是单个功能,而是多个功能组合起来进行使用

测试人员角度

平时测试的都是单个功能点进行测试,容易忽略多个功能的组合测试

3)案例:ATM取款流程

注:冒烟测试,是指在批量开始测试之前,执行业务正向用例,验证软件是否具备可测性。冒烟测试的目的:避免由于项目不具备可测性,而投入的时间和人力成本

5、错误推荐法

5.1 定义

通过经验推测系统可能出现的问题

5.2 思想

根据经验列举出可能出现问题的清单,根据清单分析问题可能原因,推测发现缺陷

5.3 场景

1、时间紧任务量大时,根据之前项目类似经验找出易出错的模块重点测试
2、时间宽裕通过该方法列出之前出现问题较多的模块再次测试