当前位置:文档之家› 软件测试方法与经验

软件测试方法与经验

软件测试方法与经验
软件测试方法与经验

一、等价类法

1.定义

是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒测试用例设计方法。

2.划分等价类

等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。等价类划分可有两种不同的情况:有效等价类和无效等价类。

1)有效等价类

是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。

2)无效等价类

与有效等价类的定义恰巧相反。无效等价类指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多个。

设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受意外的考验,这样的测试才能确保软件具有更高的可靠性。

3.划分等价类的标准

1)完备测试、避免冗余;

2)划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并是整个集合;

3)并是整个集合:完备性;

4)子集互不相交:保证一种形式的无冗余性;

5)同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到"相同的执行路径"。

4.划分等价类的方法

1)在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。

如:输入值是学生成绩,范围是0~100;

2)在输入条件规定了输入值的集合或者规定了"必须如何"的条件的情况下,可确立一个有效等价类和一个无效等价类;

3)在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类。

4)在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。

例:输入条件说明学历可为:专科、本科、硕士、博士四种之一,则分别取这四种这四个值作为四个有效等价类,另外把四种学历之外的任何学历作为无效等价类。

5)在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则);

6)在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。

5.设计测试用例

在确立了等价类后,可建立等价类表,列出所有划分出的等价类输入条件:有效等价类、无效等价类,然后从划分出的等价类中按以下三个原则设计测试用例:

1)为每一个等价类规定一个唯一的编号;

2)设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;

3)设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。

二、边界值法

1.定义

边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。

2.与等价划分的区别

1)边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。

2)边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。

3.边界值分析方法的考虑

长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。

使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。

4.常见的边界值

1)对16-bit 的整数而言 32767 和 -32768 是边界

2)屏幕上光标在最左上、最右下位置

3)报表的第一行和最后一行

4)数组元素的第一个和最后一个

5)循环的第 0 次、第 1 次和倒数第 2 次、最后一次

5.边界值分析

1)边界值分析使用与等价类划分法相同的划分,只是边界值分析假定错误更多地存在于划分的边界上,因此在等价类的边界上以及两侧的情况设计测试用例。

例:测试计算平方根的函数

--输入:实数

--输出:实数

--规格说明:当输入一个0或比0大的数的时候,返回其正平方根;当输入一个小于0的数时,显示错误信息"平方根非法-输入值小于0"并返回0;库函数Print-Line可以用来输出错误信息。

2)等价类划分:

I.可以考虑作出如下划分:

a、输入 (i)<0 和 (ii)>=0

b、输出 (a)>=0 和 (b) Error

II.测试用例有两个:

a、输入4,输出2。对应于 (ii) 和 (a) 。

b、输入-10,输出0和错误提示。对应于 (i) 和 (b) 。

3)边界值分析:

划分(ii)的边界为0和最大正实数;划分(i)的边界为最小负实数和0。由此得到以下测试用例:

a、输入 {最小负实数}

b、输入 {绝对值很小的负数}

c、输入 0

d、输入 {绝对值很小的正数}

e、输入 {最大正实数}

4)通常情况下,软件测试所包含的边界检验有几种类型:数字、字符、位置、重量、大小、速度、方位、尺寸、空间等。

5)相应地,以上类型的边界值应该在:最大/最小、首位/末位、上/下、最快/最慢、最高/最低、最短/最长、空/满等情况下。

6)利用边界值作为测试数据

在多数情况下,边界值条件是基于应用程序的功能设计而需要考虑的因素,可以从软件的规格说明或常识中得到,也是最终用户可以很容易发现问题的。然而,在测试用例设计过程中,某些边界值条件是不需要呈现给用户的,或者说用户是很难注意到的,但同时确实属于检验范畴内的边界条件,称为内部边界值条件或子边界值条件。

内部边界值条件主要有下面几种:

a)数值的边界值检验:计算机是基于二进制进行工作的,因此,软件的任何数值运算都有一定的范围限制。

b)字符的边界值检验:在计算机软件中,字符也是很重要的表示元素,其中ASCII和Unicode 是常见的编码方式。下表中列出了一些常用字符对应的ASCII码值。

c)其它边界值检验

6.基于边界值分析方法选择测试用例的原则

1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。

例如,如果程序的规格说明中规定:"重量在10公斤至50公斤范围内的邮件,其邮费计算公式为……"。作为测试用例,我们应取10及50,还应取10.01,49.99,9.99及50.01等。

2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据。

比如,一个输入文件应包括1~255个记录,则测试用例可取1和255,还应取0及256等。

3)将规则1)和2)应用于输出条件,即设计测试用例使输出值达到边界值及其左右的值。例如,某程序的规格说明要求计算出"每月保险金扣除额为0至1165.25元",其测试用例可取0.00及1165.24、还可取一0.01及1165.26等。

再如一程序属于情报检索系统,要求每次"最少显示1条、最多显示4条情报摘要",这时我们应考虑的测试用例包括1和4,还应包括0和5等。

4)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。

5)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。

6)分析规格说明,找出其它可能的边界条件。

三、因果图法

1.定义

是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。

2.因果图法产生的背景

等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。

如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻辑模型)。

3.因果图介绍

1) 4种符号分别表示了规格说明中向4种因果关系。

2) 因果图中使用了简单的逻辑符号,以直线联接左右结点。左结点表示输入状态(或称原因),右结点表示输出状态(或称结果)。

3) Ci表示原因,通常置于图的左部;ei表示结果,通常在图的右部。Ci和ei均可取值0

或1,0表示某状态不出现,1表示某状态出现。

4.因果图概念

1) 关系

①恒等:若ci是1,则ei也是1;否则ei为0。

②非:若ci是1,则ei是0;否则ei是1。

③或:若c1或c2或c3是1,则ei是1;否则ei为0。“或”可有任意个输入。

④与:若c1和c2都是1,则ei为1;否则ei为0。“与”也可有任意个输入。

2) 约束

输入状态相互之间还可能存在某些依赖关系,称为约束。例如, 某些输入条件本身不可能同时出现。输出状态之间也往往存在约束。在因果图中,用特定的符号标明这些约束。

A.输入条件的约束有以下4类:

① E约束(异):a和b中至多有一个可能为1,即a和b不能同时为1。

② I约束(或):a、b和c中至少有一个必须是1,即 a、b 和c不能同时为0。

③ O约束(唯一);a和b必须有一个,且仅有1个为1。

④..R约束(要求):a是1时,b必须是1,即不可能a是1时b是0。

B.输出条件约束类型

输出条件的约束只有M约束(强制):若结果a是1,则结果b强制为0。

5.测试用例的步骤

1)分析软件规格说明描述中, 那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件), 并给每个原因和结果赋予一个标识符。

2)分析软件规格说明描述中的语义,找出原因与结果之间, 原因与原因之间对应的关系,根据这些关系,画出因果图。

3)由于语法或环境限制, 有些原因与原因之间,原因与结果之间的组合情况不可能出现,为

表明这些特殊情况, 在因果图上用一些记号表明约束或限制条件。

4)把因果图转换为判定表。

5)把判定表的每一列拿出来作为依据,设计测试用例。

四、正交排列法

利用因果图来设计测试用例时, 作为输入条件的原因与输出结果之间的因果关系,有时很难从软件需求规格说明中得到。往往因果关系非常庞大,以至于据此因果图而得到的测试用例数目多的惊人,给软件测试带来沉重的负担,为了有效地,合理地减少测试的工时与费用,可利用正交实验设计方法进行测试用例的设计。

正交实验设计方法:依据Galois理论,从大量的(实验)数据(测试例)中挑选适量的,有代表性的点(例),从而合理地安排实验(测试)的一种科学实验设计方法.类似的方法有:聚类分析方法,因子方法方法等.

利用正交实验设计测试用例的步骤:

1.提取功能说明,构造因子--状态表

把影响实验指标的条件称为因子.而影响实验因子的条件叫因子的状态.利用正交实验设计方法来设计测试用例时,首先要根据被测试软件的规格说明书找出影响其功能实现的操作对象和外部因素,把他们当作因子,而把各个因子的取值当作状态.对软件需求规格说明中的功能要求进行划分,把整体的概要性的功能要求进行层层分解与展开,分解成具体的有相对独立性的基本的功能要求.这样就可以把被测试软件中所有的因子都确定下来,并为确定个因子的权值提供参考的依据.确定因子与状态是设计测试用例的关键.因此要求尽可能全面的正确的确定取值,以确保测试用例的设计作到完整与有效。

2.加权筛选,生成因素分析表

