软件测试的测试计划怎么写(全程软件测试一一二)(1)

一、 界面中的控件知识

1 文本框和密码框

软件测试的测试计划怎么写(全程软件测试一一二)(2)

长度要求;

输入内容限制。

长度要求;

不允许明文显示;

禁止复制粘贴;

输入内容限制;

两次密码要一致。

2 单选按钮、组合列表框、数码框

软件测试的测试计划怎么写(全程软件测试一一二)(3)

框架标题/提示文本不缺失且正确;

各个选项正确;

执行同一功能的多个单选按钮只能选中一个;

要有默认选中项;

一般不能取消选中;

存入后台的数据正确。

通常单选,条目内容要正确(没有多余/错放项、缺少项);

横向显示要完整;

条目功能要正确实现;

组合列表框中可能允许输入数据。

软件测试的测试计划怎么写(全程软件测试一一二)(4)

能使用上下箭头控制数字变动;

数字有范围限制;

数字自动循环或者到达边界时停止;

可以直接输入数字。

3 复选框

软件测试的测试计划怎么写(全程软件测试一一二)(5)

选项正确;

可以不选、任意选一个、任意选多个、全选;

可以取消选中——每一个复选框功能都正确实现。

4 列表框

软件测试的测试计划怎么写(全程软件测试一一二)(6)

5 命令按钮

6 其他界面元素

软件测试的测试计划怎么写(全程软件测试一一二)(7)

不缺失;

显示正确。

ctrl tab 切换

使用 ctrl 或 alt 其它字母

同一窗口、界面或菜单中不能重复

二、 大纲法分解功能

1 大纲法

大纲法主要用于对软件进行功能拆分。

包含多个功能操作的对象或功能集合,如文件(菜单)等。

能独立完成一件事或一个业务。如新建、打开等。

软件为了完成业务或完成核心功能所经历的步骤。

是对业务的不同处理方式。

如要求用户名只能用英文,5-11 个字符等。

即时贴程序部分需求说明

便签的数量最多为 50 个

便签标题字数最多为 40 个字节

便签的正文文字数量最多为 200 个

年份只能设置在 1900-2100 之间

2 开始编写测试需求分析

将功能拆分与整理的需求信息写入测试需求分析

软件测试的测试计划怎么写(全程软件测试一一二)(8)

三、 测试需求分析与测试用例设计方法

1 场景法

1.1 测试点/检查点

1.2 场景法概述

1.3 场景的定义

按照正确的业务流程来实现的一条操作路径(模拟正确的操作流程)。

导致程序出现错误的操作流程(模拟错误的操作流程)。

1.4 场景法的分析步骤

1.5 场景法案例:ATM 机取款

软件测试的测试计划怎么写(全程软件测试一一二)(9)

软件测试的测试计划怎么写(全程软件测试一一二)(10)

软件测试的测试计划怎么写(全程软件测试一一二)(11)

1、基本流(正确的流程)

(1)插入银行卡:客户将银行卡插入 ATM 机的读卡器

(2)验证银行卡:ATM 机从银行卡的磁条中读取账户代码,并检查它是否属于可以接受的银行卡

(3)输入密码:ATM 机要求客户输入密码

(4)验证密码:确定该密码是否正确

(5)进入 ATM 主界面:ATM 显示在本机中可用的各种选项

(6)选择取款并输入金额:客户选择“取款”,并选择取款金额

(7)ATM 机验证:ATM 机进行验证账户余额是否满足以及总取款金额是否满足要求,验证 ATM 机内现金是否够用

(8)更新账户余额、出钞:验证成功,更新账户余额,输出现金,提示用户收取现金

(9)返回主界面

2、备选流(各种错误情况)

(1)银行卡无效:提示错误并退卡

(2)密码错误:提示错误,并判断是否 3 次错误

(3)密码 3 次错误:吞卡

(4)账户余额不足:提示错误并退卡

(5)总取款金额超出当日可取限额:提示错误并退卡

(6)ATM 机余额不足:提示错误并退卡

软件测试的测试计划怎么写(全程软件测试一一二)(12)

1.6 场景法练习

软件测试的测试计划怎么写(全程软件测试一一二)(13)

2 等价类划分

2.1 案例引入

软件测试的测试计划怎么写(全程软件测试一一二)(14)

2.2 等价类划分核心思想

2.3 等价类划分的步骤

2.4 等价类划分案例

阅读文档

借助开发知识

与开发或用户沟通

了解用户群及行业知识

写出需求:-99~99 之间的整数

有效类

无效类

2.5 等价类划分练习

