软件测试设计技术

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:A67793166
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:软件测试是提高软件产品质量的必要条件,是提高软件产品质量最直接、最快捷的手段。本文介绍了软件测试的一般概念、方法和步骤。给出了软件测试的策略。
  关键词:软件;测试;设计;技术
  中图分类号:TP311.52文献标识码 A 文章编号:1009-3044(2007)17-31323-02
  Technique of Software Test and Design
  GUO Qun
  (Liaoning University of Intemational Business and Economics,Dalian 116024,China)
  Abstract:Software test, the straightforward and rapid way to improve the quality of software, is the necessary condition for the improvement of the software quality. This paper, introducing the common concept, method and step of the software test, gives the solution to the software test.
  Key words:software; test; design; technique
  
  1 引言
  
  在大型软件开发过程中,人们使用了许多保证软件质量的方法分析、设计和实现软件。但由干问题的复杂性,人们对客观事物认识的局限性及软件开发人员配合不协调等因素,因而在软件开发过程中难免有各种各样的错误。如果在软件投入生产性运行之前,没有发现并纠正软件中的大部分错误,则这些错误迟早会在生产过程中暴露出来,那时不仅改正这些错误的代价更高,而且往往会造成很恶劣的后果。因此,一定要高度重视软件测试工作。软件测试是为了发现故障而执行程序的过程。其目的是以尽可能少的时间和人力发现并改正软件中潜在的各种故障及缺陷。所以,在软件投入运行之前必须进行软件测试,以尽可能多地发现软件中的故障,提高软件可靠性。
  
  2 软件测试定义
  
  软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。正确认识软件测试的定义是十分重要的,它决定了测试方案的设计。软件测试只能查找程序中的错误;不能证明程序中没有错误。
  
  3 软件测试方法
  
  怎样对软件进行测试呢?有两种方法。一种称为黑盒测试:如果知道了产品应该具有的功能,可以通过测试来检验是否每个功能都能正确使用,也叫功能测试;它是在程序的接口进行的,把软件看成是一个黑盒,测试时仅仅关心如何寻找出使程序不按要求运行的情况,是最基本的测试法。另一种称为白盒测试:如果知道产品内部工作过程,可以通过测试来检验产品内部动作是否按照规格说明书的规定正常进行,也叫结构测试。它是把软件看成装在一个透明的白盒子里,就是完全了解程序的结构和处理过程,按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按规定要求正确工作。
  
  4 软件测试步骤
  
  一个大型软件系统通常由若干个子系统构成,每个子系统又由若干个模块构成。软件测试分以下几个步骤:
  (1)单元测试:又称模块测试,是针对软件设计的最小单位——程序模块,进行正确性检验的测试工作。其目的在于发现各模块内部可能存在的各种差错。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行的独立进行单元测试。
  (2)组装测试:又称集成测试,通常,在单元测试的基础上,需要将所有模块按照设计要求组装成为系统。这时需要考虑的问题是:在把各个模块连接起来时,穿越模块接口的数据是否会丢失;一个模块的功能是否会对另一个模块的功能产生不利的影响;各个子功能组合起来,能否达到预期要求的父功能;全局数据结构是否有问题;单个模块的误差累积起来,是否会放大,从而达到不能接受的程度。
  (3)确认测试:又称有效性测试。它的任务是验证软件的功能和性能及其他特性是否与用户的要求一致。首先要进行有效性测试以及软件配置复审,然后进行验收测试和安装测试,在通过了专家鉴定之后,才能成为可交付的软件。
  (4)系统测试:是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行(使用)环境下,对计算机系统进行一系列的组装测试和确认测试。系统测试的目的在于通过与系统的需求定义作比较,发现软件与系统定义不符合或与之矛盾的地方。
  
  5 软件测试的策略
  
  测试过程按4个步骤进行,即单元测试、组装(集成)测试、确认测试和系统测试。如图1所示。
  图1 软件测试的过程
  开始是单元测试,集中对用原代码实现的每一个程序单元进行测试,检查各个程序模块是否正确地实现了规定的功能。然后,把已测试过的模块组装起来,进行组装测试,主要对与设计相关的软件体系结构的构造进行测试。为此。在将一个一个实施了单元测试并确保无误的程序模块组装成软件系统的过程中,对正确性和程序结构等方面进行检查。确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。最后是系统测试,把已经经过确认的软件纳入实际运行环境中,与其他系统成分组合在一起进行测试。
  
  6 结束语
  
  软件测试是保证软件可靠性的主要手段,是软件开发过程中最艰巨、最繁重的任务。软件开发人员要明确软件测试的目标,掌握软件测试的方法、策略,选用最少量的高效测试数据,做到尽可能完善的测试,从而尽可能多地发现软件中的问题。降低软件测试的成本,提高软件测试效率。开发出用户满意的高质量的软件。
  
  参考文献:
  [1]张海藩.软件工程导轮[M].北京:清华大学出版社,1992.6.
  [2]郑人杰,等.实用软件工程[M]. 北京:清华大学出版社,1997.4.
  [3]古乐,史九林,等.软件测试案例与实践教程[M]. 北京:清华大学出版社,2007.2.
  注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
其他文献
台州市地处浙江东部沿海,物产丰富,气候适宜。近年来,在有关部门的关怀和支持下,畜牧业得到了快速发展。为了解台州路桥地区发展生态畜牧业的现状和存在问题,最近,笔者曾对全区10镇
山羊痘是一种急性热性传染病,由于传染性强,混合感染和并发症多,治疗困难。该病一年四季均可发生,在没有免疫注射的敏感山羊群中常呈爆发性流行,病羊和病愈带毒羊是主要传染源,发病
中国水产学会于一九八一年十一月十九日至二十三日在我省衡阳市召开了全国水产学会工作经验交流会,出席会议的有全国二十二个省、市、自治区水产学会副理事长、秘书长、副秘书
我省网具种类凡多,虽然各种网具结构不同,但在设计时有几个必须共同考虑的原则,这就是:1.网具规格的确定:2.网目大小和网线规格的确定,3.缩结系数的选择’4.浮、沉力的配备及其材料选择
2010年3月,兰溪市香溪镇从福建等地引入獭兔饲养,不久相继发生腹泻病。该病来势猛,病程短,发病快,死亡率较高,给养兔业发展带来了很大经济损失。
促进学生全面而有个性地发展是普通高中教育的重要任务,是我国新时代实现新征程使命的育人要求。以湖北省宜昌市某普通高中人文特色实验班教育探索为例,探讨新形势下普通高中
为了增殖城郊水产资源,支持国家社会主义建设,适应城市人民生活水平日益提高的需要,在省农业局的领导和重视下,得到了上海市水产局的大力支持,今年六月初我们从上海首次引进蟹苗七
该文在IEEE802.16d协议的基础上介绍了MIMO-OFDM系统的基本原理,给出了一种基于LS准则的适用于MIMO-OFDM系统的信道估计算法,并与MMSE算法进行了仿真比较。最后还介绍了空时
犬细小病毒病是由犬细小病毒(CPV)引起的一种急性传染病。患犬临床表现为急性出血性肠炎,2月龄犬以出现非化脓性心肌炎为主要特征。该病多发于1岁以内,以6月龄内犬为多,尤其是未经
自2009年以来,建德市畜牧兽医局和农业行政执法大队受理了多起蛋鸡相同疫情的纠纷事件。经调查发现,病鸡以爪、皮肤出血不止,逐渐衰竭死亡为主要特征,给养殖户造成了巨大的经济损