对因子与状态的选择可按其重要程度分别加权.可根据各个因子及状态的作用大小,出现频率的大小以及测试的需要,确定权值的大小。

3.利用正交表构造测试数据集

正交表的推导依据Galois理论(这里省略,需要时可查数理统计方面的教材)。

利用正交实验设计方法设计测试用例,比使用等价类划分,边界值分析,因果图等方法有以下优点:节省测试工作工时;可控制生成的测试用例数量;测试用例具有一定的覆盖率。

五、状态图法

1.实例一

Ip1:打电话订机票,提供自己的出发地和目的地,航班及日期(完成)

Ip2:根据付费规则,飞机起飞前一小时前支付机票费用(已付款)

Ip3:拿到一张打印机票(已出票)

Ip4:机票交给验票员并登上飞机(已使用)

Ip5:消订票信息(取消订票)

Ip6:取订票信息消同时代可以得到退款(取消订票并退款)

2.实例二

Ip1:输入工程师资料 Ip2:查询工程师资料 Ip3:修改工程师资料 Ip4:删除工程师资料 Ip5:对工程师资料排序 Ip6:打印工程师资料报表 Ip7:计算工程师薪水 Ip8:输出所有工程师资料 Ip9:保存工程师资料

Ip10:重新获取工程师资料 IP11:退出系统 IP1

Ip7

六.测试大纲法

软测工程师管理系统测试大纲法

1.主菜单

(1)管理员单击列表中的信息管理,显示提供各种信息处理功能。

(2)管理员单击列表中的薪水计算,显示薪水计算功能。

(3)管理员单击列表中的排序,显示排序的方法。

(4)管理员单击列表中的生成报表,显示报表内容。

(5)管理员单击列表中的关于,显示提供的信息。

2.信息管理

(1.1)选择输入信息,显示添加工程师资料的输入框。

(1.1.1)正确的输入工程师信息,点击“添加”按钮,系统自动生成需要添加的下一个工程师信息,知道输入的工程师个数达到十个,“添加”按钮失效。

(1.1.2)点击“关闭”按钮,返回主菜单。

(1.2)选择查询信息,显示查询工程师信息的输入框。

(1.2.1)选择查询方式,按“编号”或是“姓名”。

(1.2.2)输入选择相应的信息。

(1.2.3)点击“查询”按钮,显示没有符合要求的工程师信息或者输出所要查询的工程师信息。

(1.2.4)点击“关闭”按钮,返回主菜单。

(1.3)选择删除信息,显示删除工程师信息的输入框。

(1.3.1)选择删除方式,按“编号”或是“姓名”。

(1.3.2)输入选择相应的信息。

(1.3.3)点击“确定”按钮,显示提示信息。

(1.3.3.1)点击“确定”显示没有符合要求的工程师信息或者已经删除指定的工程师信息。

(1.3.3.2)点击“取消”返回显示删除工程师信息的输入框((1.3))(1.3.4))点击“关闭”按钮,返回主菜单。

(1.4)选择修改信息,显示指定工程师的输入框。

(1.4.1)选择修改方式,按“编号”或是“姓名”。

(1.4.2)输入选择相应的信息。

(1.4.3)点击“确定”按钮,显示指定的工程师信息。

(1.4.4.1)修改指定的工程师资料。

(1.4.4.2)点击“确定”按钮,显示资料修改成功。

(1.4.4.3)点击“关闭”按钮,返回主菜单。

(1.4.4)点击“关闭”按钮,返回主菜单。

(1.5)选择信息导出,显示选择保存文件的输入框。

(1.5.1) 输入已经创建的文件名

