计算机专业软件测试方法分析

来源 :信息周刊 | 被引量 : 0次 | 上传用户:heroszk2
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘 要】软件测试是软件开发过程中必不可少的部分。从根本上说,测试过程的质量决定了软件测试的质量和有效性。软件测试作为软件生存周期的一个重要组成部分,受到重视程度越来越高。软件测试的本质是针对要测试的内容确定一组测试用例。测试用例是测试工作的指导,是软件测试的必须遵守的准则。更是软件测试质量稳定的根本保障。所以对于软件测试的过程来讲,测试用例的设计是其中最关键的环节。软件测试分功能性测试和结构性测试。功能性测试又称黑盒测试,结构性测试又称白盒测试。本文分别详细介绍这两类测试方法的测试用例的设计方法。
  【关键词】测试用例黑盒测试白盒测试逻辑覆盖
  1引言
  软件测试的核心是测试用例的编写,所以测试用例的编写对于软件测试的过程来说是十分重要的,也是每个测试人员必须掌握的技能。本文主要分别介绍了黑盒测试和白盒测试两类不同的测试方法。尤其重点介绍了白盒测试中的逻辑覆盖。并结合实例给出具体说明。
  软件测试用例的基本要素:
  测试用例(TestCase)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。测试用例目前为止没有经典的定义。比较通常的说法是:指对一项特定的软件产品进行测试
  任务的描述,体现测试方案、方法、技术和策略。内容包括用例编号、测试标题、重要级别、输入
  數据、操作步骤、预期结果等,并形成文档。下面具体介绍各项的含义。
  (1)用例编号:测试用例的编号有一定的规则,比如系统测试用例的编号这样定义规则:PROJECT1-XT-001,命名规则是项目名称+测试阶段类型(系统测试阶段)+编号。定义测试用例编号,便于查找测试用例,便于测试用例的跟踪。
  (2)测试标题:对测试用例的描述,测试用例标题应该清楚表达测试用例的用途。比如“测试用户登录时输入错误密码时,软件的响应情况”。
  (3)重要级别:定义测试用例的优先级别,可以笼统的分为“高”和“低”两个级别。一般来说,如果软件需求的优先级为“高”,那么针对该需求的测试用例优先级也为“高”;反之亦然,
  (4)测试输入:提供测试执行中的各种输入条件。根据需求中的输入条件,确定测试用例的输入。测试用例的输入对软件需求当中的输入有很大的依赖性,如果软件需求中没有很好的定义需求的输入,那么测试用例设计中会遇到很大的障碍。
  (5)操作步骤:提供测试执行过程的步骤。对于复杂的测试用例,测试用例的输入需要分为几个步骤完成,这部分内容在操作步骤中详细列出。
  (6)预期结果:提供测试执行的预期结果,预期结果应该根据软件需求中的输出得出。如果在实际测试过程中,得到的实际测试结果与预期结果不符,那么测试不通过;反之则测试通过。
  2功能性测试用例设计
  功能性测试又称黑盒测试(Black-boxTesting)或数据驱动测试,是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。黑盒测试注重于测试软件的功能性需求,也即黑盒测试使软件工程师派生出执行程序所有功能需求的输入条件。
  黑盒测试试图发现以下类型的错误:
  (1)功能错误或遗漏;
  (2)界面错误;
  (3)数据结构或外部数据库访问错误;
  (4)性能错误;
  (5)初始化和终止错误。
  黑盒测试的测试用例设计方法一般有等价类划分方法,边界值分析方法,错误推测方法,因果图方法,判定表驱动分析方法,正交实验设计方法,功能图分析方法几种。下面详细介绍几种比较重要的黑盒测试方法。
  2.1等价类划分
  是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒测试用例设计方法。
  (1)划分等价类:等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试。因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据。取得较好的测试结果。等价类划分可有两种不同的情况:有效等价类和无效等价类。
  (2)有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。
  (3)无效等价类:与有效等价类的定义恰巧相反。
  设计测试用例时,要同时考虑这两种等价类。因为,软件不仅要能接收合理的数据,也要能经受意外的考验。这样的测试才能确保软件具有更高的可靠性。
  2.2边界值分析法
  边界值分析方法是对等价类划分方法的补充。
  长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。
  基于边界值分析方法选择测试用例的原则:
  (1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。
  (2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据。(3)根据规格说明的每个输出条件,使用前面的原则1)。   (4)根据规格说明的每个输出条件,应用前面的原则2)。
  (5)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。
  (6)分析规格说明,找出其它可能的边界条件
  2.3错误推测法
  错误推测法:基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。
  错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。例如,在单元测试时曾列出的许多在模块中常见的错误。以前产品测试中曾经发现的错误等,这些就是经验的总结。还有,输入数据和输出数据为0的情况。输入表格为空格或输入表格只有一行。这些都是容易发生错误的情况。可选择这些情况下的例子作为测试用例。
  3结构性测试用例设計
  结构性测试又称白盒测试(White-boxTesting),也称逻辑驱动测试,是把测试对象看作一个打开的盒子。利用白盒测试法进行动态测试时,需要测试软件产品的内部结构和处理过程,不需测试软件产品的功能。
  白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。
  下面以一个实际例子说明逻辑覆盖的六种不同的测试用例的设计。
  3.1语句覆盖:
  语句覆盖是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每一个语句至少执行一次
  对于该例来说,A=2,B=5,X=4时,执行路径ace,就把每个语句执行了一遍。
  3.2判定覆盖
  判定覆盖是指选择足够的测试用例,使得运行这些测试用例时,每个判定的所有可能结果至少出现一次,对于
  此例,
  当A=1,B=5,X=2时,第一个判定为真,第二个判定为假。执行路径acd
  当A=3,B=5,X=3时,第一个判定为假,第二个判定为真。执行路径abe
  3.3条件覆盖
  条件覆盖是指选择足够的测试用例,使得运行这些测试用例时,判定中每个条件的所有可能结果至少出现一次,但未必能覆盖全部分支;该例子中有两个判定,每个判定有两个条件,也就是四个条件,四个条件分别取真假两种可能,只要在用例条件中四个条件的真假各出现一次就可以了。
  A<3取真t1,取假f1
  B=5取真t2,取假f2
  A=2取真t3,取假f3
  X>2取真t4,取假f4
  这样可以选择t1t2t3t4和f1f2f3f4组合。
  A=2,B=5,X=3满足条件t1t2t3t4,程序执行路径为ace
  A=3,B=4,X=2满足条件f1f2f3f4,程序执行路径为abd
  这样四个条件的真假值都取到了,也可选择别的组合方式,例如
  t1f2t3t4和f1t2f3f4,只要保证每个条件的真假值各取到一次就行。
  3.4判定条件覆盖:
  判定/条件覆盖是使判定中每个条件的所有可能结果至少出现一次,并且每个判定本身的所有可能结果也至少出现一次;
  上面条件覆盖中的t1t2t3t4,f1f2f3f4的例子正好满足此条件,所以就采用与上面相同的取值。
  4结束语
  测试用例的编写对于一个测试人员来说是一项必须掌握的能力。但有效的设计和熟练的编写却是一个十分复杂的技术,它需要测试人员对整个软件不管从业务还是从功能上都有一个明晰的把握。需要测试人员在实践中不断总结经验,然后结合测试理论,这样才能设计出更加有效的测试用例。
  参考文献:
  [1]沃特金斯、贺红卫。实用软件测试过程[M].北京:机械工业出版社,2004.
  [2]郑人杰。实用软件工程[M]。北京:清华大学出版社,2002.
