1、软件测试实施细则 (草案)一、 前言编写本方案的目的在于进一步明确软件测试所承担的工作,要达到的效果及软件测试工作中涉及到的若干细节。本方案以公司软件开发标准及软件测试标准为基础,以全面执行两个标准为原则,适用于软件测试工作全过程。二、 测试常用分析方法1、 等价类划分 等价类划分的办法是把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据当作测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值,也就是说,如果某一类中的一个例子发现了错误,这一等价类中的其他例子也能出现同样的错误。例如,在不了解等价分配技术的前提下,测试了 1+1、1+2 、1+3 和 1+4 之后,还
2、有必要测试1+5 和 1+6 吗 ?能否放心地认为它们正确吗?那么 1+999(可以输入的最大数值)呢?这个测试用例是否与其他用例不同?是否属于另外一种类别?另外一个等价区间?这是软件测试员必须考虑到的问题。等价类别或者等价区间是指测试相同目标或者暴露相同软件缺陷的一组测试案例。 1+999和 1+13 有什么区别呢?至于 1+13,就像一个普通的加法,与 1+5或者 1+392 没有什么两样,而 1+999则属于邻界的极端情况。假如输入最大允许数值,然后加 1,就可能会出现问题也许就是软件的缺陷。这个极端案例属于一个单独的区间,与常规数字的普通区间不同。 2、 边界值分析 边界值设计测试遵循
3、的五条原则: A、 如果输入条件规定了取值范围,应以该范围的边界内及刚刚超范围边界外的值作为测试用例。如以 a 和 b 为边界,测试用例应当包含a 和 b 及略大于 a 和略小于 b 的值; B、 若规定了值的个数,分别以最大、最小个数及稍小于最小、稍大于最大个数作为测试用例;C、 针对每个输出条件使用上述 1、2 条原则; D、 如果程序规格说明中提到的输入或输出域是个有序的集合(如顺序文件、表格等) ,就应注意选取有序集的第一个和最后一个元素作为测试用例; E、 分析规格说明,找出其他的可能边界条件。3、 因果图因果图能有效地检测输入条件的各种组合可能会引起的错误。通过画因果图,在图上标明
4、约束和限制,转换成判定表。这适合于检查程序输入条件的各种组合情况。三、 基于 PB 的 MIS 系统常见 BUG1、 数据库操作(增加、删除、修改)A、 操作完成后没有及时刷新数据;B、 数据库默认值检索不正确;C、 按条件检索时条件不正确;D、 从数据库中取出的值不正确;E、 操作时没有进行数据的有效性判断;2、 数据窗口A、 进行删除操作时没有进行空值判断;B、 带参数检索时没有传入正确的参数;C、 检索默认值时没有进行有效性判断;D、 操作完成后没有及时刷新数据窗口内容;四、 BUG 标准符合以下描述者,均视为 BUG1、功能类A、重复的功能B、多余的功能C、功能实现与设计要求不相符D、
5、功能实现不符合需求报告E、功能使用方便性、易用性不够2、界面类A、界面不美观B、界面风格不统一;C、控件排列、格式不统一D、焦点控制不合理或不全面E、提示信息不准确;3、提示信息类A、提示信息重复或出现时机不合理B、提示信息格式不符合要求C、提示框返回后焦点停留位置不合适4、流程类A、流程控制不符合要求B、流程实现不完整5、数据处理类A、数据有效性检测不合理B、数据来源不正确C、数据处理过程不正确D、数据处理结果不正确五、 测试用例编写说明测试用例是整个测试工作开展的核心,所有测试均由测试用例驱动,测试用例按以下类型划分:功能、界面、数据处理、流程处理、极限、并发、安装每个测试对象的测试用例均
6、包括以上类型,在测试初期,可以只有功能、界面测试用例,在不断进行的测试工作中,对测试用例进行补充,最后实现每一模块均有完整的测试用例,利于后期的测试及复测。例:在集成测试的初期,ATS 纳税人登记模块可能只关联到税源登记模块,此时,应该编写纳税人登记与税源登记的集成测试用例,随着开发的进展,加入纳税人完税模块的集成,此时,应该及时编写与完税模块的测试用例。1、测试用例标准格式测试对象 输入或功能描述 预期结果 是否符合要求 备注2、测试用例编写规范A、 功能测试用例:严格按需求分析、详细设计报告、用户手册、软件功能说明书编写,此用例对应到每一个具体的操作或每一项具体的功能。功能性测试用例在软件
7、详细设计阶段完成后进行编写!如果是在软件发布后新增功能,应按新增功能详细说明及详细设计报告进行编写。功能测试用例除对模块本身的功能进行测试外,还应对通用控件的功能进行检查,本用例适用于单元测试。主要内容: 测试对象的设计功能; 实现功能与设计功能的对照; 测试对象中每一个控件的具体功能; 设计中有关规定或约束; 常用控件的一般功能或常见功能实现; 有效性控制; 应该进行的检测或控制; 画出测试对象的功能结构图或示意图;实例(ATS 系统纳税人登记)测试对象 输入或功能描述 预期结果 是否符合要求 备注纳税人编码 新增纳税人 自动生成编码纳税人名称 输入中文、英文、数字允许人口 输入四位数字 不
8、允许人口 输入零或空 不允许保存按钮 输入数据合法时执行向数据库写入数据保存按钮 输入数据不合法时执行提示并不写数据入数据库B、 界面测试用例严格按界面测试用例编写标准及实际测试对象进行编写。界面测试用例包括通用控件、焦点控制、易用性控制。本用例适用单元测试。主要内容测试对象 相关说明窗口 1、弹出时显示的位置2、最大、最小按钮的必要性3、窗口标题4、在不同分辨率下的显示5、窗口中的控件排列及显示6、窗口菜单显示7、窗口颜色、滚动条8、窗口尺寸菜单 1、显示2、级次3、文字说明4、快捷键5、弹出位置6、执行时状态7、执行完状态工具条 1、显示位置2、图示形状及颜色3、是否有浮动说明4、按下、抬
9、起两种状态是否正确5、拖动工具条时是否正常6、显示/隐藏时是否正常状态条 1、位置2、显示内容3、显示内容能否及时更新BOX 框 1、BOX 框存在的必要性2、描述文字是否合理3、BOX 框的提示图标是否合标准4、字体大小及标点符号5、描述文字排列6、BOX 框中的各选项是否均有效不可编辑的下拉框 1、尺寸及位置2、是否有初始值3、能否用鼠标选择4、能否用键盘选择5、可选内容是否全面可编辑的下拉框 1、包括所有不可编辑下拉框内容2、输入的内容是否有效3、对输入的内容是否进行了有效性检测单选按钮(Radio Box) 1、显示位置及文字说明2、成组时有否默认值3、成组时应只能选择其一4、成组时进
10、行不同的选择,相关内容刷新是否及时说明文字 1、位置2、文字内容及排列3、文字颜色4、字体大小及标点符号按钮(Button) 1、尺寸及位置2、颜色3、热键是否与其它模块统一4、热键是否有效5、能否实现鼠标及键盘操作6、说明文字7、状态更新是否及时树结构 1、树图标2、树的展开与回收是否及时3、焦点控制4、能否实现全键盘操作或全鼠标操作5、刷新内容方式数据窗口 1、标题文字及颜色2、数据窗口颜色3、能否用鼠标或键盘移动光标4、数据窗口中的内容刷新是否正确及时5、数据窗口创建时如果有内容,能否自动选择一条记录6、数据窗口内容刷新时,能否自动选择一条记录焦点控制 1、TAB 键光标跳转顺序2、EN
11、TER 键光标跳转顺序3、操作结束或出现错误后光标位置4、BOX 框操作后光标位置5、初始焦点位置实例(ATS 系统纳税人登记)测试对象 输入或功能描述 预期结果 是否符合要求 备注保存按钮 热键 CTRL+S放弃按钮 热键 CTRL+Q界面文字 颜色 黑色、红色界面文字 尺寸 10 号字C、 数据处理测试用例数据处理测试用例主要内容为输入数据,处理过程、预期输出与实际输出。在编写数据处理测试用例时,首先应列出被测试对象包括的所有数据处理过程或方法及预期结果,再选择测试数据。如果被测对象涉及到数据库操作,应加入对数据库表记录的检测。本用例适用于所有测试阶段!主要内容: 测试对象的数据流程; 数
12、据输入部分的检测、有效性控制; 数据来源的正确性; 数据处理过程的正确性; 数据处理结果的正确性; 画出测试对象的数据流程图实例(ATS 系统纳税人登记)测试对象 输入或功能描述 预期结果 是否符合要求 备注纳税人编码 输入已存在号码 提示不允许纳税人编码 输入后四位为0000,保存提示不允许纳税人编码 输入后四位为9999提示 9990 后为临时纳税人编码纳税人编码 输入数字外的其它字符不允许输入纳税人编码 输入超过 16 位编码不允许输入保存按钮 合法数据保存 数据库中记录正确数据人口 输入超过三位 不允许输入D、 流程测试用例流程测试用例包括:操作流程、业务流程、数据流程、正常流程、反流
13、程、不规则流程以及各流程之间的数据传递正确性等方面内容。 操作流程:软件实现流程与设计流程的对照; 业务流程:软件实现流程与实际业务流程的对照; 数据处理流程的关联性; 各流程之间的数据关联性; 反流程操作的控制; 测试对象流程图实例(ATS 系统纳税人登记、税源登记)测试对象 输入或功能描述 预期结果 是否符合要求 备注税源登记 新增纳税人后进入税源登记窗口显示新增的纳税人纳税人登记中删除纳税人未登记税源 允许纳税人登记中删除纳税人已登记税源 不允许纳税人登记中删除纳税人先登记再删除税源允许纳税人登记 在税源登记窗口修改纳税人信息显示修改后的纳税人信息纳税人登记中注销纳税人有税源 不允许纳税
14、人登记中注销纳税人无税源 允许纳税人登记中注销纳税人先登记税源,再删除税源允许E、 极限测试用例包括数据处理、数据库空值等方面内容,编写极限测试用例时,注意分析测试对象的所有极限情况。主要内容:测试对象 相关说明数值输入 1、空格2、字符3、负数4、小数5、最大值6、最小值7、临界值8、数值有效位数控制字符输入 1、空格2、空值3、数值4、最长字符5、字符长度控制6、字符有效性控制7、同值输入保存操作 1、保存空值2、保存最大值3、多次连续保存操作4、保存非法值5、保存相同值删除操作 1、为空时删除2、连续多次删除3、删除第一条记录4、删除最后一条记录滚动条 1、满屏时是否有滚动条2、满屏时,
15、用键盘移动,光标选择是否正常日期 1、0000-00-00 控制2、有效日期范围控制3、非日期值输入数据处理 1、多笔数据处理2、多年数据处理实例(ATS 系统纳税人登记)测试对象 输入或功能描述 预期结果 是否符合要求 备注保存 编码为空 不允许保存 编码非法 不允许保存 人口为空 不允许保存 承包人口为空 允许并写入默认值 1保存 纳税类型为空 不允许保存 纳税类型全选 允许F、 并发测试用例主要内容包括:网络环境下对同一模块或相关数据的同时操作,在同一计算上运行多个实例。主要内容: 同时保存 同时录入 同时删除 某客户端停在某模块,其它客户端对此模块操作 某客户端停在某模块,其它客户端操
16、作关联模块实例(ATS 系统纳税人登记在网络环境下)测试对象 输入或功能描述 预期结果 是否符合要求 备注保存 同时保存 只有一条记录保存成功保存 先后保存 允许并写入二条记录保存 某客户停留在纳 允许税人登记窗口,另一客户保存G、 安装测试用例主要内容:测试对象 相关说明安装界面 1、界面上的软件名称、版本信息是否正确2、提示文字是否妥当有效3、文字大小、颜色、排列是否一致、美观4、用户协议是否正确安装过程 1、可以退出的位置能否正常退出2、安装中途退出后重新安装是否正常3、安装提供的所有安装模式能否正确进行安装结束 1、桌面快捷方式能否正常创建、是否有效2、开始菜单中的程序项能否正常创建、
17、是否有效3、程序能否正常运行4、生成的文件数是否正确5、生成的文件编译时间是否为最新6、配置文件是否最新7、程序中的版本号是否最新8、程序中的功能是否最新帮助 1、能否正常运行帮助2、帮助内容是否最新3、帮助中的所有链接是否有效注册表 1、是否写入了必要的注册信息2、注册信息位置是否正确卸载 1、通过安装程序能否进行卸载2、通过添加/删除能否进行卸载3、卸载过程是否正常4、卸载界面中的各种文字是否正确5、卸载过程能否正常中断6、正常中断卸载过程后程序能否正常运行7、卸载后是否删除了必要的文件8、卸载后是否删除了需删除的注册信息9、卸载后能否删除安装生成的快捷方式、程序项易用性 1、安装过程是否需进行大量的手工配置2、安装过程是否易学易用