2.6 等价类划分注意事项

遗漏一种测试情况

冗余测试

过于粗略可能会漏掉软件缺陷

积累经验

2.7 思考题

软件测试的测试计划怎么写(全程软件测试一一二)(15)

3 边界值分析

3.1 一个缺陷

软件测试的测试计划怎么写(全程软件测试一一二)(16)

软件测试的测试计划怎么写(全程软件测试一一二)(17)

3.2 边界值分析的思想与步骤

最小值

小于最小值

最大值

大于最大值

3.3 边界值分析案例

两位数加法计算器的边界值

3.4 为什么分析边界值

看看下面的代码有错误吗?

软件测试的测试计划怎么写(全程软件测试一一二)(18)

3.5 边界值分析练习

使用边界值分析方法写测试点

软件测试的测试计划怎么写(全程软件测试一一二)(19)

测试知识的储备:了解开发原理,可能的编码方式

if (bl >= 'A' && bl <= 'Z')

if (bl >=65 && bl <=90)

if (bl > 64 && bl < 91)

if(bl>='0' && bl<='9')

if(bl>=0 && bl<=9)

if (bl>= -32768 && bl <= 32767)

if (bl >= -99 && bl<= 99)

部分 ASCII

软件测试的测试计划怎么写(全程软件测试一一二)(20)

3.6 边界值分析思考题

标题字数:1-40 字节

标题字数:0-40 字节

下拉列表

分页

4 决策表

4.1 前面方法忽略的问题

测试两位数加法计算器的测试没有考虑输入组合。

软件测试的测试计划怎么写(全程软件测试一一二)(21)

4.2 决策表的分析步骤

分析输入和输出:用等价类划分分析输入的各种情况、输出的各种情况

4.3 决策表案例

分析输入条件和输出条件

输入 1:

条件 1: 0<=X<=99

条件 2: -99<=X<0

条件 3: X<-99

条件 4: X>99

输入 2:

条件 1: 0<=X<=99

条件 2: -99<=X<0

条件 3: X<-99

条件 4: X>99

正确计算

错误提示

软件测试的测试计划怎么写(全程软件测试一一二)(22)

软件测试的测试计划怎么写(全程软件测试一一二)(23)

优化策略

1、测试基本功能的保留;

2、一个输入错误,另外输入无所谓,可以整合;

3、所有输入都要错误过。

软件测试的测试计划怎么写(全程软件测试一一二)(24)

4.4 决策表练习

软件测试的测试计划怎么写(全程软件测试一一二)(25)

工资分为年薪制,月薪制,两者互斥

错误程度分为普通和严重,两者可同时具备

年薪制员工犯普通错误扣工资 2%,犯严重错误扣工资 6%

月薪制员工犯普通错误扣工资 4%,犯严重错误扣工资 8%

4.5 决策表的适用范围

适用于多种输入的存在组合情况时。

4.6 决策表的局限性与优化策略

导致测试量爆炸。

软件测试的测试计划怎么写(全程软件测试一一二)(26)

软件测试的测试计划怎么写(全程软件测试一一二)(27)

5 错误推测

5.1 测试若干原则回顾

5.2 什么是错误推测

在测试程序时,人们可以根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试方法。

输入数据测试方面

输出数据测试方面

数据结构测试方面

文件系统方面

5.3 输入数据方面的错误推测

5.3.1 输入非法数据

输入非法类型

输入非法范围/长度

输入非法格式

1、错误信息的检查:需要额外考虑错误提示信息的内容

2、错误信息和错误要对应一致

3、错误信息不能为空

4、错误信息的内容不能只是错误代码,不能包含开发信息

5、错误信息不能中英文混合

软件测试的测试计划怎么写(全程软件测试一一二)(28)

5.3.2 输入默认值

软件测试的测试计划怎么写(全程软件测试一一二)(29)

软件测试的测试计划怎么写(全程软件测试一一二)(30)

接受软件的默认值

键入空值

将默认值改为另外一个值

将默认值改为另外一个值,再变为空值

5.3.3 输入特殊字符(集)

根据被测软件所处的操作系统、程序设计语言、后台数据库以及具体业务等信息列出表格,进行讨论,标明哪些需要测试,哪些需要剔除。

了解具体行业知识,具体问题具体分析。

文件命名以下特殊字符(33 个):不能使用:\ / < > | “ : * ?,com0-com9,lpt0-lpt9,prn、aux、nul、con。

用户名有哪些特殊字符?

软件测试的测试计划怎么写(全程软件测试一一二)(31)

