测试用例设计经典指南.docx

上传人:b****4 文档编号:4993609 上传时间:2022-12-12 格式:DOCX 页数:21 大小:73.48KB
下载 相关 举报
测试用例设计经典指南.docx_第1页
第1页 / 共21页
测试用例设计经典指南.docx_第2页
第2页 / 共21页
测试用例设计经典指南.docx_第3页
第3页 / 共21页
测试用例设计经典指南.docx_第4页
第4页 / 共21页
测试用例设计经典指南.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

测试用例设计经典指南.docx

《测试用例设计经典指南.docx》由会员分享,可在线阅读,更多相关《测试用例设计经典指南.docx(21页珍藏版)》请在冰豆网上搜索。

测试用例设计经典指南.docx

测试用例设计经典指南

测试用例:

为实施测试而向被测试系统提供的输入数据、操作或各种环境设置以及期望结果的一个特定的集合。

故障模型:

●输入非法数据

如何发现这类问题

软件应该能够拒绝非法的输入或对非法的输入做出反应。

我们可以给出一组不正确的输入来测试软件

这个能力。

无论测试的是GUI的输入还是API调用的参数,在进行测试时,都必须从输入的属性出发

一般要考虑的属性如下:

1. 输入类型:

键入无效的类型常会产生错误信息。

例如必须输入整形,而键入了实型或字符型。

2. 输入长度:

对于字符型,键入太多的字符常会引出错误信息。

3.边界值:

输入边界值或超过边界值的数据,

●输入默认值

此类缺陷产生原因:

1.定义变量时未赋初值

2.赋初值不正确

3.再次赋初值后对程序其他部分的影响

测试方法小结

1.应用场合:

需要有默认值的地方

2. 测试方法:

分别从选项按钮、配置面板、安装屏幕、开始界面等方面进行考虑;强制使用或不使用

认值等等。

测试知识储备:

全面理解需求规格说明书中,对默认值的要求;同时深刻理解被测软件的行业背景。

●输入特殊字符集

此类缺陷产生原因:

1.特殊字符处理问题,没有对特殊字符输入做程序处理

2.注意系统保留字符串

3.注意应用程序处理特殊字符

●输入使缓冲区溢出的数据

此类缺陷产生原因:

输入的数据未经检查,超过该值固定大小内存缓冲区,影响其他内存单元,严重的引起程序关闭。

●输入产生错误的合法数据组合

此类缺陷产生原因:

测试多个输入值的组合,每个合法输入值单独测试通过不代表合法输入值的组合测试也能通过。

如何发现这类问题:

首先要确定测试哪些输入组合,并弄清楚它们之间的“关系”。

我们可以用等价类划分和边界值的方法

择输入数据。

测试方法小结

应用场合:

输入值之间存在依赖关系。

测试方法:

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

测试知识储备:

尽可能多的内部数据结构的属性和内容,并且与开发人员多探讨,以确定输入的数据值。

●同一个输入产生多个输出

缺陷产生原因:

开发人员可能没有判断当前所处状态,就想当然的给出了输出。

如何发现这类错误:

熟悉被测软件业务知识,阅读各种程序文档,明确输入可能产生的输出。

●产生不符合业务规则的无效输出

缺陷产生原因:

程序开发人员对业务了解不深刻

如何发现这类问题:

我们在测试的时候必须了解软件的预期目标,这样在检查输出结果的时候才可以

道是正确的还是错误的。

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

测试方法小结

应用场合:

强制产生不符合业务背景的知识。

测试方法:

列举出所有无效的输出,然后逐一测试。

测试知识储备:

全面理解需求规格说明书中,熟悉行业背景知识。

●输出属性修改后的结果

缺陷产生的原因:

开发人员在创建对象时设立了初始值,但当用户修改输出对象属性,开发人员编写

对应代码没有考虑这些属性值的修改对其他变量的影响。

如何发现这类问题:

该测试方法可以使用在那些输出具有可编辑性、可修改性的功能中。

测试人员首先

要仔细了解能够产生的输出,特别注意具有可编辑属性的输出。