(1.5.2 正确输入文件类型

(1.5.3)点击“打开“按钮,输入框自动关闭,显示信息已经导出到文件且回到主菜单。(1.5.4)点击“取消“按钮,返回主菜单。

(1.6)选择信息导入,显示选择导入文件的输入框。

(1.6..1)输入已经导出的文件名。

(1.6.2)正确输入文件类型

(1.6.3)点击“打开“按钮,输入框自动关闭,显示信息已经导入到文件且回到主菜单。

(1.6.4)点击“取消“按钮,返回主菜单。

(1.7)选择所有信息,显示所有工程师资料。

(1.8)选择退出系统,系统关闭。

3.薪水计算

(2.1)选择薪水计算,显示薪水计算输入框。

(2.1.1)输入用户需要的工程师编号、月工作天数、月收益金额、缴纳保险金数据。

(2.1.2)点击“计算“按钮,显示所要工程师的编号和薪水

(2.1.3)点击“取消“按钮,返回主菜单。

4.排序

(3.1)选择按编号,显示升序和降序两种排序方式。

(3.1.1)选择升序,显示编号升序的方式进行工程师资料的排序。

(3.1.2)选择降序,显示编号降序的方式进行工程师资料的排序。

(3.2)选择按姓名,显示升序和降序两种排序方式。

(3.2.1)选择升序,显示姓名笔画升序的方式进行工程师资料的排序。

(3.2.2)选择降序,显示姓名笔画降序的方式进行工程师资料的排序。

(3.3)选择按工龄,显示升序和降序两种排序方式。

(3.3.1)选择升序,显示工龄升序的方式进行工程师资料的排序。

(3.3.2)选择降序,显示工龄降序的方式进行工程师资料的排序。

5.生成报表

(4.1)选择信息报表,打印工程师的信息

(4.2)选择薪水报表,打印包括月总收益的工程师信息。

6.关于

(5.1)选择帮助,弹出一个路径提示。

(5.1.1)点击“确定”返回主菜单.

(5.2)选择关于,弹出一个信息说明提示。

(5.2.1) 点击“关闭”返回主菜单。

说明:一般操作后的显示信息在主菜单界面上,而提示是通过另一界面显示。

七、GUI输入故障模型

GUI—在界面上能够看到的东西

GUI输入—登陆界面上,人与程序的一种交互。人把信息输入到界面的一种处理,包括“按钮”

1.输入非法数据

测试方法——针对GUI的输入框,中输入各种非法数据。其中非法数据是通过需求文档以及数据库分析得出。

2.输入默认值

测试方法——

(1)考虑其特点:常用的值;设置是否合理;基本不变的信息。

(2)#接受默认值测试,预期结果成功;

#改变默认值测试,预期结果与改动后的保持一致。

(3)程序中默认值的设置:#本模块程序自身设置默认值;

#一个模块默认值的设置通过调用另一模块的默认值实现,则另一模块默认值得改变会影响调用模块的默认值。

3.输入特殊字符集

测试方法——只要存在字符输入框的输入都可以输入特殊字符集做测试,输入来源于操作系统、系统实现的程序设计、数据库的保留字

附注:一般的输入框基本输入的类型:整型、浮点型、实型、时间日期型、文本型。

4.输入使缓冲区溢出的数据

测试方法——适应在文本框的输入框,输入达到超过既定输入范围

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

测试方法——两组以上数据存在组合关系,数据单项输入合法,对输入组合的情况进行测试。

八、GUI输出故障模型

6.产生同一个输入的各种可能输出

测试方法——在同一个数入对应多个输出情况下对每一个输出结果进行测试,看是否与需求相一致。

7.输入不符合业务规则的无效输出

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

8.输出属性修改后的结果

测试方法——输出的结果可以被修改的一种输出。比如:word……原因:当用户修改属性值时,内部的相对变量值也应该同时被修改。如:word输入艺术字的选择框,当艺术字变大时,选择框也应该同时变大,如果没有变化,则是bug,如:播放器

9.屏幕刷新显示

测试方法——用户操作改变时,相应的给用户的显示也应该对应的操作改变而改变。#增、删、查、改影响的页面刷新是因为相应功能没有实现;#程序、页面的切换导致反应慢甚至没有响应是计算机的性能问题。

九、数据结构故障模型

10.数据结构溢出

测试方法——指数据的存储范围,数据在计算机上超出了内存或者硬盘的存储范围。有上溢和下溢。输入给定数据范围外的数据测试

11.数据结构不符合约束

测试方法——破坏数据约束,类型、长度、非空、唯一、定义、引用等。

约束存在于详细设计文档——数据库字典、数据库——数据库字段(逐一深层寻找)

12.操作数(运算数)与操作符(运算符)不符

测试方法——在有运算的测试下主要是看操作数是否与操作符一致,用不符合操作符的操作数进行运算

13.递归调用自身

测试方法——主要指的是函数,函数在自身调用时形成了死循环,不断的自己调用自己,直到数据溢出造成系统坏掉。此类问题,要检查循环有没有出口或者是出口条件是否充足。测试就是对循环的出口条件做测试。如;树形目录的测试

14.计算结果溢出

测试方法——用在有计算的地方并进行内部储存,测试时进行强制数据上溢或者是下溢。

15.数据共享或关联功能出错

测试方法——数据在被共享或者是在被几个模块共同调用时出现的问题。测试时进行共享或者同时被调用,看数据是否出错。

十、文件系统故障模型

16.文件系统超载(不常用)

测试方法——#文件的容量超过了承载环境的最大所容能量,因此,读、写、移动程序

首先要对容量做出检测;#程序在安装之前应该先判断是否有足够的空间容纳,并进行提示,如果没有提示就是bu。注意:测试时要模拟硬盘满,再安装测试。

17.介质忙或不可用(不常用)

测试方法——内存或者cpu在被很多程序使用时,导致当前的程序运行响应慢或者不响应。

18.介质损坏(不常用)

19.文件名不合法

测试方法——文件名输入应该满足操作系统的规定:长度、不能输入的特殊字符、保留字;也应该满足应用程序的规范:拓展名。测试时破坏这些条件。

20.更改文件的访问权限

测试方法——对已经被设置了权限的文件进行操作,看是否成功,如成功即为bug。一般在多用户下进行测试。

业务系统里的权限:访问权限和记录权限。记录权限是对访问权限的进一步操控。如:a、b 二人共同进入系统的同一模块,但是只能操作属于自己的模块功能。

21.文件内容受损

测试方法——文件传输过程中文件包的丢失可能导致文件受损。

查看的方法一:奇偶校验技术

查看的方法二:查看文件的类型、属性、大小是否变化。

十一、输入框的测试

测试方法

1.文本输入框测试

输入超长字符或者多行文本,超过输入框规定的输入长度。

2.数据输入框测试

输入非法的数据,主要是从类型、长度、格式等方面考虑。

3.时间日期输入框测试

输入不符合格式和要求的时间日期。

4.字符输入框测试

输入保留字。

5.默认值输入框测试

输入空白、空格、接受默认值、强制转换默认值

在测试中用到的方法:

(1)输入非法数据

(2)输入默认值

(3)输入特殊字符集(或数据类型的合法输入)

(4)输入使缓冲区溢出的数据

(5)输入相同的文件名

十二、命令按钮控件的测试

主要从三个方面测试:命令按钮功能的实现;输入非法信息是,命令按钮给与的提示;输入不符合规则的信息应该给与的提示。

.测试方法:

单击按钮正确相应操作。

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

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

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

在测试中用到的方法:

(1)输入非法数据

(2)输入默认值

(3)输入特殊字符集(或数据类型的合法输入)

(4)输入使缓冲区溢出的数据

十三、单选按钮控件的测试

(不能为空,只能单选,有默认选项)

测试方法:

一组单选按钮不能同时被选中,只能选其中的一个。

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

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

十四、Up—Down控件文本框的测试

(上下箭头的控制、对边界值测试对默认值的测试、对非法输入字符的测试)

测试方法:

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

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

直接输入超边界数值。

输入默认值,空白。

输入字符。

在测试中用到的方法:

(1)输入非法数据

(2)输入默认值

(3)输入特殊字符集(或数据类型的合法输入)

(4)输入使缓冲区溢出的数据

十五、组合列表框的测试

(条目内容的检查、条目功能的实现、在列表框中能否输入数据)

测试方法:

条目内容正确

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

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

十六、复选框控件的测试

测试原则:

多个复选框可以被同时选中。

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

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

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

十七、列表框控件的测试

(条目内容是否正确、滚动条是否可以滚动、条码的功能是否实现、列表框能否完全实现多选操作时的各种功能)

测试时需要注意的内容:

条目内容正确。没有丢失和错误。

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

列表框中内容较多时要使用滚动条

列表框允许多选,要分别检查Shift选中条目、按Ctri选中条目和直接用鼠标选中多项条目时的情况。

十八、滚动条控件的测试

测试以下内容:

滚动条能否被拖动;

拖动滚动条时屏幕刷新情况,并查看是否有乱码;

拖动滚动条时信息的显示情况;

拖动条的上下按钮是否可用;

滚动条的长度根据显示信息的长度或宽度及时变化,以使用户了解信息的位置和百分比;拖动滚动条;

单击滚动条;

用滚轮控制滚动条;

滚动条的上下按钮。

测试中用到的测试方法:

强制屏幕刷新

相互作用的输入组合。

十九、各个控件混合使用时的测试

1.应考虑5个方面

(1)控件间的相互作用。

(2)Tab键的顺序:从左向右,从上到下。

(3)热键的作用,逐一测试每个热键,都可以执行正确操作。

(4)Enter键ESC键的作用。

(5)控件组合后功能的实现。

2.测试时应该注意以下几点

(1)列出需求中特别提出的重点功能,剔除一些无意义的功能组合。

(2)利用等价类等方法,筛选取值范围,减少测试区域的面积。

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

(4)一个测试用例中不要组合太多功能。

(5)对在执行单个功能的测试时及时发现缺陷的功能,也要重点进行组合功能的测试。二十、文件测试

1.打开文件的操作

打开在任意位置的文件;

以各种方式打开文件;

打开任意格式的文件;

单击对话框的按钮

(1)测试方法

通过测试:

1.直接打开本地的文件

2.打开网络上文件

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

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

5.选择打开方式及版本

6.选择打开文件的操作

7.取消操作

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

失败测试:

1.输入不存在的文件名

2.更改文件访问权限

3.更改文件拓展名

4.修改文件名称

5.破坏文件内容

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

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

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

(2)测试中用到的方法

1.赋给无效文件名

2.更改或者破坏文件内容

3.更改文件的访问权限

4.使介质忙

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

(3)测试用例

1—选择文件“c:\test.doc”,并单击“打开”或者按enter键—文件打开正确

2—打开文件“c:\test1.doc”—系统提示文件不存在

3—打开网络文件“\\server\file\a.doc”—文件打开正确

4—打开网络文件“\\server\file\a1.doc”—系统提示文件不存在

5—直接输入文件名“c:\test.doc”—文件打开正确

6—直接输入文件名“\\server\file\a.doc”—文件打开正确

7—打开文件“c:\b.html”—文件打开正确

8—打开文件“c:\c.txt”—文件打开正确

9—打开文件“c:\d.wri”—文件打开正确

10(逐一测试打开不同的文件类型)

11—以只读的方式打开“c:\a.doc”—文件打开正确

12—打开文件“c:\a.doc”的2.0版—文件打开正确

13—单击“取消”按钮或者按“Esc键—退出窗口

14—按Tab键—按Tab键的顺序排列

15—所有的热键操作—操作正确

16—直接使用组合列表框选取文件,或者使用“向上一级”、“转到已访问过的文件夹”等图标—文件选择正确

17—…………

2.保存文件操作

将文件保存在任意位置;

以各种形式保存文件;

选择各种保存方式;

保存对话框的按钮的功能

(1)测试方法

通过测试

1.直接保存到本地或网络中

2.保存为已经存在的文件名

3.按不同文件类型保存,并再次打开检查保存内容是否正确

4.保存的方式

5.选择保存文件位置的操作

6.选择取消

7.热键、Tab键、回车键的使用

失败测试

1.改变文件访问权限

2.文件名为空值、空格、默认值

3.文件名使用特殊字符

4.文件名使用特殊长度的文件名

5.使文件路径层次多,并且长的文件名

6.是文件系统超载

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

3.关闭文件操作

通过菜单选项;

通过窗口选项

(1)测试方法

1.正常的关闭文件,系统提供确认信息

2.通过菜单或者窗口关闭

3.非正常关闭

(2)测试用例

1—编辑文件后不保存,直接从菜单关闭—系统提示是否保存文件,若保存,则保存文件后关闭;否则,直接关闭

2—编辑文件后保存,然后从菜单关闭—文件正常关闭

3—编辑文件后不保存,直接单击窗口右上角的按钮关闭—系统提示是否保存文件,若保存,则保存文件后关闭;否则,直接关闭

4—编辑文件不保存,直接单击窗口右上角的按钮关闭—文件正常关闭

5—直接从任务管理器中结束任务—程序被关闭,打开的文件不被损坏,可以正常使用二十一、打印文件操作

本地打印和网络打印能否完成

界面个属性设置

打印界面按钮功能实现

(1)测试方法

通过测试

1.直接打印到本地打印机,确认打印内容正确

2.在网络打印机上输出

3.打印到文件,再输出到打印机

4.打印界面的各种属性

5.热键、Tab键、回车键的使用

6.选择取消。取消对文件的打印

(2)测试中用到的方法

1.输入非法数据

2.输入默认值

3.输入特殊字符集或数据类型的合法输入

4.输入使缓冲区溢出的数据

(3)测试用例

1—选择本地打印机,单击“确定”—文件正常打印

2—选择网络打印机,单击“确定”—文件正常打印

3—选择打印到文件,单击“确定”生成打印文件x.prn,然后输出到打印机—生成打印机,并正确打印

4—…………

二十二、界面测试

1.窗体测试

1.1.测试内容

(1)窗体的大小

(2)移动窗体

(3)缩放窗体

(4)显示分辨率

(5)状态栏

(6)工具栏

(7)错误信息

(8)父窗口

(9)子窗口

1.2.测试方法:

(1)窗体大小。窗体大小要合适,要合理利用空间。

(2)移动窗体。快或慢的移动,背景和窗体刷新必须正确。

(3)缩放窗口。缩或者放时,窗体内部的各控件都必须随之变化。

(4)显示分辨率。

(5)状态栏。随操作不同,逐一测试状态栏的内容也随之变化。

(6)工具栏。其图形的的执行操作有效。

(7)工具栏图标的显示和菜单栏一致。

(8)错误信息的内容。内容正确,无错别字

(9)显示的错误信息内容明确。提示的信息必须明确,让用户知道错误出处。

(10)窗体显示位置。屏幕中央

(11)父窗口或者主窗口应该位于屏幕对角线焦点附近。

(12)子窗口位于主窗口的中央或者左上角

(13)多个子窗口应该依次向右下放偏移。

(14)重要的命令按钮或者使用频繁的按钮应该放在显眼的地方。

2.控件测试

1.1.测试内容

(1)控件位置。。

(2)错别字。

(3)中英文混合

(4)控件中字体的大小

(5)字体的全角半角

(6)控件的本身的大小

1.2.测试方法

(1)控件位置。控件一般是5号字;字体、字形一致;标签、钱数一般是右对齐;内容一般是左对齐;按钮居中。

(2)错别字。

(3)中英文的混合。

(4)窗体或者控件的大小和字体要一致。

(5)控件被裁切或者重叠。

(6)全角半角的混合。

1.3.测试用例

(1)控件拜访对齐,间隔要一致,没有重叠区域。

(2)无错别字

(3)中英文混合

软件测试的定义及常用软件测试方法介绍

软件测试的定义及常用软件测试方法介绍 一、软件测试的定义 1.定义:使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满 足规定的需求或弄清预期结果与实际结果之间的差别。 2.内容:软件测试主要工作内容是验证(verification)和确认(validation ),下面分别给 出其概念: 验证(verification)是保证软件正确地实现了一些特定功能的一系列活动,即保证软件以正确的方式来做了这个事件(Do it right) 1.确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程 2.程序正确性的形式证明,即采用形式理论证明程序符合设计规约规定的过程 3.评市、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等是否 和规定的需求相一致进行判断和提出报告。 确认(validation)是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性。即保证软件做了你所期望的事情。(Do the right thing) 1.静态确认,不在计算机上实际执行程序,通过人工或程序分析来证明软件的正确性 2.动态确认,通过执行程序做分析,测试程序的动态行为,以证实软件是否存在问题。 软件测试的对象不仅仅是程序测试,软件测试应该包括整个软件开发期间各个阶段所产生的文档,如需求规格说明、概要设计文档、详细设计文档,当然软件测试的主要对象还是源程序。 二、软件测试常用方法 1. 从是否关心软件内部结构和具体实现的角度划分: a. 黑盒测试 黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。 黑盒测试是以用户的角度,从输入数据和输出数据的对应关系出发进行测试的,很明显,如果本身设计有问题或者说明规格有错误,用黑盒测试是发现不了的。

图书管理系统软件测试方案

软件测试设计方案 2011级软件工程公司 版权所有不得复制 文档变更记录 班级学号姓名 软件六班 20112601616 文章 软件六班 20112601626 唐晓兰 软件六班 20112601627吴轲 文档信息

版本历史 审核记录得分:签名: 目录 0. 文档介 绍 ............................................................................................................................ 5 0.1文档目的 ....................................................................................................................... 5 0.2 文档范围 (5) 0.3读者对象 ....................................................................................................................... 5 0.4参考文献 ....................................................................................................................... 5 1. 接口-路径测试用 例 ......................................................................................................... 6 1.1被测试对象(单元的介绍 ........................................................................................ 6 1.2测试范围与 目的 . ........................................................................................................... 6 1.3测试环境

软件测试方法和技术练习题与答案

一、判断题 1. 测试是调试的一个部分(╳) 2. 软件测试的目的是尽可能多的找出软件的缺陷。(√) 3. 程序中隐藏错误的概率与其已发现的错误数成正比(√) 4. Beta 测试是验收测试的一种。(√) 5. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(√) 6. 项目立项前测试人员不需要提交任何工件。(╳) 7. 单元测试能发现约80%的软件缺陷。(√) 8. 测试的目的是发现软件中的错误。(√) 9. 代码评审是检查源代码是否达到模块设计的要求。(√) 10. 自底向上集成需要测试员编写驱动程序。(√) 11. 测试是证明软件正确的方法。(╳) 12. 负载测试是验证要检验的系统的能力最高能达到什么程度。(√) 13. 测试中应该对有效和无效、期望和不期望的输入都要测试。(√)验收测试是由最终用户来实施的。(√) 14. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(√) 黑盒测试也称为结构测试。(╳) 集成测试计划在需求分析阶段末提交。(╳)15. 软件测试的目的是尽可能多的找出软件的缺陷。(√ ) 16. 自底向上集成需要测试员编写驱动程序。(√ ) 17. 负载测试是验证要检验的系统的能力最高能达到什么程度。(╳) 18. 测试程序仅仅按预期方式运行就行了。(╳) 19. 不存在质量很高但可靠性很差的产品。(╳) 20. 软件测试员可以对产品说明书进行白盒测试。(╳) 21. 静态白盒测试可以找出遗漏之处和问题。(√) 22. 总是首先设计白盒测试用例。(╳ ) 23. 可以发布具有配置缺陷的软件产品。(√) 24. 所有软件必须进行某种程度的兼容性测试。(√ ) 25. 所有软件都有一个用户界面,因此必须测试易用性。(╳) 26. 测试组负责软件质量。(╳ ) 27. 按照测试实施组织划分,可将软件测试分为开发方测试、用户测试和第三方测试。(√) 28. 好的测试员不懈追求完美。(× ) 29. 测试程序仅仅按预期方式运行就行了。( × ) 30. 在没有产品说明书和需求文档的条件下可以进行动态黑盒测试。( √ ) 31. 静态白盒测试可以找出遗漏之处和问题。( √ ) 32. 测试错误提示信息不属于文档测试范围。( × ) 33. 代码评审是检查源代码是否达到模块设计的要求。(√ ) 34. 总是首先设计黑盒测试用例。( √ ) 35. 软件测试是有风险的行为,并非所有的软件缺陷都能够被修复。(∨) 36. 软件质量保证和软件测试是同一层次的概念。(x ) 37. 程序员兼任测试员可以提高工作效率。( x ) 38. 在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。(∨) 39. 传统测试是在开发的后期才介入,现在测试活动已经扩展到了整个生命周期。(∨)40. 传统测试以发现错误为目的,现在测试已经扩展到了错误预防的范畴。∨ 41. 软件测试的生命周期包括测试计划、测试设计、测试执行、缺陷跟踪、测试评估。(∨)42. 软件生存周期是从软件开始开发到开发结束的整个时期。( x ) 43. 测试用例的数目越多,测试的效果越好。( x ) 44. 只要能够达到100%的逻辑覆盖率,就可以保证程序的正确性。( x )

软件系统测试规范方案

上海兴汉科技公司软件测试规范

目录 一.概述 (1) 二软件测试理论 (2) 1.什么是软件测试 (2) 2.软件测试的目标 (2) 三.软件测试流程 (4) 1.软件测试流程图 (4) 2.软件测试流程细则 (5) 3.软件测试注意事项 (6) 四.软件测试类型 (8) 1.模块测试 (8) 2.子系统测试 (8) 3.系统测试 (8) 4.验收测试 (8) 五.黑盒测试方法 (10) 1.等价类划分 (10) 2.因果图 (12) 3.边值分析法 (12) 4.猜错法 (13) 5.随机数法................................................................................................... 错误!未定义书签。 七.测试错误类型 (14) 八.测试标准 (16) 附录一单元测试报告 (17)

附录二集成测试报告 (18) 附录三测试大纲................................................................................................. 错误!未定义书签。附录四测试大纲附录 (22) 附录五测试计划................................................................................................. 错误!未定义书签。附录六程序错误报告 (23) 附录七测试分析报告 (24)

绝密软件测试方法和技术重点和试题与答案

太原理工大学软件测试技术 适用专业:软件工程2011级考试日期:2014.1 时间:120 分钟 一、判断题 1. 测试是调试的一个部分(╳) 2. 软件测试的目的是尽可能多的找出软件的缺陷。(√ ) 3. 程序中隐藏错误的概率与其已发现的错误数成正比(√ ) 4. Beta 测试是验收测试的一种。(√ ) 5. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(√ ) 6. 项目立项前测试人员不需要提交任何工件。(╳) 7. 单元测试能发现约80%的软件缺陷。(√ ) 8. 测试的目的是发现软件中的错误。(√ ) 9. 代码评审是检查源代码是否达到模块设计的要求。(√ ) 10. 自底向上集成需要测试员编写驱动程序。(√ ) 11. 测试是证明软件正确的方法。(╳) 12. 负载测试是验证要检验的系统的能力最高能达到什么程度。(√ ) 13. 测试中应该对有效和无效、期望和不期望的输入都要测试。(√ ) 14. 测试人员要坚持原则,缺陷未修复完坚决不予通过。(√ ) 黑盒测试也称为结构测试。(╳) 集成测试计划在需求分析阶段末提交。(╳) 15. 软件测试的目的是尽可能多的找出软件的缺陷。(√) 16. 自底向上集成需要测试员编写驱动程序。(√) 17. 负载测试是验证要检验的系统的能力最高能达到什么程度。(╳) 18. 测试程序仅仅按预期方式运行就行了。(╳) 19. 不存在质量很高但可靠性很差的产品。(╳) 20. 软件测试员可以对产品说明书进行白盒测试。(╳) 21. 静态白盒测试可以找出遗漏之处和问题。(√) 22. 总是首先设计白盒测试用例。(╳) 23. 可以发布具有配置缺陷的软件产品。(√) 24. 所有软件必须进行某种程度的兼容性测试。(√) 25. 所有软件都有一个用户界面,因此必须测试易用性。(╳) 26. 测试组负责软件质量。(╳) 27. 按照测试实施组织划分,可将软件测试分为开发方测试、用户测试和第三方测试。(√) 28. 好的测试员不懈追求完美。(×) 29. 测试程序仅仅按预期方式运行就行了。( ×) 30. 在没有产品说明书和需求文档的条件下可以进行动态黑盒测试。( √) 31. 静态白盒测试可以找出遗漏之处和问题。( √) 32. 测试错误提示信息不属于文档测试范围。( ×)

软件检验测试的各种方法介绍

2.集成测试

集成测试,英文是Integration Testing。 集成测试是指一个应用系统的各个部件的联合测试,以决定他们能否在一起共同工作并没有冲突。部件可以是代码块、独立的应用、网络上的客户端或服务器端程序。这种类型的测试尤其与客户服务器和分布式系统有关。一般集成测试以前,单元测试需要完成。 集成测试是单元测试的逻辑扩展。它的最简单的形式是:两个已经测试过的单元组合成一个组件,并且测试它们之间的接口。从这一层意义上讲,组件是指多个单元的集成聚合。在现实方案中,许多单元组合成组件,而这些组件又聚合成程序的更大部分。方法是测试片段的组合,并最终扩展进程,将您的模块与其他组的模块一起测试。最后,将构成进程的所有模块一起测试。此外,如果程序由多个进程组成,应该成对测试它们,而不是同时测试所有进程。 集成测试识别组合单元时出现的问题。通过使用要求在组合单元前测试每个单元,并确保每个单元的生存能力的测试计划,可以知道在组合单元时所发现的任何错误很可能与单元之间的接口有关。这种方法将可能发生的情况数量减少到更简单的分析级别 3.冒烟测试 冒烟测试,英文是Smoke testing。 冒烟测试的名称可以理解为该种测试耗时短,仅用一袋烟功夫足够了。也有人认为是形象地类比新电路板基本功能检查。任何新电路板焊好后,先通电检查,如果存在设计缺陷,电路板可能会短路,板子冒烟了。

冒烟测试的对象是新编译的每一个需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作。冒烟测试的执行者是版本编译人员。 4.系统测试 系统测试,英文是System Testing。 系统测试是基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件。系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不相符合或与之矛盾的地方。 系统测试的对象不仅仅包括需要测试的产品系统的软件,还要包含软件所依赖的硬件、外设甚至包括某些数据、某些支持软件及其接口等。因此,必须将系统中的软件与各种依赖的资源结合起来,在系统实际运行环境下来进行测试。 5.回归测试 回归测试,英文是Regression testing。 回归测试是指在发生修改之后重新测试先前的测试以保证修改的正确性。理论上,软件产生新版本,都需要进行回归测试,验证以前发现和修复的错误是否在新软件版本上再次出现。 根据修复好了的缺陷再重新进行测试。回归测试的目的在于验证以前出现过但已经修复好的缺陷不再重新出现。一般指对某已知修正的缺陷再次围绕它原来出现

软件测试方法和技术练习题与答案

一、判断题 1.测试是调试的一个部分(X ) 2.软件测试的目的是尽可能多的找出软件的缺陷。(2 ) 3.程序中隐藏错误的概率与其已发现的错误数成正比(2 ) 4.Beta 测试是验收测试的一种。(2 ) 5.测试人员要坚持原则,缺陷未修复完坚决不予通过。(2 ) 6.项目立项前测试人员不需要提交任何工件。( X ) 7.单元测试能发现约80%的软件缺陷。(2) 8.测试的目的是发现软件中的错误。(2) 9.代码评审是检查源代码是否达到模块设计的要求。(2 ) 10.自底向上集成需要测试员编写驱动程序。( 2) 11.测试是证明软件正确的方法。(X ) 12.负载测试是验证要检验的系统的能力最高能达到什么程度。(2 ) 13.测试中应该对有效和无效、期望和不期望的输入都要测试。(2 )验收测试是由最终用户来实施的。(2 ) 14.测试人员要坚持原则,缺陷未修复完坚决不予通过。(2 )黑盒测试也称为结构测试。(X )集成测试计划在需求分析阶段末提交。(X ) 15.软件测试的目的是尽可能多的找出软件的缺陷。(2 ) 16.自底向上集成需要测试员编写驱动程序。 (2 ) 17.负载测试是验证要检验的系统的能力最高 能达到什么程度。(X) 18.测试程序仅仅按预期方式运行就行了。(X) 19.不存在质量很高但可靠性很差的产品。(X) 20.软件测试员可以对产品说明书进行白盒测试。(X ) 21.静态白盒测试可以找出遗漏之处和问题。 22.总是首先设计白盒测试用例。(X ) 23.可以发布具有配置缺陷的软件产品。 (2) 24.所有软件必须进行某种程度的兼容性测试。(2 ) 25.所有软件都有一个用户界面,因此必须测试易用性。(X) 26.测试组负责软件质量。(X ) 27.按照测试实施组织划分,可将软件测试分为开发方测试、用户测试和第三方测试。(2) 28.好的测试员不懈追求完美。(X ) 29.测试程序仅仅按预期方式运行就行了。 (X ) 30.在没有产品说明书和需求文档的条件下可以进行动态黑盒测试。(2 ) 31.静态白盒测试可以找出遗漏之处和问题。(2 ) 32.测试错误提示信息不属于文档测试范围。(X ) 33.代码评审是检查源代码是否达到模块设计的要求。(2 ) 34.总是首先设计黑盒测试用例。(2 ) 35.软件测试是有风险的行为,并非所有的软 件缺陷都能够被修复。(V ) 36.软件质量保证和软件测试是同一层次的概念。(x ) 37.程序员兼任测试员可以提高工作效率。 (x ) 38.在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。(V ) 39.传统测试是在开发的后期才介入,现在测试活动已经扩展到了整个生命周期。(V )40.传统测试以发现错误为目的,现在测试已 经扩展到了错误预防的范畴。V 41.软件测试的生命周期包括测试计划、测试设计、测试执行、缺陷跟踪、测试评估。(V )42.软件生存周期是从软件开始开发到开发结束的整个时期。(x ) 43.测试用例的数目越多,测试的效果越好。(x ) 44.只要能够达到100%的逻辑覆盖率,就可以保证程序的正确性。(x ) (2)

信息系统项目测试方案

信访局网上信访信息系统项目 系统测试方案 2015年7月 太原新汇科计算机有限公司 Taiyuan New Quick Com puter Co.,LTD 本文档及其所含信息为机密材料 并且由晋中市及所辖各县(市、区)信访局和太原新汇科计算机有限公司共同拥有。 文档中任何部分未经晋中市及所辖各县(市、区)信访局和太原新汇科计算机有限公司书面授权,不得泄露给第三方,也不得以任何手段、任何形式进行复制与传播

目录 1概述 (1) 1.1目标 (1) 1.2假设 (1) 1.3测试范围 (2) 1.4测试方法 (2) 1.5测试步骤 (3) 1.6测试进入准则 (3) 1.7测试结束准则 (4) 2测试地点、人员与环境 (4) 2.1测试的地点和人员 (4) 2.2测试环境 (4) 3组织结构 (5) 3.1组织结构 (5) 3.2职责范围 (5) 4计划任务与时间 (6) 4.1计划任务 (6) 4.2时间表 (7) 4.3安排 (8) 4.4测试更新安排 (13) 5人员的岗位职责 (13) 6缺陷管理 (15) 6.1缺陷管理流程 (15) 6.2缺陷的严重度和修改的优先级(此问题请见测试报告) (18) 7测试报告总结和分析 (20)

1概述 《山西省网上信访信息系统测试方案》(以下简称《测试方案》)是山西省网上信访信息系统编码、单元测试完成后,在进行系统测试之前,针对优化版的业务功能进行功能和集成测试的计划安排。 《测试方案》主要明确系统功能和集成测试的有关规定和原则,其目的是提供系统功能和集成测试所依据和遵循的原则、方法和组织结构。 1.1目标 用户测试阶段应达到并完成以下的主要目的与任务: 目的在于检查优化需求版系统功能能否满足实际业务要求,流程是否符合各级信访机构日常业务程序。 对系统的业务功能进行测试,以验证是否达到了用户设计的业务要求,保证产品能够满足客户的业务需求。(这里的业务需求指的是《山西省网上信访信息系统需求规格说明书》、《山西省网上信访信息系统需求变更》、《山西省网上信访信息系统需求深化》、《山西省网上信访信息系统需求补充》) 对系统存在的业务及功能错误进行纠错,保证系统运行的正确性。 1.2假设 假设有足够容量的服务器资源。 假设有足够的测试工作站设备。 假设人员可以分班轮流,一个实际工作日能够测试多于一个的测试营业日。

软件测试四大板块教程内容

软件测试四大板块教程内容 软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。北大青鸟大数据学院软件测试的学习,主要分为四大板块:一、应用程序通用测试技术1.软件测试的历史2.软件测试基本概念与意义3.软件测试过程模型4.常用软件测试方法5.软件测试生命周期与流程6.软件测试计划方案编写7.软件测试需求分解与跟踪8.黑盒测试用例设计方法9.白盒测试用例设计方法10.缺陷识别与缺陷跟踪系统11.测试评审与风险分析12软件测试总结与过程度量通过本课程的学习,掌握软件测试的意义与重要性,掌握软件的通用测试技术与方法,掌握软件测试各阶段工作的主要流程与方法,具备从业的基本资格 二、应用程序全栈测试技术1.全栈测试概述2.WEB测试方法3.UI测试方法4.兼容性测试方法5.安全测试技术6.易用性与其他指标测试方法。通过学习本课程,熟悉全栈软件测试方法,掌握除功能测试外的其他全栈测试技术 三、自动化测试技术1.自动化测试基础2.自动化测试框架构建3.HP UFT工具介绍 4.HP UFT脚本开发与增强 5.VBScript语言 6.HP UFT测试对象集合 7.Selenium工具介绍

8.Selenium IDE详解9.Selenium脚本开发10.Selenium测试实战在本门课程中重点介绍自动化测试技术,掌握两种主流测试工具UFT与Selenium的使用,掌握自动化测试框架的构建方法了解详情 四、性能测试技术1.性能测试基础2.初识HP LoadRunner 3.HP LoadRunner脚本录制与调试4.HP LoadRunner场景设计与监控5.HP LoadRunner测试结果分析与调优6.Jmeter工具介绍7.Jmeter脚本录制与调优8.Jmeter性能测试实战9.Jmeter测试结果分析通过学习本门课程,掌握性能测试的基础理论,掌握主流性能测试工具LoadRunner与Jmeter的使用,掌握通过性能测试的结果找到性能瓶颈并进而调优的方法。点击咨询

软件测试方法

进销存系统测试点 一、表结构,与其他表的关联 例:CRM中客户服务、投诉在使用了客户资料,仍可删除已使用的客户资料 二、错误时的提示信息,页面的错别字等、页面的一致性 例:编号重复,提示信息的图标是个正确的图标 三、业务流程 例:采购订单到订单收货的状态间的来回转换,审核——收货——作废——再新增 四、不同状态间的转换,页面处在某一状态(修改、新增),切换其他页面再切换回来时的状态 例:CRM中新增客户分类,在填写完编号和名称不保存状态下,切换到客户资料、服务等项,再切换回来查看当前的新增、修改、保存、取消、删除等按钮的状态 五、大量数据添加 例:商品主档供应商明细添加多条数据 六、每个按钮在有数据和没数据状态下点击的效果 例:CRM客户资料在没有数据的情况下点击转换客户、新增、删除等按钮的提示 七、修改某个页面的某个功能后,对页面其他功能的影响(回归测试) 例:增加供应商明细,对打印的影响,此供应商与采购订单和基础数据供应商的关联 八、在测试某个功能时单独测试所有页面的此个功能 例:进销存的打印,导出excel功能 九、权限 例:系统配置中,普通员工只可查看某项功能 十、未启用某功能时,实际显示是怎样的 例:未启用计税,或买价卖价不可见,实际在界面上,包括二级界面,打印界面等,是否能看到买价和卖价 十一、快捷键、回车、TAB 十二、初始值、焦点的定位、默认值 十三、数据计算,税率,合计,总金额,优惠,成本的计算 十四、刚使用系统,系统没有数据的情况下点击所有可点击按钮

十五、不可编辑的显示框是否可编辑,必填项,非必填项,少填必填项的提示 十六、注册与登录 每项单独填写,查看是否能提交 密码与确认密码的匹配性 十七、表单,提交的表单与实际数据是否对应 十八、关联性,假如某个模块用到这个字段或其他字段,其他有相同字段的是否有同样错误十九、一个页面有修改,取消,删除等功能时,进行这些操作跳转后的页面。 二十、测试网络在断网、更换本机IP、超时等情况下系统的反映 测试方法:主要针对编辑框 等价类测试 正数 负数 小数 空 空格 字母 汉字 特殊符号、 边界值: 例如:编辑框内规定能输入最长20位字符 测试为空空格1位19位20位21位,更多位 例2:编辑框可输入1——100的数 要测的数据有0、1、2、50、49、99、100、101、500 继续教育测试 一、首页、内页排版 兼容性,火狐、谷歌、IE浏览器及其他浏览器 二、数据准确性 前台信息显示与后台添加的数据,课表的查询与课表管理中的对应性,考试安排同三、不同用户登录的权限 学生登录、教师登录 四、用户名、密码登录 五、初始化数据、默认数据 添加课表时,学期和学年的默认数据 六、课表管理、考试安排的冲突处理 七、课表管理的显示

软件测试方案模板2018年

XX项目 软件测试方案 编号:XX XX公司 2018年10月

目录 1 文档说明 (1) 1.1 文档信息 (1) 1.2 文档控制 (1) 1.2.1 变更记录 (1) 1.2.2 审阅记录 (1) 2 引言 (2) 2.1 编写目的 (2) 2.2 读者对象 (2) 2.3 项目背景 (2) 2.4 测试目标 (2) 2.5 测试参考文档和测试提交文档 (2) 2.5.1 测试参考文档 (2) 2.5.2测试提交文档 (3) 2.6 术语和缩略语 (3) 3 测试要求 (5) 3.1 测试配置要求 (5) 3.1.1 硬件环境 (5) 3.1.2 软件环境 (5) 3.2 测试手段 (6) 3.2.1 测试方法 (6) 3.3 测试数据 (6) 3.4 测试策略 (6) 3.4.1 单元测试 (6) 3.4.2 集成测试 (7) 3.4.3 系统测试 (7) 3.4.4 验收测试 (11) 3.5 测试资源 (11) 3.6 测试阶段及范围 (11) 3.7 通过测试的标准 (11) 4 软件结构介绍 (12) 4.1 概述 (12) 5 用例表格 (14) 6 关注点 (14) 6.1 文本输入框 (14) 6.2 下拉列表 (15) 6.3 增加数据 (15) 6.4 修改数据 (15) 6.5 删除数据 (15) 6.6 查询数据 (16) 6.7 数据导入导出 (16)

6.8 数据接入与处理 (16) 6.9 其他 (16) 7 附录 (16) 7.1 附录1审批记录表 (16)

1文档说明 1.1文档信息 文档基本信息参看表 1-1文档信息表。 表1-1文档信息表 1.2文档控制 1.2.1变更记录 文档变更记录在表1-2文档变更记录表中详细记录。 1.2.2审阅记录 表1-3审阅记录表中详细记录了审阅记录。 表1-3审阅记录表

软件测试方案模板新V10

XX项目测试方案模板

目录 1 概述 (3) 1.1 编写目的 (3) 1.2 读者对象 (3) 1.3 项目背景 (3) 1.4 测试目标 (3) 1.5 参考资料 (3) 2 测试配置 (3) 2.1 测试手段 (3) 2.2 测试数据 (3) 2.3 测试策略 (4) 2.4. 测试通过准则 (5) 3 软件结构介绍 (5) 3.1 概述 (5) 3.2 整体功能模块介绍 (5) 3.3 整体功能模块关系图 (6) 3.4 系统外部接口功能模块关系图 (6) 3.5 系统内部接口功能模块关系图 (6) 4 单元测试用例 (6) 4.1 XX系统 (6) 5 集成测试用例 (9) 5.1 系统外部接口测试 (9) 5.2 系统内部接口测试 (10) 6 系统测试用例 (11) 6.1 病毒测试 (11) 6.3 性能测试 (11) 6.4 强度测试 (12) 6.6 配置测试 (12) 6.7 安装测试 (12)

6.8 安全性测试 (12) 6.9 回归测试 (12) 7 附录 (12) 7.1 附录1 审批记录表 (12)

1 概述 1.1 编写目的 编写本测试方案的目的是为软件开发项目管理者、软件工程师、系统维护工程师、测试工程师提供关于**系统整体系统功能和性能的测试指导。] 1.2 读者对象 [本测试方案可能的合法读者对象为软件开发项目管理者、软件工程师、测试组、系统维护工程师] 1.3 项目背景 [可以如下那样简单说明,根据项目的具体情况,方案编写者也可以进行详细说明项目名称:*** 简称:*** 项目代号:*** 委托单位:*** 开发单位:*** 主管部分:***] 1.4 测试目标 [说明进行项目测试的目标或所要达到的目的] 1.5 参考资料 [列出编写本测试方案时参考的资料和文献] 2 测试配置 2.1 测试手段 [在此参照《测试计划》说明测试方法和工具,注明执行测试时,必须同时填写《测试记录表》] 2.2 测试数据 [在此简要说明测试数据的形成,如以客户单位具体的业务规则和《***系统需求分析说明书》,参考《***系统概要设计说明书》、《***系统详细设计说明书》和《数据规格说明书》中规定的运行限制,设计测试用例,作为整个**系统的测试数据。]

系统软件测试方法

测试计划 引言 编写目的 本测试计划的具体编写目的,指出预期的读者范围。 背景 说明: a.测试计划所从属的软件系统的名称; b.该开发项目的历史,列出用户和执行此项目测试的计算中心,说明在开始执行本测试计划

测试工具

利用有效的和无效的数据来执行各个用例流,以核实以下内容: ?在使用有效数据时得到预期的结果 ?在使用无效数据时显示相应的错误消息或警告消息。 条件 陈述本项测试工作对资源的要求,包括: a.设备所用到的设备类型、数量和预定使用时间; b.软件列出将被用来支持本项测试过程而本身又并不是被测软件的组成部分的软件,如测试驱动程序、测试监控程序、仿真程序、桩模块等等; c.人员列出在测试工作期间预期可由用户和开发任务组提供的工作人员的人数。技术水平及有关的预备知识,包括一些特殊要求,如倒班操作和数据键入人员。 测试用例模板 单一界面测试的参考表格如下:

访问了 如果Web应用系统使用了Cookies,就必须检查Cookies是否能正常工作。测试的内容可包括Cookies是否起作用,是否按预定的时间进行保存,刷新对Cookies有什么影响等。 用户界面测试 用于核实用户与软件之间的交互是否正常。 目标 核实下列内容: ?确保各种浏览以及各种访问方法(鼠标移动、快捷键等)都使用正常 ?确保窗口对象及其特征(菜单、大小、位置、状态和中心)都符合标准等。 条件 陈述本项测试工作对资源的要求,包括: a.设备所用到的设备类型、数量和预定使用时间;

b.软件列出将被用来支持本项测试过程而本身又并不是被测软件的组成部分的软件,如测试驱动程序、测试监控程序、仿真程序、桩模块等等; c.人员列出在测试工作期间预期可由用户和开发任务组提供的工作人员的人数。技术水平及有关的预备知识,包括一些特殊要求,如倒班操作和数据键入人员。 是核实性能需求是否都已满足。 目标 核实下列情况下的性能行为: ?正常的预期工作量 ?预期的最繁重工作量 条件 陈述本项测试工作对资源的要求,包括: a.设备所用到的设备类型、数量和预定使用时间; b.软件列出将被用来支持本项测试过程而本身又并不是被测软件的组成部分的软件,如测试驱动程序、测试监控程序、仿真程序、桩模块等等; c.人员列出在测试工作期间预期可由用户和开发任务组提供的工作人员的人数。技术水平及有关的预备知识,包括一些特殊要求,如倒班操作和数据键入人员。

软件测试方案

软件测试方案 软件测试是指使用人工或者自动的手段来运行或测定某个软件产品系统的过程,其目的是在于检验是否满足规定的需求或者弄清预期的结果与实际结果的区别。本文主要描述软件测试的一些类型。 白盒测试 白盒测试是基于代码的测试,测试人员通过阅读程序代码或者通过使用开发工具中的单步调试来判断软件的质量,一般白盒测试由项目经理在程序员开发中来实现。白盒测试分为动态白盒测试和静态白盒测试 静态白盒测试 利用眼睛,浏览代码,凭借经验,找出代码中的错误或者代码中不符合书写规范的地方。比如,代码规范中规定,函数必须为动宾结构。而黑盒测试发现一个函数定义如下: Function NameGet(){ …. } 这是属于不符合开发规范的。 有这样一段代码: if ((i<0) & (i>=0)) … 这段代码交集为整个数轴,IF语句没有必要 I=0; while(I>100){ J=J+100; T=J*PI; } 在循环体内没有I的增加, 错误产生。

动态白盒测试 利用开发工具中的调式工具进行测试。比如一段代码有4个分支,输入4组不同的测试数据使4组分支都可以走通而且结果必须正确。 if(I<0){ P1 }else{ P2 } 在调试中输入I=-1,测试P1程序段通过; 再输入I=1, 测试P2程序段,这样的测试属于动态白盒测试的缺陷。白盒测试通常在单元测试的时候进行。 功能测试 功能测试指测试软件各个功能模块是否正确,逻辑是否正确。对测试对象的功能测试应侧重于所有可直接追踪到用例或业务功能和业务规则的测试需求。这种测试的目标是核实数据的接受、处理和检索是否正确,以及业务规则的实施是否恰当。此类测试基于黑盒技术,该技术通过图形用户界面(GUI)或者测试脚本与应用程序进行交互,并对交互的输出或结果进行分析,以此来核实应用程序及其内部进程。功能测试的主要参考为类似于功能说明书之类的文档。 UI测试 UI测试指测试用户界面的风格是否满足客户要求,文字是否正确,页面美工是否好看,文字,图片组合是否完美,背景是否美观,操作是否友好等等 用户界面(UI) 测试用于核实用户与软件之间的交互。UI 测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。另外,UI 测试还可确保UI 中的对象按照预期的方式运行,并符合公司或行业的标准。包括用户友好性,人性化,易操作性测试。UI测试比较主观,与测试人员的喜好有关 比如:页面基调颜色刺眼;文字中出现错别字;页面显示范围超过屏幕范围等都属于UI测试中的缺陷。 性能测试 性能测试主要测试软件测试的性能,包括负载测试,强度测试,容量测试,基准测试以及基准测试 负载测试 负载测试是一种性能测试指数据在超负荷环境中运行,程序是否能够承担。

软件测试方法和技术练习题与答案

一、判断题 1.测试是调试的一个部分(╳) 2.软件测试的目的是尽可能多的找出软件的缺陷。(√) 3.程序中隐藏错误的概率与其已发现的错误数成正比(√) 测试是验收测试的一种。(√) 5.测试人员要坚持原则,缺陷未修复完坚决不予通过。(√) 6.项目立项前测试人员不需要提交任何工件。(╳) 7.单元测试能发现约80%的软件缺陷。(√) 8.测试的目的是发现软件中的错误。(√) 9.代码评审是检查源代码是否达到模块设计的要求。(√) 10.自底向上集成需要测试员编写驱动程序。(√) 11.测试是证明软件正确的方法。(╳) 12.负载测试是验证要检验的系统的能力最高能达到什么程度。(√) 13.测试中应该对有效和无效、期望和不期望的输入都要测试。(√)验收测试是由最终用户来实施的。(√) 14.测试人员要坚持原则,缺陷未修复完坚决不予通过。(√) 黑盒测试也称为结构测试。(╳) 集成测试计划在需求分析阶段末提交。(╳)15.软件测试的目的是尽可能多的找出软件的缺陷。(√) 16.自底向上集成需要测试员编写驱动程序。(√) 17.负载测试是验证要检验的系统的能力最高能达到什么程度。(╳) 18.测试程序仅仅按预期方式运行就行了。(╳) 19.不存在质量很高但可靠性很差的产品。(╳) 20.软件测试员可以对产品说明书进行白盒测试。(╳) 21.静态白盒测试可以找出遗漏之处和问题。(√) 22.总是首先设计白盒测试用例。(╳) 23.可以发布具有配置缺陷的软件产品。(√)24.所有软件必须进行某种程度的兼容性测试。(√) 25.所有软件都有一个用户界面,因此必须测试易用性。(╳) 26.测试组负责软件质量。(╳) 27.按照测试实施组织划分,可将软件测试分为开发方测试、用户测试和第三方测试。(√) 28.好的测试员不懈追求完美。(×) 29.测试程序仅仅按预期方式运行就行了。(×) 30.在没有产品说明书和需求文档的条件下可以进行动态黑盒测试。(√) 31.静态白盒测试可以找出遗漏之处和问题。(√) 32.测试错误提示信息不属于文档测试范围。(×) 33.代码评审是检查源代码是否达到模块设计的要求。(√) 34.总是首先设计黑盒测试用例。(√) 35.软件测试是有风险的行为,并非所有的软件缺陷都能够被修复。(∨) 36.软件质量保证和软件测试是同一层次的概念。(x) 37.程序员兼任测试员可以提高工作效率。(x) 38.在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。(∨) 39.传统测试是在开发的后期才介入,现在测试活动已经扩展到了整个生命周期。(∨)40.传统测试以发现错误为目的,现在测试已经扩展到了错误预防的范畴。∨ 41.软件测试的生命周期包括测试计划、测试设计、测试执行、缺陷跟踪、测试评估。(∨)42.软件生存周期是从软件开始开发到开发结束的整个时期。(x) 43.测试用例的数目越多,测试的效果越好。(x) 44.只要能够达到100%的逻辑覆盖率,就可以保证程序的正确性。(x) 45.单元测试属于动态测试。(∨) 46.验收测试是以最终用户为主的测试。(∨) 47.没有发现错误的测试是没有价值的。(∨) 48.可以把不合格的开发人员安排做测试。(x)

软件开发过程中常用的软件测试方法

软件开发过程中常用的软件测试方法 2010-3-29 10:09:22 作者:佚名 一、目前项目中所使用的测试方法我目前所在的项目中(目前项目是一套C/S架构的系统),所使用的软件测试方法为:单元测试,集成测试,功能测试,回归测试,验收测试。 下面就上面的三种软件测试方法,分别做一下说明: (1)单元测试 这个步骤主要是开发者针对开发过程中,程序内部的函数、类、变量等等数据进行正确性的测试。 开发人员根据需求,在经过详细设计之后,开始着手编写代码。一般情况下,每完成一个函数(类、变量……)之后,就要进行单元测试,以验证编写的函数能完成详细设计说明中的功能。 举个例子:一个函数需要把一些重要的数据插入到数据库中。那在编写完这个函数之后,就要进行测试,以验证①函数能正确带出需要插入数据库的数据变量②带出的数据可以正确的插入需要插入的数据库。 在上述测试通过之后,再接着按照详细设计说明进行接下来的开发工作。 (2)集成测试 集成测试是在单元测试的基础上,将所有模块按照详细设计的要求组装成子系统或系统,进行集成测试。集成测试侧重于模块间的接口正确性以及集成后的整体功能的正确性。 举个例子:等一个个函数或者功能模块的单元测试完成之后,就需要测试这些函数或者模块之间的整体的数据流是否正确。 (3)功能测试 等开发人员开发完之后就要把最后开发、测试(单元测试,整合测试)完的requirement release给内部QA人员去做功能测试。因为开发人员的单元测试、集成测试只能保证release给QA的新的requirement的开发是可以正常运行的,执行起来的效率是最高的,一些基本的功能(如:数据库操作,通信,显示,error handing,信息反馈……)可以正常使用。但是对于特定需求的业务逻辑还不能完全保证其正确性,所以需要更加详尽的功能测试过程。

软件测试常用方法

5.在分别测试winform的C/S结构与测试WEB结构的软件是,应该采取什么样的方法分别测试?他们存在什么样的区别与联系? 6.在测试winform的C/S结构软件时,发现这个软件的运行速度很慢,您会认为是什么原因?您会采取哪些方法去检查这个原因? 7.描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程8.如果您是测试组长,您会采取什么样的方式管理团队?在测试人员同开发人员的沟通过程中,如何提高沟通的效率和改善沟通的效果?维持测试人员同开发团队中其他成员良好的人际关系的关键是什么? 1.软件测试分哪两种方法?分别适合什么情况? 软件测试方法一般分为两种:白盒测试与黑盒测试。白盒测试又称为结构测试、逻辑驱动测试或基于程序本身的测试,它着重于程序的内部结构及算法,通常不关心功能与性能指标;黑盒测试又被称为功能测试、数据驱动测试或基于规格说明的测试,它实际上是站在最终用户的立场,检验输入输出信息及系统性能指标是否符合规格说明书中有关功能需求及性能需求的规定。 2.一套完整的测试应该由哪些阶段组成?分别阐述一下各个阶段。 计划阶段、设计阶段、白盒单元、白盒集成、黑盒单元、黑盒集成、系统测试、回归测试、验收测试一套完整的测试应该由五个阶段组成:1)。测试计划首先,根据用户需求报告中关于功能要求和性能指标的规格说明书,定义相应的测试需求报告,即制订黑盒测试的最高标准。以后所有的测试工作都将围绕着测试需求来进行,符合测试需求的应用程序即是合格的,反之即是不合格的;同时,还要适当选择测试内容,合理安排测试人员、测试时间及测试资源等。2)测试设计将测试计划阶段制订的测试需求分解、细化为若干个可执行的测试过程,并为每个测试过程选择适当的测试用例(测试用例选择的好坏将直接影响测试结果的有效性)。3)测试开发建立可重复使用的自动测试过程。4)测试执行执行测试开发阶段建立的自动测试过程,并对所发现的缺陷进行跟踪管理,测试执行一般由单元测试、组合测试、集成测试、系统联调及回归测试等步骤组成,测试人员应本着科学负责的态度,一步一个脚印地进行测试。5)测试评估结合量化的测试覆盖域及缺陷跟踪报告,对于应用软件的质量和开发团队的工作进度及工作效率进行综合评价。 3.软件测试的类型有那些?分别比较这些不同的测试类型的区别与联系。BVT (Build Verification Test),主要目的是验证最新生成的软件版本在功能上是否完整,主要的软件特性是否正确Scenario Tests(基于用户实际应用场景的测试),Scenario Tests优点是关注了用户的需求,缺点是有时候难以真正模仿用户真实的使用情况Smoke Test,修复Bug后,针对此次修复是否会对其他模块造成影响而进行的专门测试。Smoke Test优点是节省测试时间,防止build失败。缺点是覆盖率还是比较低此外,还有Application Compatibility Test(兼容性测试),主要目的是为了兼容第三方软件,确保第三方软件能正常运行,用户不受影响。Accessibility Test(软件适用性测试),是确保软件对于某些有残疾的人士也能正常的使用,但优先级比较低。其它的测试还有Functional Test(功能测试)、Security Test(安全性测试)、Stress Test(压力测试)、Performance Test(性能测试)、Regression Test(回归测试)、Setup/Upgrade Test(安装升级测试)等 4. 测试用例通常包括那些内容?着重阐述编制测试用例的具体做法不同结构的用例包括的不一样。(版本、编号、项目、设计人员、设计日期、输入、预期

相关主题
文本预览
相关文档 最新文档