软件测试小论文.doc

上传人:数据九部 文档编号:10373287 上传时间:2021-05-12 格式:DOC 页数:5 大小:31KB
返回 下载 相关 举报
软件测试小论文.doc_第1页
第1页 / 共5页
软件测试小论文.doc_第2页
第2页 / 共5页
软件测试小论文.doc_第3页
第3页 / 共5页
软件测试小论文.doc_第4页
第4页 / 共5页
软件测试小论文.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《软件测试小论文.doc》由会员分享,可在线阅读,更多相关《软件测试小论文.doc(5页珍藏版)》请在三一文库上搜索。

1、软件测试的基本知识摘要:本文介绍了软件测试的基本定义、重要性和目的,阐述了软件测试技术的方法和软件测试的一般过程,分析了目前常见的软件测试模型。关键词:软件测试 软件测试的目的 软件测试的方法 软件测试过程 常见的软件测试模型Abstract: This article describes the basic definition of software testing, importance and purpose, describes the methods of software testing technology and the general process of software

2、 testing, analysises the current common software testing model.Keywords: software testing the purpose of software testing the method of software testing the process of software testing common software testing model1 引言随着计算机硬件的迅猛发展,计算机的应用范围迅速扩大,计算机的软件开发数量也急剧增长,计算机系统应用也越来越广泛。软件需求的急速增长使得软件开发中的矛盾也越来越突出,

3、软件危机也随之越发严重。软件工程应运而生,软件测试的作用显得越来越重要。那么什么是软件测试呢,1993 年IEEE 给出了软件测试的定义: “将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程, 即将工程化应用于软件中”。目前,国际上已对软件测试形成一个共识: 软件测试就是在软件投入使用前,对软件的需求分析、设计规格说明和系统编码的最终复审。由此可见,软件测试的对象不仅仅是程序,需求规格说明、概要设计、详细设计、源程序等都是软件测试的对象。2 软件测试的目的如果测试的目的是为了尽可能多地找出错误,那么测试就应该直接针对软件比较复杂的部分或是以前出错比较多的位置。如果测试目的是为

4、了给最终用户提供具有一定可信度的质量评价,那么测试就应该直接针对在实际应用中会经常用到的商业假设。Grenford J. Myers在The Art of Software Testing一书中有以下观点: 软件测试是为了发现错误而执行程序的过程; 测试是为了证明程序有错,而不是证明程序无错误; 一个好的测试用例是在于它能发现至今未发现的错误; 一个成功的测试是发现了至今未发现的错误的测试。当然,测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,这种分析也能帮助我们设计出有针对性地检测方法,改善测试的有效性。

5、还有就是没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。3 软件测试的方法从不同的角度出发,我们有很多种软件测试的方法。从是否需要执行被测软件的角度,将软件测试分为静态测试和动态测试。从测试是否针对系统的内部结构和具体实现算法的角度,将软件测试分为黑盒测试、白盒测试和灰盒测试。31静态测试和动态测试静态测试是指被测试程序不在机器上运行,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测,主要方法包括人工测试和计算机辅助静态分析。相对动态测试,静态测试可以更早地进行。静态分析的查错和分析功能是其他方法所不能替代的,静态分析能发现文档中问题。目前,静态测试已被当做一种自动

6、化的、主要的代码校验方法。但静态测试不能检测程序的实际执行情况,无法得到程序的执行结果。动态测试是实际运行被测程序,输入相应的测试用例,判定执行结果是否符合要求,从而检验程序的正确性、可靠性和有效性。一般意义上的测试主要是指动态测试。为了使测试发现更多的错误,需要运用一些有效的方法:一种是黑盒测试,即测试产品的功能;一种是白盒测试,即测试产品内部结构及处理过程。动态测试是一种经常运用的测试方法,无论在单元测试、集成测试中,还是在系统测试、验收测试中,都是一种有效的测试方法。但动态测试不能发现文档问题,必须等待程序代码完成后进行,发现问题相对迟得多,一旦发现问题,必须重新设计、重新编码,必然增大

