软件测试技术模式

时间:2024-01-05 点赞:44506 浏览:84516 作者原创标记本站原创

本文是一篇软件测试论文范文,关于软件测试相关毕业论文范文,关于软件测试技术模式相关函授毕业论文范文。适合软件测试及软件开发及自动化方面的的大学硕士和本科毕业论文以及软件测试相关开题报告范文和职称论文写作参考文献资料下载。

摘 要:随着计算机水平的不断提升,计算机网络盛行的今天,软件安全性是人人关心的焦点,本文在界定了软件测试概念内涵的基础上,分析了软件测试的全过程,重点展望了未来软件测试技术的发展发向.

关 键 词:软件测试;概念;测试过程;发展展望

中图分类号:TP311.5文献标识码:A文章编号:1007-9599(2012)02-0000-02

SoftwareTestingTechnologyDevelopmentMode

CenZhaozhen

(ComputerScienceandSoftwareEngineeringofTianjinPolytechnicUniversity,Tianjin300387,China)

Abstract:Alongwiththeputerlevelrising,theputerworkisprevalenttoday,softwaresafetyisoneofthefocusofattention,thispaperdefinedtheconceptofsoftwaretestingbasedontheanalysisofsoftwaretesting,focusedonthefuturedevelopmentofsoftwaretesttechnology.

Keywords:Softwaretesting,Concept,Testingprocess,DevelopmentOutlook

一、软件测试的概念内涵

软件测试是为了发现错误而执行程序甚至不用执行程序的过程.它既是软件开发的重要阶段,也占有软件工程的重大比例.软件测试的地位至关重要,直接关系着软件开发的质量,因此软件测试要讲究策略讲究效果.它是帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度、完全度和质量的软件过程;是SQA的重要子域.

二、软件测试过程分析

软件测试是一个贯穿整个软件生命周期的活动,那种等待整个那系统开发完毕,再对其进行测试的想法是错误的,把测试放到软件开发的最后是很危险的,因为它很容易导致整个软件系统无法集成.另外,对软件的测试并不仅限于软件程序的本身,因为错误并不一定是代码引起的.很有可能是软件需求、软件系统的详细设计等阶段引起的.错误在初期也许只是范围很小的隐藏问题,但由于软件开发的各阶段的连续性,会使错误逐步扩展,如果早期的开发中出现的错误不能排除,将带到设计、编码、测试等各阶段,影响逐步扩大.所以对软件的测试还应该包括与软件有关的所有的文档.

软件测试过程,可分为五个步骤:单元测试、子系统测试、系统测试、验收测试和平行运行.

单元测试:测试的对象是针对软件中的单个模块或者过程,即测试软件中的基本组成单位.单元测试属于最基本的软件的动态测试部分,但是重要性却不容忽视.单元测试旨在检查基本单位是否正确.单元测试要求测试人员具有程序编码和设计知识,因此往往从事单元测试的人员是程序设计人员,往往需要开发测试驱动模块和桩模块来辅助完成单元测试.这就要求应用系统具有很好的体系结构.

一个软件单元的正确性是相对于该单元的规约而言的.因此,单元测试以被测试单位的规约为基准.单元测试的主要方法有控制流测试、数据流测试、排错测试、分域测试等等.

集成测试:把软件单元逐步组装成一个计算机软件配置项的过程叫“软件集成".把软件逐步组装,同时一并进行测试,直到整个系统成为一体的有序进行的测试叫“集成测试”,也叫“计算机软件部件测试”、“组装测试”或“综合测试”.

确认测试:集成测试完成后,软件接口缺陷已经发现并纠正,这时可以对软件进行确认测试.确认测试是通过黑盒测试来验证软件功能及性能与要求规范是否一致.当发现与需求规范有差别,要列出一个缺陷表.

