某数码信息股份公司软件测试规范(编辑修改稿)内容摘要:
及显示位置是否正确。 数据输入界面应注意文字格式及数字和文字的区别。 是否能够正确保存信息。 数据查询(显示)界面应注意显示信息是否正确和完整。 是否能正确查询。 对打印功能要求注意打印出的报表是否正确。 (包括报表各项信息、数据信息和报表字体等)。 这一项测试主要是对软件的错误处理功能进行测试。 就是进行错误的操作或输入错误的数据,检查软件对这些情况是否能做出判断并予以提示。 特殊情况下要制造极端状态和意外状态,比如网络异常中断、电源断电等情况。 一定要注意测试中的错误集中发生现象,这和程序员的编程水平和习惯有很 大的关系。 对测试错误结果一定要有一个确认的过程。 一般有 A测试出来的错误,一定要有一个 B来确认,严重的错误可以召开评审会进行讨论和分析。 制定严格的测试计划,并把测试时间安排得尽量宽松,不要希望在极短的时间内完成一个高水平的测试。 回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多错误出现的现象并不少见。 妥善保存一切测试过程文档,意义是不言而喻的,测试的重现性往往要靠测试文档。 软件测试规范 软件测试类型 6 四 .软件测试类型 除非是测试一个小程序,否则一开始就把整个系统作为一个单独的实体来测试是不现实的。 与开发过程类似,测 试过程也必须分步骤进行,每个步骤在逻辑上是前一个步骤的继续。 大型软件系统通常由若干个子系统组成,每个子系统又由许多模块组成。 因此,大型软件系统的测试基本上由下述几个步骤组成: 在设计得好的软件系统中,每个模块完成一个清晰定义的子功能,而且这个子功能和同级其他模块的功能之间没有相互依赖关系。 因此,有可能把每个模块作为一个单独的实体来测试,而且通常比较容易设计检验模块正确性的测试方案。 模块测试的目的是保证每个模块作为一个单元能正确运行,所以模块测试通常又称为单元测试。 在这个测试步骤中所发现的往往是 编码和详细设计的错误。 子系统测试是把经过单元测试的模块放在一起形成一个子系统来测试。 模块相互间的协调和通信是这个测试过程中的主要问题,因此这个步骤着重测试模块的接口。 系统测试是把经过测试的于系统装配成一个完整的系统来测试。 在这个过程中不仅应该发现设计和编码的错误,还应该验证系统确实能提供需求说明书中指定的功能,而且系统的动态特性也符合预定要求。 在这个测试步骤中发现的往往是软件设计中的错误,也可能发现需求说明中的错误。 不论是子系统测试还是系统测试,都兼有检测和组装两重含义,通 常称为集成测试。 验收测试把软件系统作为单一的实体进行测试,测试内容与系统测试基本类似,但是它是在用户积极参与下进行的,而且可能主要使用实际数据 (系统将来要处理的信息 )进行测试。 验收测试的目的是验证系统确实能够满足用户的需要,在这个测试步骤中发现的往往是系统需求说明书中的错误。 软件测试规范 黑盒测试方法 7 五 .黑盒测试方法 黑盒测试 (black— box testing)又称功能测试、数据驱动测试或基于规范的测试 (即 ec 颠cation— based testing)。 用这种方法进行测试时,被测程序被当作看不见内部的 黑盒。 在完全不考虑程序内部结构和内部特性的情况下,测试者仅依据程序功能的需求规范考虑确定测试用例和推断测试结果的正确性。 因此黑盒测试是从用户观点出发的测试,黑盒测试直观的想法就是既然程序被规定做某些事,那我们就看看它是不是在任何情况下都做的对。 完整的“任何情况”是无法验证的,为此黑盒测试也有一套产生测试用例的方法,以产生有限的测试用例而覆盖足够多的“任何情况”。 由于黑盒测试不需要了解程序内部结构,所以许多高层的测试如确认测试、系统测试、验收测试都采用黑盒测试。 黑盒测试首先是程序通常的功能性测试。 要求: 每 个软件特性必须被一个测试用例或一个被认可的异常所覆盖。 用数据类型和数据值的最小集测试。 用一系列真实的数据类型和数据值运行,测试超负荷、饱和及其他“最坏情况”的结果; 用假想的数据类型和数据值运行,测试排斥不规则输入的能力; 对影响性能的关键模块,如基本算法、应测试单元性能 (包括精度、时间、容量等 )。 不仅要考核“程序应该做什么 ?”还要考察“程序是否做了不该做的 2”同时还要考察程序在其他一些情况下是否正常。 这些情况包括数据类型和数据值的异常等等。 下述几种方法: (a)等价类划分, (b)因果图方法, (c)边值 分析法, (d)猜错法, (e)随机数法,就是从更广泛的角度来进行黑盒测试。 每一个方法都力图能涵盖更多的“任何情况”,但又各有长处,综合使用这些方法,会得到一个较好的测试用例集。 等价类划分是一种典型的黑盒测试方法。 等价类是指某个输入域的集合。 它表示对揭露程序中的错误来说,集合中的每个输入条件是等效的。 因此我们只要在一个集合中选取一个测试数据即可。 等价类划分的办法是把程序的输入域划分成若干等价类,然后从每个部分中选取少数代表性数据当作测试用例。 这样就可使用少数测试用例检验程序在一大类情况 下的反映。 在考虑等价类时,应该注意区别以下两种不同的情况: 有效等价类:有效等价类指的是对程序的规范是有意义的、合理的输入数据所构成的集合。 在具体问题中,有效等价类可以是一个,也可以是多个。 无效等价类:无效等价类指对程序的规范是不合理的或无意义的输入数据所构成的集合。 对于具体的问题,无效等价类至少应有一个,也可能有多个。 确定等价类有以下几条原则: 如果输入条件规定了取值范围或值的个数,则可确定一个有效等价类和两个无效等价类。 例如,程序的规范中提到的输入条包括“„„项数可以从 1到 999„„”,则 可取有效等价类为“ l考项数<999”,无效等价类为“项数< l,及“项数> 999”。 输入条件规定了输入值的集合,或是规定了“必须如何”的条件,则可确定一个有效等价类和一个无效等价类。 如某程序涉及标识符,其输入条件规定“标识符应以字母开头„„”则“以字母开头者”作为有效等价类,“以非字母开头”作为无效等价类。 如果我们确知,已划分的等价类中各元素在程序中的处理方式是不同的,则应将此等价类进一步划分成更小等价类。 输入条件 有效等价类 无效等价类。 根据已列出的等价类表,按以下步骤确定测试用例: 为每个等价类规定一个唯一的编号; 软件测试规范 黑盒测试方法 8 设计一个测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。 重复这一步,最后使得所有有效等价类均被测试用例所覆盖; 设计一个新的测试用例,使其只覆盖一个无效等价类。 重复这一步,使所有无效等价类均被覆盖。 这里强调每次只覆盖一个无效等价类。 这是因为一个测试用例中如果含有多个缺陷,有可能在测试中只发现其中的一个,另一些被忽视。 等价类划分法能够全面、系统地考虑黑盒测试的测试用例设计问题,但是没有注意选用 一些“高效的”、“有针对性的”测试用例。 后面介绍的边值分析法可以弥补这一缺点。 等价类划分法并没有考虑到输入情况的各种组合。 这样虽然各个输入条件单独可能出错的情况已经看到了,但多个输入情况组合起来可能出错的情况却被忽略。 采用因果图方法能帮助我们按一定步骤选择一组高效的测试用例,同时,还能为我们指出程序规范的描述中存在什么问题。 利用因果图导出测试用例需要经过以下几个步骤: 分析程序规范的描述中哪些是原因,哪些是结果。 原因常常是输入条件或是输入条件的等价类。 结果是输出条件。 分析程序规范的描述中语 义的内容,并将其表示成连接各个原因与各个结果的“因果图”。 由于语法或环境的限制,有些原因和结果的组合情况是不可能出现的。 为表明这些特定的情况,在因果图上使用持殊的符号标明约束条件。 把因果图转换成判定表。 把判定表的每一列写成一个测试用例。 边值分析法是列出单元功能、输入、状态及控制的合法边界值和非法边界值,设计测试用例,包含全部边界值的方法。 典型地包括 IF语句中的判别值,定义域、值域边界,空或畸形输入,末受控状态等。 边值分析法不是一类找一个例子的方法,而是以边界情况的处理作为主要目标 专门设计测试用例的方法。 另外,边值分析不仅考查输入的边值,也要考虑输出的边值。 这是从人们的经验得出的一种有效方法。 人们发现许多软件错误只是在下标、数据结构和标量值的边界值及其上、下出现,运行这个区域的测试用例发现错误的概率很高。 用边值分析法设计测试用例时,有以下几条原则: 如果输入条件规定了取值范围,或是规定了值的个数,则应以该范围的边界内及刚刚超出范围的边界外的值,或是分别对最大、最小及稍小于最小、稍大于最大个数作为测试用例。 如有规范“某文件可包含 l至 255”个记录„„“,则测试用例可选 1和 255及 0和 256等。 针对规范的每个输出条件使用原则〔 a〕。 如果程序规范中提到的输入或输出域是个有序的集合 (如顺序文件、表格等 )就应注意选取有序集的第一个和最后一个元素作为测试用例。 分析规范,尽可能找出可能的边界条件。 一个典型的边值分析例子是三角形分类程序。某数码信息股份公司软件测试规范(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。