测试人员的任务就是强制每个输出产生

并编辑其属性,然后再次强制产生输出。

测试方法小结

1.    应用场合:

输出的结果,可以由用户修改属性得出。

2.    测试方法:

强制每个输出产生,并编辑其属性,然后再次强制产生输出。

测试知识储备:

全面理解需求规格说明书中,了解能够产生的输出。

●检查屏幕刷新

缺陷产生的原因:

刷新频率快了,程序运行变慢;刷新频率慢了,则会出现案例演示出现的现象。

刷新

范围控制

如何发现这类问题:

测试刷新问题的方法是增加、删除和移动屏幕上的对象。

这样会使某些对象重新显示。

如果不能正确地、及时地进行重新显示,就产生了软件缺陷。

我们可以通过以下几个方法来检验刷新:

1. 从起始位置移动对象。

先移动一点,然后增加移动幅度;先移动一次或两次,然后多次移动,确保覆盖了所有区域。

2.  从覆盖对象的边界开始,一点点覆盖到其中一个对象遮住另一个对象。

3.   使用不同类型的对象。

如果应用程序支持多种类型的对象,如文本对象,图形对象等,就把这些不同对象混在一起使用。

4.如果一个对象包含在另一个对象中,把被包含对象的边界设定在包含对象之外。

拖动被包含对象,可能出现刷新问题。

测试方法小结

1.        应用场合:

一个对象包含在另一个对象中,拖动被包含对象,可能出现刷新问题。

2.        测试方法:

增加、删除和移动屏幕上的对象。

测试知识储备:

全面理解需求规格说明书中,了解程序中对象之间的关系

●数据结构溢出

缺陷产生的原因:

数据结构限制。

内存限制。

硬盘限制

如何发现这类问题

1.  确定数据结构的界限,尝试将过多的值输入数据结构。

测试方法小结

1.    应用场合:

程序中存在数组等。

2.    测试方法:

尝试将过多的值输入数据结构,测试上溢;对于下溢的测试,我们可以尝试多删除一个数据。

测试知识储备:

全面理解需求规格说明书中,确定数据结构的界限。

●数据结构不符合约束

缺陷产生的原因:

在建立数据项时对数据属性的约束进行了检查,而修改数据项的代码未做约束性检查。

如何发现这类问题

1.    确认候选数据,并列出其可修改的属性。

对每个属性列出有效值的允许范围,约束的条件。

2.    确定所有可修改属性的功能位置。

3.    对数据进行初始化,改变每个属性以确定是否正确执行了约束。

4.如果数据约束遭到破坏,可能导致系统崩溃,或者表现为响应时间延迟,错误信息不正确(软件发现了错误,可不知道是什么错误)以及使用错误数据产生的无效输出。

测试方法小结

1.    应用场合:

应用程序内部数据结构存在约束。

2.    测试方法:

破坏内部数据的约束。

测试知识储备:

全面理解需求规格说明书中,确定内部数据结构的所有约束。

●操作数和操作符不符

如何发现这类错误:

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

测试方法小结

1.    应用场合:

需要进行数值计算程序和图形操作程序的测试,例如加、减、乘、除等

2.    测试方法:

对于数值计算考虑操作数和操作符之间的限定关系。

对于图形的计算还要考虑的各种输入数据之间的组合关系等等。

测试知识储备:

全面掌握被测软件的中操作符对操作数的要求。

掌握不同的操作符,操作数具有的不同的有效和无效的取值范围。

●函数递归调用

缺陷产生的原因:

函数递归调用,没有合理的退出条件,可能会导致系统死机。

如何发现这类错误:

注意函数中的递归调用,注意合理的退出条件。

测试方法小结

1.        应用场合:

需要和其他对象进行交互的地方。

2.        测试方法:

考虑对象的自我交互或复制。

测试知识储备:

全面掌握被测软件的需求。

●计算结果溢出

如何发现这类错误:

输入非法值,强制数据产生溢出,观察程序的处理情况。

测试方法小结

1.        应用场合:

应用程序执行能够导出待产生结果并进行内部存储的计算。

2.        测试方法:

强制数据产生上溢或下溢。

测试知识储备:

全面掌握被测软件的需求,了解计算变量的上下限。

●数据共享和关联功能出错

缺陷产生的原因:

当多个功能共享数据时,一个功能改变了数据值可能会对其他功能项产生不可预知的影响。

如何发现这类问题

当应用程序在同一时间完成一个以上的功能或当一个以上的功能在同一时间处于运行状态时,就可以使用该方法进行测试。

利用一个功能影响输入,输出数据或另一个功能的计算。

在测试前我们要确定哪些功能是相互依赖或共享数据:

1.        能应用同样输入的每个功能,如果这些功能有相互重叠的输入域,很可能就会存在交互问题。

2.        有类似的输出产生的功能。

如果某些功能结合起来产生单个输出,就说明这些部件之间存在关系,应该一起测试。

一个功能被包含在另一个功能的计算之中。

例如,测试鼠标选取对象的功能,我们不仅要测试鼠标选取屏幕上的文本的功能,还可以把包含超链接文本、粗体、斜体、符号、图形等元素放在一起,测试鼠标选取这些元素的功能。

测试方法小结

1.        应用场合:

一个以上的功能在同一时间处于运行状态时。

2.        测试方法:

以点代面,重点测试某一功能,对可能与这个功能相连的其他功能附带测试。

测试知识储备:

全面掌握被测软件的需求,在测试之前对被测功能之间的依赖关联有所掌握,另外还需要对共享数据有所掌握。

●文件系统超载

测试方法小结

1.        应用场合:

系统较大,运行时需要较大的空间。

2.        测试方法:

强制磁盘系统满容量或容量等于小于被测软件运行时所需容量后,运行被测软件或利用测试工具模拟磁盘状况。

测试知识储备:

全面掌握被测软件的需求,了解被测软件处理超载状态的文件系统的能力。

●介质忙或不可用

此类缺陷产生的原因:

开发人员没有考虑介质忙或者不可用的情况,未对此种情况做出处理。

如何发现这类问题

通过启动大量应用程序,强制它们都打开并保存文件来使文件系统处于忙的状态;或者同时下载大量文件也可以使后台拥挤;或者如方法16一样,我们可以使用一些测试工具来模拟磁盘的状况,例如,模拟系统打开了太多的文件。

检查被测软件能否正确处理这种情况,应用程序应该给出错误信息或等待指示,提示用户正在处理。

测试方法小结

1.        应用场合:

应用程序的运行需要消耗大量内存或运行时需求其他相关软件同时运行。

2.        测试方法:

启动大量程序或利用测试工具模拟磁盘状况。

测试知识储备:

全面掌握被测软件的需求,了解被测软件运行时对系统的要求

●介质损坏

缺陷产生的原因

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

操作系统不能检测出所有的这些错误。

如何发现这类问题:

一般软件,不必考虑介质损坏问题。

一般用在操作系统、设备驱动程序/控制器以及以安全为主的应用程序才会考虑此类测试。

如何发现这类问题

1.        损坏介质的方法使用不很多,只有少数公司采用,大多是开发操作系统、设备驱动程序以及以安全为主的应用程序的公司会采用这种测试方法。

确定是否使用该方法,主要要考虑数据对用户的重要性。

2.操作该方法来测试,只能使用实际损坏了的介质,例如,刮伤、灰尘、磁干扰等。

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

测试方法小结

1.        应用场合:

应用程序对安全的要求较高,对灾难恢复的要求较高。

2.        测试方法:

用实际损坏介质的方法来测试应用程序。

测试知识储备:

全面掌握被测软件的需求,了解被测软件运行时对系统的要求。

●使用不合法的文件名

●更改文件访问权限

此类缺陷产生的原因

特别需要注意:

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

如何发现这类问题

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

例如,把同一应用程序的不同版本安装在同一机器上,在不同版本的应用程序中打开和关闭同一文件,或试着在某个应用程序中打开在另一个程序中已打开的文件,这可能会导致文件访问权限上出现冲突。