系统测试:测试对象主要是针对软件开发后期形成的软件系统,因此测试务必系统彻底,着重检查系统性能是否达到开发要求,软件行为和输出是否精准.因此,系统测试应该按照测试计划进行,其输入、输出和其他动态运行行为应该与软件规约进行对比.软件系统测试方法很多,主要有功能测试、性能测试、随机测试等等.

三、现有软件测试发展与展望

软件测试是伴随着软件的产生而产生的.早期的软件测试较为狭隘,测试相当于“调试”,由开发人员自己完成这部分工作.通常是形成代码、产品基本完成时才进行测试,对测试的投入非常的少.直到1957年,软件测试才成为一种发现软件缺陷的活动.由于缺乏软件工程的概念,测试仍旧是开发之后的事情.1972年在北卡罗来纳大学举行了首次软件测试正式会议,软件测试才被确定为一种研究方向.1979年,GlenfordMyers的《TheArtofSoftwareTesting》(软件测试艺术)是测试领域的第一本重要专著.在这本书中,Myers以及其同事们将软件测试定义为“测试是为发现错误而执行的一个程序或者系统的过程”.

到了20世纪80年代,软件测试不再单纯是发现错误的过程,而且包含了软件质量评价的内容.包含IEEE标准、美国ANSI标准以及ISO国际标准在内的各类标准相继被制定.

20世纪90年代,测试工具逐渐得到了广大专家学者的广泛重视,开始盛行.测试被认为是为了度量和提高被测软件的质量,对测试软件进行工程设计、实施和维护的整个生命周期过程.

最近20年来,软件测试技术随着计算机和软件技术的飞速发展取得了很大突破,包括V模型、W模型在内的测试模型被相继总结出来.然而软件测试技术仍旧是落后于软件开发技术的发展速度,这使得软件测试面临着很大的挑战,主要体现在软件测试任务重、规模和功能日益复杂,难以有效测试;面向对象测试技术发展有待成熟等.分析现今国内外的测试发展,可以看出自动化测试已经逐渐代替手工测试成为日后发展的主流趋势.

随着软件系统的规模越来越大,整个系统的复杂性也越来越大,那么单纯的手工测试已经不适合这种大系统的测试了.首先手工测试的效率低下,其次有些测试是手工测试所无法完成的.为了解决手工测试效率低下和手工测试不能解决的一些测试等问题,自动化测试就应运而生了.

软件自动化测试,顾名思义,就是执行一种自动的测试程序,控制被测软件的执行,模拟手动测试步骤,完成全自动或半自动测试.软件自动化测试具有较高的实效性,快捷地测试出软件性能,这能够有效地保证软件质量,并为软件的提前上线赢得时间.

近几年,常见的自动化测试工具有RationalRobot、WinRunner、QuickTestProfessional、TelelogicTAU等.TAU第二代包含三个最新的、最强大的技术用来加速大规模软件开发和测试:统一建模语言(UML)及它的许多最新修订版本中的特性,UML2.0;功能强大的测试语言TTCN-3和新的构造系统的方法:ModelDrivenArchitecture(模型驱动构架).这三个新的业界标准结合成TAU的已经过认可的软件开发平台,形成了一个系统,一个一流的稳定可靠的工具解决方案.TAU第二代是系统与软件开发解决方案的一个突破,它把业界从使用了太长时间的手工、易出错、以代码为中心的方法中释放出来,自然而然地迈向下一步,一个更加可视化、自动化及可靠的开发方法.

TelelogicTAU/Tester是基于通用测试语言TTCN-3,用于自动化的系统和集成测试的强大工具.TAU/Tester以现代化的开发工具为基础,提供高层测试功能,支持整个测试生命周期,加速自动化测试.TAU/Tester可使用户特别关注于测试的开发,因为TTCN-3语言是独立于开发语言或测试设备的,且是抽象和可移植的.

随着计算机技术的不断发展和普及,web测试、手机软件测试、嵌入式系统测试发展速度迅猛,引起了广大学者的广泛关注.

