【初级软件测试】学习笔记

推荐书籍

基础理论:《软件测试的艺术》
实战:测试设计、接口设计、性能设计等

学习路线

软件测试学习路线
初级软件测试
软件功能测试
Web自动化测试初级应用
接口测试初级应用
用例设计
缺陷提交

绪论

知识导图

image

软件开发生命周期模型

  • 瀑布模型
    软件开发每个阶段完成后,才进行下一个阶段的工作展开,不适用于经常变更需求的项目

  • V模型

  • 螺旋模型

软件测试计划

参考内容: 《零基础快速入行入职:软件测试工程师 江楚》
测试计划属于管理型文档,一般由测试经理编写,对于这部分内容初学者了解即可

  1. 文档标识
    如"本文档是针对XYC公司开发的XYC邮箱V1.0进行黑盒测试的整体测试计划。"
  2. 测试目的
    如“本次测试是针对XYC邮箱软件项目进行的系统测试,目的是判定该系统是否满足需求文档中规定的各项要求”
  3. 测试范围
序号XYC邮箱的测试范围说明
1外观平面测试检查XYC邮箱的外观界面是否符合需求文档中所要求的界面规范、是否美观、合理
2功能测试根据需求文档检查XYC邮箱的主要功能是否正确实现
3易用性测试检查XYC是否操作简单、易用、是否符合通用的操作习惯
4兼容性测试检查XYC邮箱与市面上主流浏览器的兼容性,如谷歌浏览器等
5安全性测试检查XYC邮箱是否达到需求文档值得安全要求,是否存在安全隐患
6性能测试检验XYC邮箱是否满足需求文档中所定义的性能需求
  1. 测试环境

软件环境:

终端类别操作系统应用软件
PCWindows 10IE11、…

硬件环境:

终端类别机器名称硬件配置
PC联想商务机CPU:…内存:…
  1. 测试策略
    测试策略包括测试依据、测试的准入标准、测试工具的选择、测试的重点及方法、测试的准出保准。

测试的准入标准:
通常准入标准是通过冒烟测试。
冒烟测试指当先筛选一些基本的功能点进行测试,如果筛选的这些基本功能点经测试后没有问题再进行系统测试。
某软件一共有300个测试点,那么可能会筛选出常用的30个测试点来测试一下系统是正常。只有当这30个测试点都没有问题后,才会进行全面的系统测试,那么对这30个测试点的测试工作就称为冒烟测试。
冒烟测试筛选的比例:通常为1/15-1/7

测试的准出标准:未关闭Bug的数量在不超过规定数量的情况下,可视为通过测试。

模板:

序号策略内容
1系统测试依据需求文档和系统测试用例
2测试准入的标准(1)通过冒烟测试
3测试工具的选择
4系统测试的方法
5系统测试的重点
6测试准出的标准
  1. 测试管理
    测试管理主要指测试任务的分配、时间进度的安排、沟通方式这三方面的内容。

  2. 测试风险
    常见的风险有不透彻理解需求文档、估计不足测试时间及测试执行不到位等。

  3. 总结
    软件测试计划包括哪些?
    第一,测试范围。它指的是系统测试的范围以及本轮测试是测试全部模块还是只测试部分模块。
    第二,测试环境。它指的是测试人员是在什么样的软、硬件环境下进行测试。
    第三,测试策略。它的内容包括测试的依据、系统测试准入的标准、测试工具的选择、测试的重点及方法、测试准出的标准。
    第四,测试管理。它指的是测试任务的分配、时间的限定、测试与开发之间的沟通方式等内容。
    第五,测试风险。它指的是测试中如不透彻理解需求文档、估计不足测试时间及测试执行不到位等情况所造成的一些测试风险。

测试用例设计

  • 测试点
    错误测试点:

(1)输入正确的用户名和错误的密码测试能否登录成功。(2)输入错误的用户名和错误的密码测试能否登录成功。(3)用户名和密码都不输入的情况下测试能否登录成功。(4)输入正确的用户名和正确的密码测试能否登录成功。

第一个问题,没有说明具体的测试模块。“输入正确的用户名和错误的密码测试能否登录成功”,这个测试点是针对邮箱的哪个模块进行测试的呢?在测试点中没有明确说明。
第二个问题,没有说明测试前提条件。测试时如果网络不通畅,是无法进行这个登录测试的,所以测试前提条件就是要保证网络通畅,这一点也没有在测试点中说明。
第三个问题,没有说明测试环境。邮箱登录功能是在什么环境下测试的呢?是在Windows XP操作系统上还是在Windows 10操作系统上测试的,用的是IE浏览器还是360浏览器,具体的测试环境在测试点中没有说明。
第四个问题,在输入用户名和密码前,测试人员是通过什么网址打开登录页面的,这一点在测试点中也没有说明。
第五个问题,没有说明测试数据。输入正确的用户名和错误的密码,那么这个正确的用户名和错误的密码具体的测试数据是什么呢?这个在测试点中也没有明确出来。第六个问题,“输入正确的用户名和错误的密码测试能否登录成功”,对测试人员而言是期望它登录成功还是登录失败呢?这在测试点中也没有明确写清楚。