2.打开一个文件,在操作系统中修改该文件的访问权限。

有些操作系统允许权限高的用户控制一般用户已经打开的文件。

测试方法小结

1.        应用场合:

需要对文件进行读写的应用程序。

2.        测试方法:

修改文件访问权限或用低权限的用户访问文件。

测试知识储备:

全面掌握被测软件的需求,了解文件读写需要的权限。

●文件内容受损

缺陷产生的原因:

开发人员没有验证文件的格式和内容,对验证不通过的文件没有做出正确处理。

如何发现这类问题

1.        手工损坏文件。

从应用程序已创建的某个完整文件开始对其进行编辑,改变文件格式和内容。

若是文本文件,使用标准编辑器进行文件修改;若是二进制文件,使用如UltraEdit的十六进制编辑器。

我们可以删除、复制、添加和修改文件的分隔符和实际的字段值。

2.使用测试工具。

模拟CRC(循环冗余校验)错误,或强制文件API返回无效的返回码。

测试方法小结

1.        应用场合:

需要对文件格式和内容进行效验的应用程序。

2.        测试方法:

手工损坏文件或利用测试工具模拟CRC错误。

测试知识储备:

全面掌握被测软件的需求,了解文件读写需要的权限。

一:

文本框的测试

1.输入正常字母或数字

2.输入已存在的工作表名称

3.输入超长字符

4.输入默认值,空白,空格。

5.若只允许输入字母,尝试输入数字;反之亦然。

6.利用复制粘贴等操作强制输入程序不允许输入的数据。

7.输入特殊字符集

8输入超过文本框长度的字符或输入多行文本,检查输入内容可以正常显示。

9.输入不符合格式的数据,检查程序能否正确校验。

二:

按钮测试

1.点击按钮正确相应操作。

2.对非法的输入或操作给出足够的提示说明。

3.错误说明应该清楚明了、恰当,让用户明白错误出处。

4.对可能造成数据无法恢复的操作必须提供确认信息,给用户放弃选择的机会。

三:

单选按钮测试

1.多个执行同一功能的单选按钮不能同时选中,只能选中其中一个。

2.逐一执行每个单选按钮的功能。

确保有效

3.一组执行同一功能的单选按钮在初始状态时必须有一个被默认选中,不能为空。

四:

复选框测试

1.多个复选框可以同时选中。

2.多个复选框可以被部分选中。

3.多个复选框可以都不被选中。

4.逐一执行每个复选框的功能。

五:

up-down控件+文本框测试

1.直接输入数字或用上下箭头控制。

2.利用上下箭头控制数字自动循环。

3.直接输入超边界数值。

4.输入默认值,空白。

5.输入字符。

六:

组合列表框测试

1.条目内容正确。

2.逐一执行列表框中每个条目的功能。

3.检查能否向组合列表框输入数据。

七:

列表框测试

1.条目内容正确。

2.逐一执行列表框中每个条目的功能。

3.列表框内容多要使用滚动条。

八:

滚动条测试

1.滚动条的长度根据显示信息的长度或宽度及时变换,以利于用户了解显示信息的位置和百分比。

2.拖动滚动条,检查屏幕的刷新,并查看是否有乱码。

3.拖动滚动条。

4.点击滚动条

5.用滚轮控制滚动条。

6.滚动条的上下按钮。

九:

控件组合测试

控件间的相互作用

Tab键的顺序

热键的使用

回车键和ESC键的使用

控件组合后功能的实现

1)列出用户常用的功能组合或者在需求中特别提出的重点功能,剔除一些无意义的功能组合。

2)利用等价类划分等方法,筛选功能组合的取值范围,减小测试区域的面积。

3)尽量组合其他非重点功能,至少每个控件都被组合过一次。

4)一个测试用例中功能不要组合太多,否则发现软件缺陷后测试人员优化缺陷报告的难度和程序员调试程序的难度都会增加。

5)对在执行单个功能的测试时发现缺陷的功能,也要重点进行组合功能的测试。

