判定表法的教学案例研究

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:ssaifengchen
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:结合教学实践,归纳和整理了软件测试课程中与判定表法相关的典型教学案例。这些教学案例能够很好地适用于判定表法的教学工作,有助于深入浅出地向学生展示判定表法的使用方法。此外,提出在教学中应当充分利用被测程序输入条件之间存在的约束关系,简化初始判定表的构造。
  关键词:软件测试;黑盒测试;功能测试;判定表
  中图分类号:G642 文献标识码:A
  文章编号:1009-3044(2019)31-0159-03
  1概述
  软件测试是软件质量控制的一种有效手段,也是软件生命周期的一个重要环节。在开发过程中,采用有效的软件测试方法和技术,不仅有助于提高软件产品的质量水平,而且能够显著地降低项目后期的维护成本。
  软件测试的核心任务是寻找被测软件中存在的各种缺陷。实施测试的基本手段是为被测程序设计一组测试用例,每条测试用例至少包含输人数据和预期结果两个部分。然后,将数据逐条输人被测程序,并观察实际运行结果是否和对应的预期结果一致。由此可见,测试用例的设计是软件测试的一项重要活动,也是测试工程师所应当掌握的一项基本技能。因此,测试用例设计方法就构成了软件测试课程的核心理论内容。判定表法是一种经典的测试用例设计方法,主要适用于在多项输入条件中存在复杂逻辑组合关系的被测程序。该方法被广泛应用于软件测试实践,因此也是测试用例设计方法的教学重点。
  本文旨在归纳和整理与判定表法相关的典型教学案例,这些案例能够逐步引导学生理解并掌握判定表法的概念和步骤。此外,在生成初始判定表的过程中,通常可以利用被测程序输入条件之间的约束关系,达到简化初始判定表的目的。许多软件测试教材对此未做强调,本文将结合案例分析对其加以补充。
  2判定表法
  判定表法是一种典型的黑盒测试方法。所谓黑盒测试,即将被测程序视为一个黑盒,测试工程师在不了解被测程序内部数据结构和算法的情况下,仅依据被测程序的规格说明即可完成测试用例的设计。各种黑盒测试方法都能够帮助测试工程师找出满足特定覆盖要求的一系列情况,然后针对每种情况设计一条测试用例。设计测试用例的前提条件是被测程序的规格说明必须是规范的。规范的规格说明应当准确描述被测程序的输入、处理和输出。在不考虑内部处理的情况下,依据规格说明设计出的每条测试用例,反映了特定输入条件组合与输出之间的对应关系,其中的每个输入条件组合通常是所有输入变量的一组特定取值。
  判定表法以表格形式列举出被测程序的所有情况,这些情况应当覆盖被测程序的所有输入条件组合和对应的输出,从而帮助测试工程师清晰、直观地考察这些情况,并顺利地设计出对应的测试用例。因此,一张判定表的基本结构应当包含如下四个部分:
  条件桩:列出被测程序的所有输人条件。
  动作桩:列出被测程序的所有输出。
  条件项:列出被测程序的所有输入条件组合。
  动作项:列出被测程序所有输入条件组合与输出之间的对应关系。
  其中,由条件项和动作项构成的一列称为一条规则,每条规则都包含特定输入条件组合及其对应的输出。
  3教学案例
  本文主要从规格说明和案例分析两个方面描述判定表的教学案例。其中,案例分析部分又分为如下两个步骤:(1)初始化判定表。列出所有条件桩和动作桩,并填写条件项及其对应的动作项。如果输入条件之间存在明显的约束关系,则在填写条件项时利用这些约束关系简化初始判定表。(2)化简判定表。合并冗余规则并消除矛盾规则。
  这里需要说明一点,判定表法的完整教学案例还包括选取测试用例的步骤,即为每条规则选取一条测试用例,限于篇幅本文省略了这一步骤。
  3.1案例1:合并冗余规则
  规格说明:某网站的会员注册程序要求用户输入两次密码,并检查输入的密码是否正确。系统首先检查两次输入的密码是否一致,如果不一致则提示“密码不一致”。然后,检查密码是否少于8个字符,如果少于8个字符则提示“密码不足8个字符”。最后,检查密码是否由字母和数字构成。如果不满足要求则提示“密码应包含字母和数字”。如果上述三个条件都满足,则用户输入的密码通过检查。
  步骤1初始化判定表
  该步骤的主要任务是填写判定表的初始内容。首先,在条件桩中列出所有输入条件,在动作桩中列出所有输出动作。其中,条件应尽量简单,不要列出复合条件。事实上,复合条件可以由基本条件组合得到。对于布爾类型的条件,在条件桩中仅列举一个取值,另一个取值自然就是其逻辑非。但如果条件不是布尔类型,则需要在条件桩中列举该条件的所有取值。
  如表1所示,本例的基本条件共有三个,动作共有四个。由于三个基本条件都是布尔类型,因此共列出8(23)个条件项。条件项中每个条件的取值用“T”表示逻辑真,用“F”表示逻辑假。最后,本例的所有条件项对应的动作项都仅有一个取值,这是因为当存在多个条件为假时,系统按检查的顺序仅提示一条错误信息。
  步骤2化简判定表
  通过分析不难发现表1中存在可以合并的冗余规则。在寻找冗余规则时,首先应找出具有相同动作的规则,然后确定这些规则中条件项取值相同的条件,最后检查剩余条件是否能够遍历所有的取值,如果可以则这些规则就可以合并为一条规则。在合并所得的规则中,对于那些原本取值不同的条件,将其取值都统一修改为“一”,代表可以任意取值。
  例如在表1中,第5、6、7、8条规则的动作都是“密码不一致”,这四条规则的条件项依次为:FTF、FTF、FFT、FFF。通过观察不难发现,它们的第一个条件都取值为F,而剩余的第二、三条件则遍历了二者的所有四种取值(TT、TF、FT、FF),因此这四条规则可以合并为一条规则:F-。其中的两个“一”代表第二、三两个条件可以任意取值。   类似地,第3、4条规则的动作都是“密码不足8个字符”,二者的条件项依次是TFT和TFF。其中,第一、二两个条件的取值都为TF,剩余的第一个条件的取值遍历了该条件的所有两种情况佃和F),因此这两条规则可以合并为TF-。化简的判定表如表2所示。
  3.2案例2:消除矛盾规则
  规格说明:闰年判定程序用于判断一个给定年份是否为闰年,它输入一个代表年份的整型变量year,如果year是闰年则输出true,否则输出false。
  步骤1初始化判定表
  本例的三个基本条件是year能够分别被4、100或400整除,两个动作分别是输出true或false。由于每个条件都属于布尔类型,因此总共需要列出八个条件项。初始判定表如表3所示,考虑到规则有可能存在逻辑矛盾,因此在表中特别增加了一个“矛盾”动作。
  步骤2化简判定表
  表3的第3、5、6、7条规则都存在逻辑矛盾。例如第3条规则的含义是year能够被4和400整除,但不能被100整除,这是不可能的,因此存在矛盾。对其他三条规则也可以做类似的分析。上述四条规则的“矛盾”动作中都填入了“T”,表示这是矛盾规则。在化简判定表时,只要删除矛盾规则所在的列即可。化简的判定表如表4所示。此时,判定表中不用再包含“矛盾”动作了。
  3.3案例3:利用约束关系简化初始判定表
  规格说明:三角形类型判定程序用于判断三角形的类型。该程序输入代表三条边长的三个整型变量a、b、c(a
其他文献
从“互联网+”背景下软件开发类课程的教学现状分析存在的问题,如学情差异性、学时少内容多、课堂教学模式较单一等,提出一些软件开发类课程的教学改革的措施,主要对课前课中
摘要:当前计算机基础课程教学在普及教育方面还不能有效满足实际需求,存在着教学内容和考评体系不合理、教学实践渠道不足等问题。教师在实际教学环节中只注重知识的传授忽略了不同学生之间的个体差异,不能保证各个基础的学生都匹配到适合他们的教学方式。混合式教学模式是将“线上”教学远程学习与传统教学课堂面授进行有机融合,这需要培训教师具备混合教学能力,从课前准备、课上教学、课后复习以及师生考评体系等四个方面对计
摘要:社区戒毒康复治疗加强了对戒毒康复人员的监督和管理,对降低复吸率有积极的作用,但现今社区戒毒康复治疗模式是由人工管制,工作效率低,信息传递慢,信息时效性差,不利于社区戒毒康复治疗的健康、快速、规模化发展。因此建立一個以社区为纽带的系统化戒毒康复平台,将政府、公安、街道、社区机构、社工、吸毒人员都纳入系统当中,各方共享戒毒康复信息,保持即时沟通联系,实现资源整合运用,使各项工作无缝衔接。通过戒毒
摘要:评述了《计算机导论》课程在计算机科学与技术专业的重要性,提出从导思想、导知识、导方式、导能力、导就业五个方面来探讨民办高校计算机专业《计算机导论》课程的教学内容及教学方法,为后续课程打好基础。导思想主要是针对大一新生从专业学习兴趣方面来进行;导知识主要介绍这门课程所包含的主要内容;导方式就是对学生学习方式的引导;导能力主要引导学生各方面能力的发展;导就业主要是通过这门课让学生了解将来就业的方
摘要:捆绑销售是商家惯用的销售策略,在电子商务领域,可以根据每个用户个性化数据,可以进行个性化的捆绑方案。该文设计并实现了一个基于用户和商品两方面的个性化捆绑销售系统,并通过对用户购买力分类,计算顾客对推荐出的商品的购买欲望,从而得出优惠的捆绑价格。经过实验验证,该系统提高了商品销售量并获得了更多利润。  关键词:个性化;捆绑销售;电子商务  中图分类号:TP311 文献标识码:A  文章编号:1
本文首先分析高职计算物联网专业机网络技术教学的现状,再以Packet Tracer 7为学习背景,搭建了一个网络拓扑图,并对其进行任务分析和配置。借助虚拟仿真的高级功能设计项目的评价工具,从而大大地提高了课堂教学效果。
摘要:翻转课堂教学法是在信息技术的支持下让学生在课外学习基础知识,课堂中教师在以学生为中心的教学活动中引导学生达到高阶思维的认知过程。随着FPGA应用领域不断扩大彳艮多院校都在加强FPGA课程的建设。这门课程要求学生在FPGA器件上进行应用和开发,既需要理论基础,又需要实践能力。本文分析了翻转课堂的目标以及理想的话语环境,叙述了作者在FPGA课堂上的教学实践。说明翻转课堂的话语使用方式会影响学习效
摘要:服务型数字化校园是目前高职院校数字化校园建设的主流趋势并取得了丰富的建设成果。设计科学合理、便于实施的评价指标体系是对服务型高职院校数字化校园建设质量进行评价的前提。文章从评价指标体系构建的步骤入手,详细阐述了指标体系构建的过程,并对高职院校数字化校园建设质量评价的实施提出了建议。  关键词:服务;数字化校园;质量评价;指标体系  中图分类号:TP393 文献标识码:A  文章编号:1009
创新创业能力是高素质高层次人才的重要特征,实践创新能力培养是高等院校研究生教育的核心,也是研究生教育的灵魂和标准。文中详细阐述了研究生培养的发展历程与研究意义,介
摘要:近几年,国家机构数据库被入侵,大型网站被黑客攻击的案例时有发生,这给企事业单位网络数据信息安全和财产带来巨大的威胁,造成巨大的损失。因此,要采取科学的手段提高计算机网络安全水平,运用先进技术实现网络安全保障体系的构建。虚拟技术应用于计算机网络中,可以促进计算机网络安全工作的顺利开展。计算机网络安全关系到企事业单位的重要机密,关系到社会的正常运转,探讨虚拟技术在计算机网络安全中应用的实际作用。