修改后的测试点:

此测试点针对的是XYC邮箱的登录模块,测试之前,确保网络是通畅的。首先在Windows 10操作系统中打开IE11浏览器,并在浏览器网址中输入该邮箱登录页面的网址http://mail.***.com,然后打开邮箱的登录页面,接着在用户名输入框中输入一个正确的用户名“test123”,在密码输入框中输入一个错误的密码“123456”,单击登录按钮,查看是否登录成功。测试人员期望的结果:邮箱登录不成功,并提示用户名和密码错误。

  • 测试用例模板
测试序号测试模块前置条件测试环境操作步骤和数据预期结果实际结果是否通过备注
  • 测试用例与需求的关系
    测试用例的依据是需求文档

黑盒测试

等价类划分法

等价类划分法是把所有可能输入的数据划分为不同类别,并在不同类别中选取有代表性的数据测试,而不是将每个类别中的所有数据进行测试。
有效等价类 + 无效等价类 = 等价类 有效等价类+无效等价类=等价类 有效等价类+无效等价类=等价类

例1

输入年龄:输入20-99的任意整数

[解析] 步骤1,对例1划分的等价类:
[1]20-99的整数
[2]<20的正整数
[3]99>的整数
[4]小数、负数、中文字符、英文字符、特殊字符、空格等。其中,区域1为有效等价类,其他为无效等价类

步骤2,将上述测试点整理为一张表:

输入条件有效等价类有效等价类取值无效等价类无效等价类取值
20-99的整数20<年龄<9988小于20的正整数16
大于99的整数103
小数1.2
负数-6
中文字符江楚
英文字符join
特殊字符@#
空格
不输入任何字符

步骤3,选取测试点“88”和“@#”转换为测试用例:

测试序号测试模块前置条件测试环境操作步骤和数据预期结果实际结果是否通过备注
1年龄输入框网络正常win10操作系统 IE11浏览器(1)打开网址http…
(2)年龄输入框中输入"88"(2)点击提交按钮,查看是否提交成功
(1)年龄输入框页面可以正常打开
(2)年龄可以被正常输入
(3)系统提示:你输入的数据有效,并已经提交成功
2年龄输入框网络正常win10操作系统 IE11浏览器(1)打开网址http…
(2)年龄输入框中输入"@#"(2)点击提交按钮,查看是否提交成功
(1)年龄输入框页面可以正常打开
(2)年龄可以被正常输入
(3)系统提示:你输入的数据无效,请重新输入

例2

计算两个1-100之间整数的和

步骤1,等价类分类:

输入条件有效等价类无效等价类
整数1-100[3]<1[1]
>100[2]
小数[4]
字母[5]
特殊字符[6]
空格[7]
空白[8]

步骤2,编写测试用例:

用例编号所属等价类加数1加数2
12(有效等价类)34043
21(无效等价类)0-1提示"请输入1-100之间的整数"
33(无效等价类)110101同上
44(无效等价类)1.23.2同上
55(无效等价类)AB同上

例3

输入6-10位自然数的用户名

[解析] 步骤1,等价类分类
有效类:
[1]字符长度在6-10位之间
[2]每个字符类型是0-9自然数
无效类:
[3]长度小于6
[4]长度大于10
[5]负数
[6]小数
[7]英文字母
[8]特殊字符
[9]中文
[10]空

步骤二,设计测试用例:

输入条件有效等价类无效等价类
用户名长度在6-10之间长度小于6
长度大于10
每个字符类型是0-9自然数负数
小数
英文字母
特殊字符
中文
覆盖用例输入预期结果
1、21234567正确
3123提示有误
412345678910提示有误
5-1234567提示有误
61.223提示有误
7123456a提示有误
8123456%提示有误
912345好提示有误
10为空提示有误

例4(多个输入数据项)

用户注册页面需求:
用户名:长度为3-19;以字母开头
姓名:非空
密码:非空
确认密码:值和密码值相同
出生月份:年——四位数字;月——1-12;日——1-31

步骤1,划分等价类