B/S架构的大行其道,催生了人们对WEB应用测试的研究,WEB应用测试继承了传统测试方法,同时结合WEB应用的特点.比起任何其他类型的应用,Web应用运行在更多的硬件和软件平台上,这些平台的性质可在任何时间改变,完全不在Web应用开发人员的知识或控制之内.随着WEB应用的不断发展,也同样衍生出一些新的研究方向,如最近沸沸扬扬的云计算测试,针对SASS应用的测试等.

出现手机软件测试这个研究分支,主要是因为手机在中国应用特别普遍,使用范围很广,围绕手机所出现的软件种类越来越丰富,有很多专门从事手机软件的开发公司,于是自然而然出现一批手机软件测试的工程师.同时由于手机软件的特殊性,如使用一些专门的操作系统,加上手机内存及CPU相对较小等特点,手机软件的测试有其部分特殊技术方法

随着信息技术和工业领域的不断融合,嵌入式系统的应用越来越广泛,可以预言,嵌入式软件将有更为广泛的发展空间.对于嵌入式软件的测试也将有着很大的市场需求.嵌入式系统内存往往不丰富,开发成本偏高,往往与硬件直接相关系这些原因造成了嵌入式系统测试的难度,也造成了嵌入式软件的开发和测试与别的测试策略有着明显不同.

随着计算机水平的不断提升,计算机网络盛行的今天,软件安全性是人人关心的焦点,因为它直接关系到我们的生活,也成为关系到金融、电力、交通、医疗、政府以及军事等各个领域的关键问题.尤其在当前肆虐,病毒猖撅的网络环境下,越来越多的软件因为自身存在的安全漏洞,造成以及病毒攻击的对象,给用户带来严重的安全隐患.软件安全漏洞造成的重大损失以及还在不断增长的漏洞数量使人们已经开始深刻认识到软件安全的重要性.从上世纪90年代,信息安全学者、计算机安全研究人员就开始了对计算机安全问题的研究,并且成为软件测试技术的一个重要分支.

相关论文

计算机软件测试技术与深度开发模式

本文是一篇软件开发论文范文,软件开发相关在职毕业论文开题报告,关于计算机软件测试技术与深度开发模式相关研究生毕业论文开题报告范文。适。

计算机软件测试技术

本文是一篇软件测试论文范文,关于软件测试类硕士毕业论文,关于计算机软件测试技术相关在职研究生毕业论文范文。适合软件测试及软件工程及软。

软件测试技术

本文是一篇软件测试论文范文,软件测试类本科毕业论文,关于软件测试技术相关函授毕业论文范文。适合软件测试及测试及软件开发方面的的大学硕。

计算机软件测试技术

本文是一篇软件测试论文范文,关于软件测试相关硕士毕业论文,关于计算机软件测试技术相关专升本毕业论文范文。适合软件测试及软件开发及计算。

计算机软件测试技术与保护技术

本文是一篇软件测试论文范文,关于软件测试毕业论文开题报告,关于计算机软件测试技术与保护技术相关硕士学位毕业论文范文。适合软件测试及计。

计算机软件测试技术与保护技术

本文是一篇软件测试论文范文,软件测试类电大毕业论文,关于计算机软件测试技术与保护技术相关在职毕业论文范文。适合软件测试及计算机软件及。

计算机软件测试技术与深度开发应用

本文是一篇软件测试论文范文,关于软件测试相关学年毕业论文,关于计算机软件测试技术与深度开发应用相关大学毕业论文范文。适合软件测试及软。

关于软件测试技术的

本文是一篇软件测试论文范文,关于软件测试大学毕业论文,关于关于软件测试技术的相关开题报告范文。适合软件测试及软件开发及测试方面的的大。

软件测试技术的简单

本文是一篇软件测试论文范文,软件测试有关在职研究生毕业论文,关于软件测试技术的简单相关毕业论文参考文献格式范文。适合软件测试及测试及。