编写测试用例本身就是个不断完善的过程,由于软件缺陷具有群集现象,所以我们要在出现缺陷的地方投入更多的注意力。

十:

打开文件

通过测试:

1.直接打开本地的文件。

2.打开网络上文件。

3.直接输入文件路径和名称。

4.逐一测试打开不同的文件类型。

5.选择打开方式,版本。

6.选择打开文件的操作。

7.选择取消。

选择“取消”按钮退出窗口,不打开任何文件。

8.热键、回车键、Tab键的使用。

失败测试:

1.输入不存在的文件名。

2.改变文件访问权限。

3.更改文件扩展名。

4.修改文件名称。

5.破坏文件内容。

6.给文件输入无效文件名,然后打开文件。

7.使存储介质处于忙或不可用状态。

8.在磁盘容量满的情况下,打开文件。

——准备编写测试用列

A.收集资料:

1.需求文档

2.设计文档

3.遗留系统相关文档

4.与相关人员讨论

B。

探索性测试:

1.把软件当产品说明书来对待,分步骤地逐项探索软件特性,记录软件执行情况,详细描述功能。

2.可以通过探索性测试来获得更多的需求。

3.探索性测试与经过深思熟虑的、计划好的测试过程有所不同,它并不预先设计测试用例或者精确地按照一个计划来执行,它依靠的是测试人员的知识水平和创造力。

4.可用于重现和分析缺陷、研究缺陷和程序其他模块的相关性

5.是测试用例有利的补充

6.具体问题具体分析

——测试用例的更新和维护:

A.需要更新和维护的原因:

1.需求变更,功能变化,测试用例也需要更新

2.测试用例需要细化和不断完善,是个循序渐进的过程

3.通过测试实践检验测试用例并添加、修改、删除测试用例

B.测试用例要经过正式、有效的评审

C.利用工具来维护测试用例

——等价类划分方法的思路

依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类,从等价类中选出一个测试用例,如果

这个测试用例测试通过,则认为所代表的等价类测试通过,这样就可以用较少的测试用例达到尽量多的

功能覆盖,解决了不能穷举测试的问题。

等价类划分的步骤:

1.划分等价类2.建立等价类表3.设计测试用例4.细化等价类5.补充完善等价类表和测试用列

因果图法的设计用例的步骤:

1.分析输入条件和输出条件2.根据输入和输入条件简化并画出判定表3.得出测试用例

通过测试:

通过测试主要用于验证系统和它陈述的需求一致,确认软件至少能做什么,一般通过分析规格需求说明

书来设计测试用例。

失败测试:

为了破坏软件而设计和执行的测试案例称为失败测试或迫使出错测试。

失败测试用于证明“一

个系统不会做不需要它做的事情”,同时也保证了系统的容错性。

测试方法的选择:

1.在任何情况下都必须使用边界值分析方法

2.用等价类划分方法补充一些测试用例

3.用错误猜测法再追加一些测试用例

4.如果程序的功能说明中含有输入条件的组合情况,则应在一开始就选用因果图法

5.如果程序某功能适合自动测试,可以采用自动测试以及随机测试

窗体测试用例

编号

测试内容

是否通过

1

窗体大小合适,内部控件布局合理,不过于密集,也不过于空旷

2

快速或慢速移动窗体,背景及窗体本身刷新正确

3

缩放窗体。

窗体上的控件也应该随着窗体而缩放

4

不同的显示分辨率下,窗体内容正确

5

随操作不同,状态栏的内容能正确变化

6

单击工具栏图标后正确执行相应操作

7

工具栏显示的图标和菜单中的图标一致,直观地代表要完成的操作

8

错误信息的内容,内容正确,无错别字

9

显示的错误信息内容明确,不模糊不清

10

父窗体或主窗体的中心位置在屏幕对角线焦点附近

11

子窗体位置在主窗体的左上角或正中

12

多个子窗体弹出时应该依次向下方偏移,以显示出窗体标题为宜

13

重要的命令按钮与使用较频繁的按钮要放在界面上注目的位置