QQ 昵称、聊天内容有哪些特殊字符?

5.3.4 输入合法数据的非法组合

输入可能是出现问题的组合值。

软件测试的测试计划怎么写(全程软件测试一一二)(32)

5.3.5 通过复制粘贴强制输入程序不允许输入的数据

5.4 输出数据方面的错误推测

5.4.1 同一个输入产生多种输出

输入:一个电话打来

输出:

状态一:等待接听。

状态二:占线。

状态三:停机。

状态四:无法接通。

状态五:关机。

状态六:空号。

详细测试每一种输出,不要有遗漏。

熟悉被测软件业务知识,阅读各种程序文档,明确输入可能产生的输出,列出关于程序输入于输出的一个列表,然后进行测试。

QQ 中有没有类似的测试?

5.4.2 验证输出结果的正确性

软件测试的测试计划怎么写(全程软件测试一一二)(33)

不仅测试输入的正确性,还要检查结果的正确性。

测试人员要尽可能多地学习所涉及问题的领域。

5.5 数据结构方面的错误推测

5.5.1 数据结构溢出

1、变量

上溢:值太大

下溢:值太小

2、数组

上溢:数据量太多

下溢:数据量太少

QQ 中有相关案例吗?

5.5.2 计算结果溢出

软件测试的测试计划怎么写(全程软件测试一一二)(34)

输入非法值或很大与很小数据,强制结果产生上溢或下溢。

5.5.3 操作数和操作符不符

1、是否是缺陷?

软件测试的测试计划怎么写(全程软件测试一一二)(35)

如果是缺陷,开发人员修改成什么样的结果,你作为测试人员会确认这个缺陷已经被修复?

找到程序中容易引起操作数和操作符不符的计算、表达式等。

5.6 文件系统方面的错误推测

5.6.1 使文件系统超载

假设“软件测试工程师管理系统”要保存 10000 个工程师信息,则保存时engineer.txt 文件可能会有 20M 大小,如果此时磁盘只有 10M 可用空间了,“软件测试工程师管理系统”会如何动作呢?

创建满容量或近乎满容量的文件系统,然后强制执行各种通过输入或输出访问文件系统的操作。

打开足够多的文件,文件打开时会强制创建备份副本,从而占用双倍的存储空间。

使用工具 Canned Heat,模拟文件系统超载。

5.6.2 更改文件访问权限

1、不同的用户对相同文件具有不同的访问权限,需要考虑登录同一台机器的多个用户操作相同文件的权限问题。

打开一个文件,在操作系统中修改该文件的访问权限。有些操作系统允许权限高的用户控制一般用户已经打开的文件。

2、两个应用程序打开,关闭同一个文件。

如把同一应用程序的不同版本安装在同一机器上,在不同版本的应用程序中打开和关闭同一文件;

试着在某个应用程序中打开在另一个程序中已打开的文件,这可能会导致文件访问权限上出现冲突。

5.6.3 使介质忙或不可用

大多数操作系统能同时运行多个应用程序,但相互切换时会有延迟,但是没有对错误响应。

通过启动大量应用程序,强制它们都打开并保存文件来使文件系统处于忙的状态;或者同时下载大量文件也可以使后台拥挤。

使用一些测试工具来模拟磁盘的状况。

5.6.4 介质损坏

损坏的介质可能使操作系统传回错误代码,这些错误代码可能没有在应用程序中编程处理。

损坏介质的方法使用不很多,只有少数公司采用,大多是开发操作系统、设备驱动程序以及以安全为主的应用程序的公司会采用这种测试方法。确定是否使用该方法,主要要考虑数据对用户的重要性。

该方法可以使用实际损坏了的介质。检查应用程序对错误的处理能力,应用程序可以对错误进行处理或者将问题告诉用户,并且要确保用户数据文件不丢失、不损坏。

也可以通过软件模拟。

5.7 错误推测总结

6 编写测试点

将测试点写入测试需求分析说明书,或者 XMind 等,留存下以供将来编写测试用例使用。

软件测试的测试计划怎么写(全程软件测试一一二)(36)

四、 需求评审

1 意义

所有参与方达成一致。

已发现的问题被阐述清楚、被修正。

2 需求评审的质量要求

3 需求评审的参加人员

4 测试人员参与评审时的注意事项

这些需求都是用户提出来的吗?

有没有画蛇添足的需求?没有漏掉什么需求吗?

和竞争对手的产品做过比较吗?我们的产品优势体现在哪里?

是否正确地描述了每个需求?这条描述是否存在二义性的问题?

我的理解和文档作者的理解一致吗?

,