输入条件有效等价类无效等价类
用户名长度3-19(1)长度<3 (2)
长度>19
以字母开头(4)非字母开头(5)
姓名非空(6)为空(7)
密码非空(8)为空(9)
确认密码值和密码相同(10)值和密码不同(11)
出生年份(年)年——四位(12)不是四位(13)
年——数字(14)年数中有自父母或其他非数字符号(15)
年——合理范围(16)年数不在合理范围(17)
出生年份(月)1-12(18)月数<1(19)
月数>12(20)
月数中有字母或其他非数字(21)
出生年份(日)1-31(22)日数<1(23)
日数>31(24)
日数中有字母或其他非数字符号(25)

步骤2,设计测试用例

覆盖用例用户名姓名密码确认密码出生年份预期结果
1、4、6、8、10、12、14、16、18、22A123weind112000-5-6成功注册
2A1weind112000-5-6失败
3A123456789weind112000-5-6失败
51123weind112000-5-6失败
7A123112000-5-6失败
9A123weind12000-5-6失败
11A123weind122000-5-6失败
13A123weind1120000-5-6失败
15A123weind11200a-5-6失败
17A123weind119999-5-6失败
19A123weind112000-0-6失败
20A123weind112000-15-6失败
21A123weind112000-a1-6失败
23A123weind112000-5-0失败
24A123weind112000-5-89失败
25A123weind112000-5-a1失败

边界值分析法

  • 概念
    由于大量的错误会发生在输入、输出值的边界上,所以需要对边界值进行测试。
    边界值分析法是取稍高于或稍低于边界的一些数据进行测试,确认输入、输出的边界,然后取刚好等于、大于或小于边界的参数作为测试用例。
  • 使用场景
    边界值分析法在以下两种情况下经常被用到。
    第一种情况:输入条件是一个取值范围,对于这个取值范围的边界要进行边界值测试。
    第二种情况:输入条件中规定输入的数据是一个有序集合,对这个有序集合的边界要进行边界值测试。
  • 优点
    能减少测试用例数量,又尽量充分覆盖测试点。
  • 常用边界值
  1. 16-bit的整数,32767和-32768是它的边界
  2. 屏幕上光标在最左上和最右下的位置
  3. 数据库表(报表)的第一行和最后一行
  4. 数组元素的第一个和最后一个
  5. 循环的第0次、第1次、倒数第2次和最后一次
  6. 字符串的第一个字符和最后一个字符
  7. U盘(内存/物理存储)的空和蛮
  8. 操作反应(登录操作、触屏操作)的最快和最慢
  • 实现步骤
    1.确定边界:边界值分析法边界=等价类划分法等价类的边界
    2.选取测试数据:选取等于、刚刚大于或刚刚小于(有效)等价类边界的值作为测试数据
    3.设计测试用例

例1

输入用户名:6-10位自然数

步骤1. 选取有效等价类的边界值
有效等价类【长度在6-10位之间】:5位、6位、10位、11位

步骤2. 设计测试用例

用例编号覆盖边界值输入预期结果
15位12345系统提示用户名应为6~10位自然数
26位123456系统提示正确
310位123457890系统提示输入正确
411位1234578901系统提示用户名应为6~10位自然数

例2

输入20-99的整数

步骤1. 取边界值:19、20、21、99、100

对于输入条件是在一个取值范围内,而且取值范围带有小数的情况,如取值范围是10.00~60.00kg,那边界值就应该取9.99、10.00、10.01、59.99、60.00、60.01;如果取值范围带有负数,如取值范围是-10~10的整数,那边界值就应该取-9、-10、-11、9、10、11。
例3

一家出售各种商品的商店,它为购买不同数量商品的客户报出不同的价格,即按购买数量的不同“分段”计价
image

用例编号输入条件(有效等价类)覆盖边界值测试用例预期输出
1购买数量[1,10]000
211
31010
41111
5购买数量[11,20]2020
62121
7购买数量[21,+∞)6060

错误推测法

  • 概念
    基于经验和直觉设计容易导致软件错误的测试点
    例如:
  1. 输入:输入数据和输出数据为0的情况
  2. 输入:输入数据为空格时
  3. 只读字段是否设计成了可修改字段等
  • 经验分享汇总
  1. 时间性测试

提交操作时限
未到达的日期是否可选
系统时间的调整

  1. 密码输入框缺陷

明文显示
复制密码,明文显示
一致性确认

  1. 宽窄屏缺陷

  2. 同时操作问题

