浅析计算机进程中的软件测试

来源 :中国科技博览 | 被引量 : 0次 | 上传用户:yaoyao115711
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要: 下文作者主要结合自己在计算机技术上的相关经验,详细阐述了计算机软件测试的方法和技术,以下仅供参考。
  关键词: 计算机 功能 结构 软件 测试
  中图分类号:TP311.53
  前言
  软件测试的定义是指使用人工或自动手段来运行或评价某个系统或系统部件的过程, 其目的在于检验它是否满足规定的需求; 或是弄清预期结果和实际结果之间的差别。该定义非常明确地指出了软件测试是以检验是否满足需求为目标。
  1 软件质量保证与软件测试
  随着软件规模的不断扩大, 复杂程度也不断提高, 特别是随着软件开发技术迅猛发展, 面向对象软件开发等方法的出现和软件开发工具的使用, 使得软件质量更加难以度量。软件质量保障涉及到软件开发生命周期的各个阶段, 从需求获取开始延续到软件维护。软件测试是保证软件质量, 提高软件可靠性的关键。 测试是度量软件质量的一个过程。虽然他们的定义目前看来具有一定的局限性, 但仍然具有指导意义。软件测试同时又是一项费时费力的过程,现在有些软件开发机构将研制力量的 4 0 % 以上投入到软件测试之中; 对于某些性命攸关的软件, 其测试费用甚至高达所有其他软件工程阶段费用总和的 3 到 5 倍。尽管人们在软件开发过程中也采用形式化方法描述和证明软件规约,并采用程序正确性证明、模型检验等方法保证软件质量, 但是这些方法都存在一定的局限性, 尚未达到广泛实用阶段。因此,程序代码最终体现了软件的质量, 无论是从软件开发方法学还是软件测试自身的效益看, 软件测试在今后较长时间内仍将是保证软件质量的重要手段。
  2 基于结构的测试用例生成技术
  结构化的测试属于白盒测试范畴, 测试用例是根据程的内部结构来设计, 如程序的语句、路径、分支、条件或其他特定容易导致程序出错的节点。结构测试有三种测试用例生成方法: 随机测试用例生成方法、面向目标的测试用例生成方法和面向路径的测试用例生成方法。对于给定的程序结构,随机测试的数据生成方法是在输入域内随机选取测试用例, 使得给定语句或分支被执行。
  面向路径的测试用例生成分为基于符号执行和基于实际程序执行的测试用例生成两类。符号执行允许程序输入常量、符号值、符号表达式等, 以符号计算代替实际执行的数值计算, 产生一个符号输入值的代数表达式 - 路径约束, 它是选定路径的谓词系统。实际上是对输入数据的限制要求,由多个不等式(等式)组成。通过求解不等式, 求取满足路径上各限制谓词的测试数据。若不等式无解, 则相应的路径为不可行路径。DeMillo 等提出一种基于故障的测试产生方法, 用代数约束来描述检测特定类型故障的测试数据。
  符号执行能够判定路径的可行性, 一次符号测试的结果代表了一类普通测试的运行结果。但在遇到循环、过程调用、动态数据结构、数组和指针处理时, 符号执行实现困难。基于程序实际执行的测试数据生成方法中,Korel 提出对于选定路径上不满足要求的分支, 利用分支函数极小化,确定新的输入值, 直至找到输入数据, 使程序执行沿选定路径进行。K o r e l 提出的程序执行和分支函数极小化方法解决了符号执行中对数组和指针难于处理的缺陷, 但由于每次测试都只考虑一个谓词和一个输入变量, 因此即便路径中的分支条件是输入的线性函数时, 也需要进行大量的叠代才能自动生成一个满足条件的新输入。
  Gupta 等利用迭代逼近法,求取满足选定路径上所有谓词的输入值。每次迭代中,执行与选定路径谓词有关的语句, 得到一个线性约束集, 用高斯消去法求解线性约束集, 获得一个输入增量, 进而得到下次迭代的输入值, 最终产生选定路径的测试数据。Gupta 提出的算法同时考虑多个谓词和多个输入变量, 利用随机选择的一组初始输入通过叠代自动生成一组满足该给定路径的新输入, 该算法由于只采用线性函数来进行叠代, 因此只对线性函数有效, 而对于非线性函数则效果较差。Gotlieb 等提出用约束求解的方法生成测试数据, 利用“静态单一指派”(Static Single Assignment)和控制依赖,将被测程序转化成一个约束系统, 然后寻找经过给定语句的路径, 生成相应的测试数据。基于程序实际执行的测试数据生成方法, 在程序执行的每一步中数组下标、指针值都是确定的。因此, 针对数组、指针处理不存在困难, 但其测试数据生成与路径选择有关, 而判定所选路径是否为可行路径也是一件非常困难的事情。
  H o w d e n 认为程序错误分为: 计算错误(Computation error)、丢失路径错误(Missingpath error)和域差錯(Domain error)。对于某一特定输入, 程序执行的是正确的路径,但由于赋值语句的错误而导致输出结果不正确, 这样的错误称为计算错误。只有当测试者幸运地从不正确的定义域部分选取一个测试数据时, 实际数据测试才能发现这些错误。针对程序域错误,White、Clarke 等专家提出了域测试策略,以后发展成为一个有效的模块测试方法。结构测试的测试数据生成方法大多只是单纯利用了控制流信息生成测试数据,这往往是不够的。数据流测试将数据流信息应用到路径选择中, 并定义了相应的测试覆盖准则。无论哪一种结构测试, 即使其覆盖率达到百分之百, 也不能保证把所有隐藏的程序缺陷都揭露出来。
  3 基于功能的测试用例生成技术
  目前, 关于功能测试测试数据生成的研究主要有: T s a i 等提出的从关系代数查询表示的规格说明中生成测试数据的方法。该方法针对关系代数查询表示的规格说明设计测试用例, 因而只适合于数据库和数据处理系统。Weyuker 等提出的基于布尔规格说明的测试数据生成方法, 该方法将 Loveson 等的基于过程控制的形式化规格说明方法进行了改进, 用 A N D / O R 表来描述规格说明中的条件, 因此, 该方法只适合于过程控制系统。随着需求的形式化描述方法的应用, 基于形式化规约的测试研究也得以展开, 就测试用例生成取得了相当多的成果, 但这些方法要求测试人员具有很高的素质和专业水平, 尤其对于大型系统的形式化描述本身就存在困难。接口测试是功能测试的主要任务之一。基于接口参数的黑箱测试用例选择方法是对系统每个接口参数采用边际值分析法和等价类划分法等选取一组典型的值, 然后在这些取值组合中随机选取一组测试用例, 或者使用一些启发式方法从中进行筛选。但这些方法的缺点是带有主观倾向性, 不具有普遍性。组合覆盖是一种重要的接口参数测试方法。这种方法充分考虑了系统中各种因素以及因素间相互作用可能产生的影响, 可以根据实际需要, 用尽可能少的测试数据尽可能多地覆盖一些影响系统的因素。
  4 面向对象的测试及测试用例生成
  面向对象的测试通常根据程序的内部结构和形式规范自动或者半自动地生成测试用例, 相应的测试用例生成方法分为基于外部行为的生成方法和基于内部结构的生成方法。基于外部行为的测试用例生成主要是根据类的接口规范构造测试用例,一般采用代数规范或者基于模型规范来描述被测类的外部接口。
  陈火炎教授等提出了一种黑盒和白盒相结合的面向对象测试的集成方法论。该方法采用黑盒技术用来选择测试用例, 白盒技术主要用来判断从执行测试用例得到的两个对象是否可见性等价, 在某些情况下也用它来选择测试用例。还进一步改进和完善了 Doong 和 Frankl 的 ASTOOT 工具的方法, 详细论证了他们在将非等价基项作为测试用例的方法和断言中所存在的重大问题, 提出了基于代数规格说明并利用状态转换图产生非等价对作为测试用例的一种新方法, 然后通过白盒技术来确定运行这样的测试用例得到的对象是否可见性等价, 并补充一些测试用例, 对类进行测试。
  参考文献
  [1] 王红峰.软件测试风险的分析与对策[J].中国金融电脑,2009,2.
  [2] 钱超.软件性能测试的流程探析[J].中国金融电脑,2009,2.