14

界面长宽接近黄金点比例,不要长宽比例失调

15

按钮大小基本相近,不用太长的名称

16

按钮的大小与界面的大小和空间协调

17

字体的大小与界面的大小比例协调,通常使用宋体,字号为9~12

18

前景色与背景色搭配合理协调

19

使用柔和颜色,杜绝刺目的颜色

20

界面风格要保持一致,字的大小、颜色、字体要相同

控件测试用例

控件

测试内容

是否通过

1

控件摆放对齐,间隔要一致,没有重叠区域

2

无错别字

3

无中英文混合

4

控件的字体和大小都要一致

5

控件显示完整,不被裁剪或重叠

6

文字无全角和半角混合使用

菜单测试用例

菜单

测试内容

是否通过

1

菜单正常工作,菜单标题与实际执行内容一致

2

无错别字

3

快捷键无重复

4

热键无重复

5

快捷键和热键正常工作,与实际执行内容一致

6

菜单的字号和字体一致

7

无中英文混合

8

菜单和语境相关,对于不同用户或执行不同功能,显示菜单不同

9

与当前进行的操作无关的菜单应该被置为灰色

10

鼠标右键菜单操作,同以上1~9

11

菜单采用“常用—主要—次要—工具—帮助”的位置排列,符合流行的Windows风格

12

下拉菜单根据菜单的含义进行分组,并按照一定的规则排列,用横线隔开

13

菜单深度一般要求最多控制在3层以内

14

菜单前的图标大小适合,与字高保持一致

15

主菜单数目合适,应为单排布置

特殊属性测试用例

编号

测试内容

是否通过

1

安装界面上有公司介绍或产品介绍,并有公司的图标

2

主界面以及大多数界面上最好有公司图标

3

登录界面上有本产品的标志,同时包含公司图标

4

选择“帮助”—“关于”命令,可看见版权和产品信息

5

公司的系列产品要保持一致的界面风格,包括背景色、字体、菜单排列方式、图标、安装过程、按钮用语等。

界面设计的总体原则

●长宽接近黄金点比例,切忌长宽比例失调。

●按钮大小基本相近,忌用太长的名称,免得占用过多的界面位置。

●按钮的大小要与界面的大小和空间相协调。

●放置完控件后界面不应有太大的空缺位置。

●字体的大小要与界面的大小比例协调,通常使用宋体,字号为9~12,最好不要使用超过12号的字体。

●前景色与背景色搭配合理协调,反差不宜太大,最好少用深色,常用色调考虑使用Windows界面色调。

●如果使用其他颜色,主色要柔和,具有亲和力与磁力,坚决杜绝刺目的颜色。

●界面风格要保持一致,字的大小、颜色、字体要相同,除非是需要艺术处理或有特殊要求的地方。

●菜单中相关联的功能应该放在一起,窗体布局合理,不宜放置太多控件。

●合理使用禁灰,隐藏控件的功能,保持界面的简洁。

缺陷报告

编号:

001

软件名称:

testengineer

编译号:

20100921001

版本号:

v1.0

测试人员:

王海强

日期:

2010-9-21

指定处理人:

硬件平台:

操作系统:

windows2000

严重程度:

死机问题功能问题(高、中、低)界面问题建议

优先级:

P1P2P3P4

缺陷概述:

详细描述:

处理结果:

已修复重复提交不重现无法修改暂不修改不修改

处理日期:

修改记录:

返测人:

返测版本:

返测日期:

返测记录:

对控件的测试

对联机帮助的测试

对菜单的测试

对快捷键的测试

安装测试

运行测试

卸载测试

安装测试要注意的事项:

文档审查单

检查项目

检查的问题

是否通过

术语

用户能用户能否理解术语,是否需要定义?

术语是术语是否标准?

术语使用是否一致?

标题

标题是否合适,有无丢失的标题,标题是否和实际产品一致。

内容

功能描述正确清晰,涉及的各个菜单、控件的名称与软件系统的名称一致

逐步执行

文字,仔细阅读文字,完全按照提示操

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1