其他文献
【摘 要】本文主要针对实施全过程成本控制的重要性和房建造价过程中的常见问题以及房建工程造价全过程成本控制措施进行简要分析,仅供参考。  【关键词】房建工程;造价;全过程;成本控制  一、实施全过程成本控制的重要性  在房建工程中,造价管理是非常重要的一项工作,能够全面地贯穿到工程项目的全过程,可以说,其伴随着项目的产生与结束。在房建工程的全过程成本控制工作中,其主要具有以下阶段,即决策阶段、设计阶
期刊
【摘 要】巖石工程在我们生活当中非常常见,本文针对岩体结构面力学参数的重要性,以大量工程实例为依据,以统计误差分析相关理论为基础,研究最小二乘法与M-估计法在分析结构面抗剪强度参数时的适用性。通过工程实例表明,在试验数据的相关性较好时,两种方法的计算结果相差不大,但当试验数据的相关性较差,存在异常值时,稳健回归方法的计算结果要优于最小二乘法。  【关键词】岩石抗剪;强度计算;稳健回归模型;应用  
期刊
【摘 要】新时期招商引资工作呈现出了新的特点,政府的职能要从狭义招商引资转变到投资促进工作中来,而投资服务其实是最有效和最经济的推介活动。  【关键词】促进;规划;产业;诚信;信息服务  随着我国经济改革和对外开放的日益深入,地方政府越来越重视招商引资,将其作为加快地方经济发展的重要举措。经过这么多年的招商引资工作的实践,今天对招商引资我们应该站在一个新的高度去认识:“招”是一种需求,拓宽资源渠道
期刊
【摘 要】本文介绍了机电一体化设备的故障特点及故障诊断技术,并提出其故障诊断方法和可靠性措施,为确保设备正常运行提供参考。  【关键词】机电一体化;故障诊断;可靠性  引言  机电一体化设备在企事业或是工厂中都占据着极其重要的地位,是现代机械加工中必不可少的环节。而且它的价格十分昂贵,一旦出现故障,对相关企事业和工厂的影响不言而喻,也会在生产上造成严重的损失。因此,及时找出这些故障并尽快将其排除对
期刊
【摘 要】由于中小企业具有规模小、分布广等自身特色,其财务会计管理作为企业发展的重要方面,通过建立完善的监督机制、培养创新型人才,提高财务人员素质的具体措施,必将使中小企业不断得到发展与壮大。本文笔者对如何加强中小企业财务会计管理工作进行了探讨,希望对相关从业人员具有借鉴意义。  【关键词】中小企业;财务会计;管理;问题;措施  前言:  伴随着市场经济的不断推进,我国的众多中小企业兴起,中小企业
期刊
【摘 要】本文主要从物探技术的概述入手,系统分析了物探技术的原理,并针对直流电阻勘查技术、地质雷达勘测技术以及瑞雷波技术在工程地质中的具体应用进行了分析研究。  【关键词】直流电阻勘查技术;地质雷达勘测技术;瑞雷波技术;工程地质;应用  一、物探技术的概述  物探是对地球物理勘探的一种简称,实践中,该技术的应用使根据被测地质体对象以及周围介质的物性差异来开展相应的地质探测工作。物探技术就是通过先进
期刊
语文新课程改革理念的提出,让教师确立了一种崭新的教育观念,改变了多年来习以为常的教学方式、教学行为。对我们的课堂教学也提出了一些新的要求,积极倡导自主、合作、探究式学习方式成为语文改革的基本理念。而我认为,这种理念贯穿在初中语文教学中,应该突出“质疑”二字。韩愈说:“人非生而知之,孰能无惑?”由此可见,学生有疑问是很正常的;古语又说:“于不疑处有疑,方是进矣。”由此更可见质疑的重要性;而爱因斯坦在
期刊
【摘 要】为了解决行政案件审判难问题,行政诉讼法修正案草案增加规定:高级人民法院可以确定若干基层人民法院跨行政区域管辖第一审行政案件;对县级以上地方人民政府所作的具体行政行为提起诉讼的案件,由中级人民法院管辖。这一修改,对于行政审判摆脱地方干预,实现行政审判权的独立具有重要意义,但仍存在一定的问题亟待解决。  【关键词】行政诉讼;管辖;改革  一、行政诉讼管辖制度改革的必要性  行政诉讼管辖是人民
期刊
【摘 要】我们国家的市场经济在不断的发展,建筑行业也得到了大力的发展。而在建筑业当中,建筑市场注册执业人员执业信用缺失影响经济资源的合理配置,危害市场经济秩序。本文针对建筑市场当中注册执业人员中出现的问题进行分析,解释了在建筑产业快速发展时期不良行为频发而治理效果不佳的原因。并提出了相应的合理措施,为构建长期的有效的建筑市场注册执业人员信用监管模式具有重大意义。  【关键词】建筑市场;执业资格人员
期刊
【摘 要】随着科学技术的发展,桥梁现浇梁施工技术也日益得到改善,在桥梁施工中发挥的作用也越来越大,现浇箱梁的施工技术使得桥梁的施工变得更加地快捷和安全。本文结合桥梁施工的实际情况,对桥梁现浇箱在桥梁施工过程中各个施工条件下的应用进行论述。  【关键词】现浇梁施工;施工条件;技术应用;基础施工  随着经济的发展,交通行业也取得快速的发展,与交通行业密切相关的桥梁建设工程也随着时间快速的发展起来。在城
期刊