其他文献
摘要:卡夫卡留下的文学世界无疑是一个充满梦魇、变形和怪异的世界。他短暂的41年生涯,既平淡又艰难。卡夫卡一生悲惨的遭遇,使得他从来没有归属感,加上天生遗传的忧郁气质,形成了他孤独、悲观、敏感和极度内敛的个性,对他的创作产生了很大的影响。本文将以卡夫卡的代表作《变形记》为例,结合他的个人经历来简单分析卡夫卡的创作中体现的表现主义特色。  关键词:卡夫卡 变形 异化 表现主义  中图分类号:I521.
期刊
摘要:隨着城市的快速发展和人民生活水平的迅速提高,对电力的依赖程度不仅是对供电量的需求迅速增加,而且对供电的可靠性要求也越来越高。文章介绍了影响供电可靠性的因素,并从组织机构、管理、技术措施上对如何提高供电可靠性,提出了相关看法和具有针对性的措施。  关键词:配电电网 供电 可靠性  中图分类号:TM732  随着电力体制的不断改革和社会的不断进步,配网供电可靠性管理在供电企业中的地位越来越重要,
期刊
摘要:提出了一种研究颗粒阻尼减振特性的离散元算法,建立了离散元法(DEM)数学模型。通过分析颗粒间以及颗粒与容器壁间的相互作用规律,能较准确地预测颗粒阻尼的减振特性。與实验结果进行了比较,验证了该离散元数学模型的正确性。利用离散元数学模型来研究颗粒阻尼结构属性的改变对其阻尼减振特性的影响,结果表明,质量比和材料密度都对颗粒阻尼的减振特性有影响。  关键词:非阻塞性颗粒阻尼;离散元法;减振特性;质量
期刊
摘要:钻孔灌注桩是桥梁工程施工中基础普遍形式之一,正确的冲 击钻钻孔工艺和施工对策是保证其质量控制的关键,本文简要介绍了在钻孔灌注桩事故的处理及建议。  关键词:桩基质量 ;基础 ;处理  中图分类号:TU753.3  基桩质量取决于勘察、设计、施工等许多因素,稍有不慎就可能造成质量事故。对质量事故的分析与处理是否正确,往往影响建筑物的安全使用,工程造价及工期。根据不同地区地质特性和我近几年来的现
期刊
摘 要:F-X域有限差分叠后偏移就是从地震单程波的波散关系出发,在频率-空间域利用有限差分求解波动方程的一种偏移处理方法。本文编程实现了对简单叠后剖面模型的数值模拟及偏移处理,并得到了较可靠的结果。通过利用不同适应角度的有限差分算法对模型进行试算,发现该方法可以适应地下速度场的纵横向变化,对于有倾角限制,低角度方程所引起的界面上移,其大角度方程可以很好的解决这一问题。  关键词:偏移、有限差分、数
期刊
摘要: 在科技迅猛发展和市场需求多样化的时代背景下,工程机械产品的多功能越来越受到国内外工厂家的青睐。而压路机作为具有代表性的工程机械产品,在经过内燃机的动力革命和液压、气压传动的传动革命之后,正向着应用电控技术实现对产品的操纵和控制的方向发展,用来满足用户对产品环保、节能、操作简洁、维护方便的要求。  关键词:机电一体化、控制系统、设计  中图分类号:U415.521  1. 压路机机电一体化设
期刊
【摘 要】火力发电在经济社会中仍然占据着举足轻重的地位,作为我国较为传统的发电方式,我国大部分地区仍然依靠火力发电为 主要动力资源。 火力发电发展到今天,已经取得举世瞩目的成就。 尤其是大机组的投入使用,让电力系统的发电能力大大加强,但是大机组的电气运行中仍然会出现偶然的意外事故,为避免这些潜在危险事故的发生,确保发电系统的安全和效益,排除一切危害电厂运行的故障。找出问题关键点并予以解决,使电厂电
期刊
摘要:本文简要说明了汽轮机的工作原理,指出了发电厂汽轮机系统存在的一些问题,并且提出了一些解决问题的措施,希望发电厂能够不断优化汽轮机系统,提高汽轮机运行效率。  关键词:汽轮机;效率;优化  中图分类号:TK267  电力能源是国民经济发展的重要支撑,在电力能源供应日渐紧张的今天,需要提高汽轮机运行效率。同时提高汽轮机运行效率还是落实节能减排政策的重要途径,提高汽轮机运行的效率更显重要。发电厂汽
期刊
【摘 要】本文对燃气瓶组站微漏气事故的处理过程进行了详细介绍,通过漏气原因再分析,对材料性能进行比较,找出了材质性能不匹配是造成漏气的主要原因,同时提出在螺纹连接选配方面应注意的事项。  【关键词】漏气处置;漏气原因质疑与再分析  中图分类号:TU996.7  一、背景介绍:  2005年4月,本人在佛山南海燃气公司负责建设的一燃气瓶组站供气工程在验收通气不到一个月的时间,站内高压段不锈钢丝扣球阀
期刊
摘要:本文简单介绍了轨道交通信号系统中常用的继电器,以及其在应用中遇到的问题,提出一种基于声卡的虚拟仪器技术,测试继电器悬空时间的方法。  关键字:继电器;检测;动作时间;声卡  中图分类号:TP274.2  继电器是轨道交通中信号设备主要元件之一,在轨道交通信号的远程控制和自动控制系统中,用它可构成逻辑电路、作为不同信号子系统之间的接口、或作为执行元件直接监督和控制列车的运行。继电器工作状态的好
期刊