7、不良质量的成本。32 黑盒测试、白盒测试和灰盒测试黑盒测试,也称功能测试或数据驱动测试。黑盒测试是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用。测试时,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息的完整性。“黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有

8、合法的输入,而且还要对那些不合法但是可能的输入进行测试。白盒测试,也称结构测试或逻辑驱动测试。白盒测试是已知产品内部工作过程,通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,主要用于软件验证。“白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法 是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但即使每条路径都测试了仍然可能有错误,因为穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序。灰盒测试,确实是介于黑盒测试和白盒测试之间的,灰盒测试关注输出对于输入的正确性,同

9、时也关注内部表现,但这种关注不象白盒那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态。有时候输出是正确的,但内部其实已经错误了,这种情况非常多,如果每次都通过白盒测试来操作,效率 会很低,因此需要采取这样的一种灰盒的方法。灰盒测试结合了白盒测试盒黑盒测试的要素。它考虑了用户端、特定的系统知识和操作环境。它在系统组件的协同性环境中评价应用软件的设计。4 软件测试过程一个大型软件系统通常由若干个子系统构成, 每个子系统又由若干个模块构成。软件测试过程如下:4.1 单元测试又称模块测试。它是针对软件设计的最小单位-程序模块, 进行正确性检验的测试工作。其目的在于发现各模块内部

10、可能存在的各种差错。单元测试需要从程序的内部结构出发设计测试用例。多模块可以平行的独立进行单元测试。42 组装测试又称集成测试。通常, 在单元测试的基础上, 需要将所有模块按照设计要求组装成为系统。这时需要考虑的问题是: 在把各个模块连接起来时, 穿越模块接口的数据是否会丢失; 一个模块的功能是否会对另一个模块的功能产生不利的影响; 各个子功能组合起来, 能否达到预期要求的父功能; 全局数据结构是否有问题; 单个模块的误差累积起来, 是否会放大, 从而达到不能接受的程度。43 确认测试又称有效性测试。它的任务是验证软件的功能和性能及其他特性是否与用户的要求一致。首先要进行有效性测试以及软件配置

11、复审, 然后进行验收测试和安装测试, 在通过了专家鉴定之后, 才能成为可交付的软件。44 系统测试是将通过确认测试的软件, 作为整个基于计算机系统的一个元素, 与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起, 在实际运行( 使用) 环境下, 对计算机系统进行一系列的组装测试和确认测试。系统测试的目的在于通过与系统的需求定义作比较, 发现软件与系统定义不符合或与之矛盾的地方。5 软件测试的模型在20 世纪80 年代后期Paul Rook 提出了著名的软件测试的V 模型, 旨在改进软件开发的效率和效果。V 模型反映出了测试活动与分析设计活动的关系。V 模型指出, 单元和集成测

12、试应检测程序的执行是否满足软件设计的要求; 系统测试应检测系统功能、性能的质量特性是否达到系统要求的指标; 验收测试确定软件的实现是否满足用户需要或合同的要求。但V 模型存在一定的局限性, 它仅仅把测试作为在编码之后的一个阶段, 是针对程序进行的寻找错误的活动, 而忽视了测试活动对需求分析、系统设计等活动的验证和确认的功能。 Evolutif 公司针对V 模型的缺陷, 相对于V 模型, 提出了W模型的概念。W模型增加了软件各开发阶段中应同步进行的验证和确认活动。W模型由两个V 字型模型组成, 分别代表测试与开发过程。针对v模型的缺陷,我们提出B模型的概念。在B 模型中, 软件开发过程中各个阶段的可交付产品都要进行测试,以便尽可能地使各阶段产生的错误在该阶段得到发现和解决,防止在后期阶段放置太多的问题。当然还有其他的很多关于软件测试模型的知识,我们这里知识说了部分。还有什么X模型、H模型等等。参考文献1 张海藩编著. 软件工程(第二版). 北京:人民邮电出版社,20062 Daniel J.Mosley. The Art of Software Testing. John Wiley & Sons Inc,20053 J.Mers. 计算机软件测试技巧. 清华大学出版社,1985

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1