在不同机器登录同一个用户
在不同机器上对同一条记录进行不同操作(修改、删除):可以通过锁定记录或给出提示信息解决
一人审核,一人退回
两人修改同一张工单

  1. 删除为空时缺陷
    如对空数据表执行删除操作

  2. 网页缺陷

  3. 判断顺序/逻辑缺陷
    如将验证码选项放在注册页面的第一个

  4. 用户管理缺陷

超级用户,忘记删除
超级用户,回收权限

  1. 查询功能

无条件查询
是否支持模糊查询
查询的关键字之间是否可用连接符
是否支持空格
是否支持各类字符

  1. 翻页功能
    翻页按钮的测试项:

有无数据时控件的显示
首页时,首页和上一页是否能点击
尾页时,下一页和尾页是否能点击
非首页和非尾页时,四个按钮功能是否正确
翻页后,列表中的记录是否仍按照指定的排序列进行排序

总页数/当前页数的测试项:

总页数是否等于总记录数/指定每页条数
当前页数是否正确

跳转页的测试项:

是否能正常跳转到指定页数
输入的跳转页输非法时的处理

指定每条显示条数的测试项:

是否有默认的显示条数
指定条数后,列表显示的记录数是否正确
输入的条数非法时的处理

  1. 删除功能

不选择记录进行删除验证
删除记录权限验证
删除结果检查

12.导入/导出功能

正交试验法/正交表分析法

  • 概念
    由于上述设计方法都是针对单个输入框,该方法利用正交表设计输入组合,能针对组合输入框进行测试。有效减少了用例设计个数。

  • 正交表
    image
    image

image

  • 设计步骤
  1. 根据需求说明提取因子
  2. 填入正交表
  3. 生成测试用例

例1

假设一个WEB站点,该站点有大量的服务器和操作系统,并且有许多具有各种插件的浏览器:
WEB浏览器:Netscape6.2、IE6.0、Opera4.0
插件:无、RealPlayer、MediaPlayer
应用服务器:IIS、Apche、Netscape Enterprise
操作系统:Windows2000、Windows NT、Linux

步骤1:
提取需求中的因子:web浏览器、插件、应用服务器、操作系统

步骤2:
分析各因子的状态:
2)插件: 1=None、2=RealPlayer、3=MediaPlayer
3)应用服务器: 1=IIS、2=Apche、3=Netscape Enterprise
4)操作系统: 1=Windows2000、2=Windows NT、3=Linux

步骤3:套用正交表
image

步骤4:设计测试用例
image

例2

PowerPoint 软件打印功能,功能描述如下:
打印范围分:全部、当前幻灯片、给定范围 3
打印内容分:幻灯片、讲义、备注页、大纲视图 4
打印颜色/灰度分:颜色、灰度、黑白 3
打印效果分:幻灯片加框和幻灯片不加框 2

步骤1:
提取需求中的因子:打印范围、打印内容、打印颜色、打印效果

步骤2:
分析各因子的状态:
image

步骤3:套用正交表
image

步骤4:拆分正交表
image

步骤5:替换正交表
image
image

步骤6: 生成测试用例
image

例3

为提高某化工产品的转化率,选择三个有关因素进行试验,反应温度(A)、反应时间(B)、用碱量©,并确定了试验范围如下:
A:80~90C°
B:90~150分钟
C:5%~7%
试验目的是搞清楚因子A、B、C对转化率有什么影响,哪些是主要的,哪些是次要的,从而确定最适生产条件,即温度、时间及用碱量各为多少才能使转化率最高。对因子A、B、C,在试验范围内都选了三个水平(状态):
A:A1=80C°, A2=85C°,A3=90C°
B:B1=90分钟,B2=120分钟,B3=150分钟
C:C1=5%,C2=6%,C3=7%

步骤1,将因子填入正交表
image

步骤2,替换正交表
image

步骤3,生成测试用例
image

因果图法

  • 背景
    如用户注册页面需求包含用户名、姓名、密码、确认密码等,由于等价类、边界值未考虑这些输入条件之间的相互制约关系,如果需要考虑各种输入条件的组合各种输入条件之间有某种相互制约关系,则可以使用因果图法

**缺点:**测试用例数目可能会很大,不便于维护

  • 概念
    因果图法是从需求中找出因(输入条件)和果(输出或程序状态的改变),通过因果图转化成判定表
    如: 输入条件之间的关系(组合关系、约束关系等)、输入和输出之间的关系
    image

  • 因果图输入与输出关系符号

符号名符号解释
CI原因
EI结果
恒等原因结果同时出现
~原因出现,结果不出现
原因不出现,结果出现
V原因1个出现,结果就出现(一个出现就出现)
原因都不出现,结果就不出现
且/与原因都出现,结果才出现(全部出现才出现)

image

其中I取0表示状态不出现,1表示状态出现

  • 因果图输入/输出条件之间关系符号(约束条件)
条件类型符号名简称解释
输入E互斥/异或原因a和原因b不会同时成立,最多一个能成立
I所有原因中至少有一个成立
o唯一必须有一个成立
输出R要求原因a出现,原因b也必须出现
M强制或屏蔽a=1,b=0
a=0,b的值不定

image

image

  • 实现步骤
  1. 列出原因和结果,赋予标识符
  2. 绘制因果图
  3. 标明原因之间的约束条件
  4. 转换为判定表
  5. 设计测试用例

例1

某旅馆住宿系统可为游客办理房间选定、房间支付及房间管理相关业务,此系统默认房间资源始终充足的状态。其需要描述如下:当支付房间全款(即预期入住天数内所有房款)或支付房间房款不足(仅支付定金),选择“单人间”、“双人间”或“豪华间”,则相应类型的房间被开启。若游客支付房款不足,则在开启房门的同时系统提示房款支付不足。

[思路分析]
1)分析需求,列出原因和结果。
2)找出因果关系、原因与原因之间的约束关系,画出因果图。
3)将因果图转换成判定表。
4)根据(3)中的判定表,设计用例的输入数据和预期输出

1)分析需求说明,找出原因(即输入)和结果(即输出):
原因:
1.游客支付房间全款
2.游客支付房款不足
3.游客选择“单人间”
4.游客选择“双人间”
5.游客选择“豪华间”

结果:
21.该类型房间被打开且提醒房款支付不足
22.某“单人间”被打开
23.某“双人间”被打开
24.某“豪华间”被打开

2)找出因果逻辑关系、约束关系,画出因果图
image
3)将因果图转换成判定表:
image
4)在判定表中,可根据显示的11列作为确定测试用例的依据,设计测试用例。
image

例2 基于例1,考虑房间空余状态
1)分析需求说明,找出原因(即输入)和结果(即输出):
原因:
1.该类型房间有空房
2.游客支付房间全款
3.游客支付房款不足
4.游客选择“单人间”
5.游客选择“双人间”
6.游客选择“豪华间”

结果:
21.该类型房间“房间已满”灯亮
22.提示办理退款
23.提醒房款不足
24.某“单人间”被打开
25.某“双人间”被打开
26.某“豪华间”被打开

2)找出因果逻辑关系、约束关系,画出因果图
image
3)将因果图转换成判定表:
image
image
4)在判定表中,可根据显示的24列作为确定测试用例的依据,设计测试用例。

例3

有一个处理单价为1元5角的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”或“红茶”按钮,相应的饮料就送出来。若投入的是2元硬币,在送出饮料的同时退还5角硬币。

决策表法

  • 概念
    能把复杂逻辑关系和多条件组合情况表达得较明确
    适用:在程序中,若输入输出较多,且相互制约的条件较多

  • 示例
    image

  • 决策表组成

条件桩条件项
动作桩动作项

条件桩: 问题所有条件的集合
条件项: 决策表中条件的取值
动作桩:问题所有可采取动作的集合
动作项:决策表中打钩的选项

  • 实现步骤
  1. 列出所有的条件桩和动作桩
  2. 确定规则个数
  3. 填入条件项和动作项
  4. 简化/合并类似规则或相同动作

例1

‘进行了房间预定且已支付定金’或‘是本旅馆会员,即持有会员卡’的游客,应优先为其办理房间入住……” 。请建立判定表。

1)列出所有的条件桩和动作桩。
条件桩
是否进行房间预定
是否已支付定金
是否为旅馆会员
动作桩
优先办理房间入住
作其他处理
2)确定规则的个数:这里有3个条件,每个条件有两个取值,故应有8种规则。

12345678
条件是否进行房间预定?
是否已支付定金?
是否为旅馆会员?
动作优先办理房间入住
作其他处理

3)填入条件项和动作项

12345678
条件是否进行房间预定?YYYYNNNN
是否已支付定金?YYNNYYNN
是否为旅馆会员?YNYNYNYN
动作优先办理房间入住
作其他处理

4)合并相似规则

12345
条件是否进行房间预定?YYYNN
是否已支付定金?YNN--
是否为旅馆会员?_YNYN
动作优先办理房间入住
作其他处理

场景法

白盒测试

静态测试

覆盖测试

基本路径测试

性能测试

性能测试种类介绍举例
负载测试
压力测试
并发测试
可靠性测试
容量测试
性能测试指标介绍
并发
并发用户数
事务
响应时间
TPS
QPS
HPS
RPS
吞吐量
吞吐率
资源利用率

Web测试

APP测试

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值