收藏 分享(赏)

VC270端口信息工具的设计与实现((端口扫描程序).doc

上传人:dreamzhangning 文档编号:2461598 上传时间:2018-09-17 格式:DOC 页数:17 大小:95KB
下载 相关 举报
VC270端口信息工具的设计与实现((端口扫描程序).doc_第1页
第1页 / 共17页
VC270端口信息工具的设计与实现((端口扫描程序).doc_第2页
第2页 / 共17页
VC270端口信息工具的设计与实现((端口扫描程序).doc_第3页
第3页 / 共17页
VC270端口信息工具的设计与实现((端口扫描程序).doc_第4页
第4页 / 共17页
VC270端口信息工具的设计与实现((端口扫描程序).doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、VC270 端口信息工具的设计与实现(端口扫描程序)= MICROSOFT FOUNDATION CLASS LIBRARY : PortScan=AppWizard has created this PortScan application for you. This applicationnot only demonstrates the basics of using the Microsoft Foundation classesbut is also a starting point for writing your application.This file contains a

2、summary of what you will find in each of the files thatmake up your PortScan application.PortScan.dsp This file (the project file) contains information at the project level and is used to build a single project or subproject. Other users can share the project (.dsp) file, but they should export the

3、makefiles locally.PortScan.h This is the main header file for the application. It includes other project specific headers (including Resource.h) and declares the CPortScanApp application class.PortScan.cpp This is the main application source file that contains the application class CPortScanApp.Port

4、Scan.rc This is a listing of all of the Microsoft Windows resources that the program uses. It includes the icons, bitmaps, and cursors that are stored in the RES subdirectory. This file can be directly edited in MicrosoftVisual C+.PortScan.clw This file contains information used by ClassWizard to ed

5、it existing classes or add new classes. ClassWizard also uses this file to store information needed to create and edit message maps and dialog data maps and to create prototype member functions.resPortScan.ico This is an icon file, which is used as the applications icon. This icon is included by the

6、 main resource file PortScan.rc.resPortScan.rc2 This file contains resources that are not edited by Microsoft Visual C+. You should place all resources not editable bythe resource editor in this file./For the main frame window:MainFrm.h, MainFrm.cpp These files contain the frame class CMainFrame, wh

7、ich is derived from CFrameWnd and controls all SDI frame features.resToolbar.bmp This bitmap file is used to create tiled images for the toolbar. The initial toolbar and status bar are constructed in the CMainFrame class. Edit this toolbar bitmap using the resource editor, and update the IDR_MAINFRA

8、ME TOOLBAR array in PortScan.rc to add toolbar buttons./AppWizard creates one document type and one view:PortScanDoc.h, PortScanDoc.cpp - the document These files contain your CPortScanDoc class. Edit these files to add your special document data and to implement file saving and loading (via CPortSc

9、anDoc:Serialize).PortScanView.h, PortScanView.cpp - the view of the document These files contain your CPortScanView class. CPortScanView objects are used to view CPortScanDoc objects./Other standard files:StdAfx.h, StdAfx.cpp These files are used to build a precompiled header (PCH) file named PortSc

10、an.pch and a precompiled types file named StdAfx.obj.Resource.h This is the standard header file, which defines new resource IDs. Microsoft Visual C+ reads and updates this file./Other notes:AppWizard uses “TODO:“ to indicate parts of the source code youshould add to or customize.If your application

11、 uses MFC in a shared DLL, and your application is in a language other than the operating systems current language, youwill need to copy the corresponding localized resources MFC42XXX.DLLfrom the Microsoft Visual C+ CD-ROM onto the system or system32 directory,and rename it to be MFCLOC.DLL. (“XXX“

12、stands for the language abbreviation.For example, MFC42DEU.DLL contains resources translated to German.) If youdont do this, some of the UI elements of your application will remain in thelanguage of the operating system./摘要:本文就信息管理和信息系统等相关专业的“计算机基础”课程实施双语教学的的必要性,以及在实施双语教学的过程中应该注意的几个问题进行了探讨,并对实施双语教学的

13、效果进行了分析。 关键词本文来自:计算机毕业网 :计算机基础;双语教学;程序设计 “计算机基础”课程是本科信息管理与信息系统等专业的一门必修课程, “计算机基础”课程是学生继续深入学习有关信息技术的支点。教育部本科生教学指导委员会规定的信息系统学科的许多学习内容应该在本课程中加以体现。它是“C 语言” 、 “软件开发工具” 、 “数据结构” 、“数据库原理及应用”等程序设计课程的先修课。该课程同样担负着培养学生程序设计能力的重任。该课程采用双语教学对培养学生的程序设计能力也不乏益处。 1 实施双语教学的必要性 1.1 教材国际化 实施双语教学可以促进教材国际化。计算机技术发展很快,采用原版教材

14、可以在教学内容上与国际接轨,跟踪国际上计算机教学的发展趋势。教材选择上要反映理论与实践并重的特点,因此我们选用了经典原版教材,Nell Dale、John Lewis 所编的计算机科学概论 英文版第 2 版。该教材采用了大量的最新素材,全面地介绍了计算机科学领域的基础知识。此教材内容翔实,覆盖面广,旨在向读者展示计算机科学的全貌。该书层次清晰,描述生动,内容严谨,深入浅出。 1.2 内容与时俱进,适应专业特点 计算机科学概论英文版第 2版,教学内容虽然涉及面较宽,但与后续课程的关系并不是简单重复,而在于抛砖引玉。就程序设计的内容而言,在问题求解与算法设计一章中,以美国著名的数学家、教育家G.P

15、olya 在经典著作怎样解题中提出的思想为主线,重点强调解决问题的思路,这是其他相关教材中不多见的。这对培养学生的实际解决问题的能力、实际程序设计能力都是非常重要的。另外,一些算法的介绍也是侧重于结构化自然语言的描述。与后续课程的算法方面的学习形成循序渐进,由浅入深的关系。符合人们的认知规律。 此外,采用双语教学的方式引入新的教学内容,对于信息专业的学生来说,可以提高学生的学习兴趣,有利于提高学生的到课率,实践证明了这一点。 1.3 尽早接触英文专业术语 通过采用英文原版教材,实施双语教学,可以让学生尽早接触计算机专业的英文术语,这对后续课程的学习会有很大的帮助。如,掌握编译一词 Compil

16、e 后,在使用英文版的软件开发工具时就不会举足无措。掌握 Value 和 Reference 后,就容易理解函数中 By Val 和 By Bef 的含义,易于理解值参和引用参数。还有一些英文单词在在不同的软件开发工具的汉化版本中往往有不同的翻译。如,Form 一词作为名词有形式的意思、而在开发工具中又另有其特定含义,在 VB 中翻译为窗体,而在 VF 中翻译成表单。Project 一词在在 VB 中翻译为工程,而在 VF 中翻译成项目。在了解了英文的原意后,使用这些开发工具时,就不会感到茫然。学会一种开发工具后就可以举一反三,从而较快地掌握另一种开发工具。再比如,index 一词在财经类文献

17、中多为指数的含义,而在计算机专业的文献中含义则为索引。Key 一词对于初入高等学校的同学来说,他们最初掌握的词义一般为“钥匙” ,而在数据库领域该词的含义,既可以翻译为“键” ,又可以翻译为“码” ,更为有趣的是这两种译法所表示的是同一种含义。这样的例子不胜枚举。 总之尽早接触英文专业术语,在后续课程的学习中会降低陌生感。特别是与程序设计相关的语言、开发工具等会遇到许多英文专业词汇,提前了解其含义,会扫除一些学习障碍。 2 实施中应该注意的几个问题 2.1 明确目的,巧用手段 “计算机基础”是信息类相关专业的一门专业基础课,课程的教学目的是使学生了解计算机的基本工作原理、掌握有关计算机软、硬件

18、的基础知识,尤其侧重培养学生利用计算机技术解决实际问题的基本思路和能力。采用双语教学只是是手段。手段是为目的服务的。因此,在实施双语教学时应该将重点放在专业知识的传授上面,要避免在英语的语法、句法上面过多的纠缠。要求学生阅读教材时,将重点放在对通篇含义的理解上面。对于后续课程中涉及的英语专业术语可以要求学生牢固掌握。可以采取任务驱动的方式,要求学生将英文课件翻译整理为中文课件,课件中的内容是反映了该课程的重要的知识点,这样既可以促进学生掌握所学专业知识,又可以通过实际操作较为熟练地掌握 PowerPoint 等软件的使用。可谓一举两得。 2.2 掌握尺度,循序渐进双语教学要循序渐进,掌握好尺度

19、才能取得较为理想的教学效果。 “计算机基础”作为学生进入高等学校所接触的第一门专业基础课,在大学一年级开设,采用双语教学时,要考虑学生的接受能力和适应能力。有些英语基础较弱的同学会感到吃力。针对学生的特点,在该门课程的教学中中文讲解所占比例要高一些。同时,在考核时,注重学生对知识点掌握程度的考核,考试采用英文试卷,考试题型可以包括选择题、判断题、简答题和综合题等,但是在设计试卷用题时要避免让学生大篇幅地用英文答题。在后续课程实施双语教学时,可以逐步增加英文讲解的比例。如果一年级学生的英语水平差距过大,采取分层次的教学也值得加以研究和考虑。 2.3 适应国情,弥补不足 由于采用英文原版教材,针对

20、我们的国情,必然存在少许不足。比如,介绍计算机发展历史时,教材介绍了一些国外的计算机厂家。我们可以补充介绍一下在业界具有一定地位的我国的联想公司,可以介绍我国在自主研发大型、巨型方面取得的成就,以及具有自主知识产权的国产优秀软件,如,WPS 等以增加我们的民族自豪感。弥补外文教材的不足还包括对中文的内码表示、汉字输入法等。 3 教学效果分析 经过在我校06 级学生教学实践,证明在大学一年级的“计算机基础”课程中实施双语教学是完全可行的。并且取得的了较好的教学效果。学生的学习积极性明显提高,上课出勤率明显提升,到课率 99%以上;期末考试及格率 98%。在后续课程的学习中,如 “数据库原理与应用

21、” ,遇到 table、index、key 等词汇时降低了陌生感,对 SQL 语言的掌握和理解很有帮助。 收稿日期:2007-10 作者简介:张庆杰(1958-),男,中央财经大学信息学院,副教授 通信地址:北京市 海淀区 学院南路 39 号中央财经大学信息学院 邮编100081 TEL :13611215873 1 引言 电子科技大学计算机专业创建于 1958 年,1979 年成立计算机系,1984 年建立微机所,同年成立计算中心,1994 年整合系、所、中心成立计算机科学与工程学院。 学院现有计算机科学与技术一级学科博士学位授予权和博士后流动站;具有计算机应用技术、计算机系统结构、计算机软

22、件与理论和信息安全四个二级学科博士学位授予权。五十年来,学院学科积淀深厚,参加了我国第一代大型电子管计算机 DJS-104 的研制,自行研制成功西南地区第一台晶体管计算机 441-B 机和我国第三代高速集成电路数字计算机(保密通信专用计算机930),主持研制紫金 II 系列微机等,为我国计算机学科和计算机工业的发展作出了重要贡献。近年来,学院作为主研单位承担了多项国家级重点科技攻关项目,获得国家级和省部级科技奖 30 余项。发表学术论文 1000 余篇,其中被三大检索收录 300 余篇。在教学方面,学院多次获得国家及省部级奖项。近三年,获得“软件人才培养体系探索与实践”等四项国家级教学成果奖。

23、 “离散数学” 、 “计算机操作系统” 、 “嵌入式实时操作系统”等三门课程获得国家级精品课程, “计算机组成原理”等八门课程获得四川省精品课程,近年来发表教学研究论文 90 余篇。 2001 年,学校按照计算机学科的布局和高水平人才培养要求,依托计算机学院,建设成立了校级计算机实验教学中心(以下简称实验中心) 。经过校、院多年的不断建设,该实验中心 2007 年 5 月被评为四川省计算机 实验教学示范中心,同年被评为国家级计算机实验教学示范中心。 目前,实验中心拥有 14 个专门的实验室,以及学生创新创业中心、IBM 大型主机系统教育中心、嵌入式工程中心和多个学生实训基地。实验中心总面积达到

24、 4500 多平方米,实验仪器设备总价值超过 1.5 亿元,为计算机创新人才培养构建了一流的实验教学环境。 实验中心开设实验课程 60 多门(包括各类综合实验课程和专项实验课程、创新实验) ,实验项目共计 292 项。每学年受益学生一万多人次,累计 45.5 万机时,成为培养创新人才的重要基地。 2 实验教学改革 实验中心明确了培养具有高素质计算机创新人才的总体定位,以重点实验室为主要基地的培养模式和基础性研究、工程性研究相结合的培养模式,形成了完善的实验体系、质量保证体系和评估体系。 2.1 实验教学改革思路 围绕实验中心的总体定位和建设目标,中心近几年的主要改革思路如下: (1) 树立先进

25、的实验教学理念 坚持育人为本、学生为先、质量为重的基本原则,树立先进的实验教学理念,实验教学不仅是对课堂理论教学进行实践验证的必要环节,更是培养学生实践探索兴趣、科学研究素养、工程创新能力、团队协作精神的重要手段。 (2) 构建多层次的实验教学体系 依托计算机学科优势,构建了“基础型、应用型、综合型、设计型、创新型”的层次化实验教学体系。体现了我校“计算机实验课程教学基地”加强学生工程训练和创新能力培养为重点的指导思想。实验包含了不同层次、不同内容的实验项目,通过分类型和阶段的实践过程,加强学生系统编程与综合创新能力。 (3) 凝练高水平的实验项目 依托省部级重点实验室,将实际工程项目、科研项

26、目和科研成果中的关键技术抽取出来,转化为高水平的实验项目。一方面,保证实验教学内容紧跟学科发展的步伐,不再是“老生常谈” ,而是“常讲常新” ,不但使教师乐于施教,学生更乐于学习。另一方面,结合实际科研工作情况,整理、规划“科研项目实例” ,实施典型实例实践教学,为学生在将来工作中利用最新的计算机技术解决生产和科研中的问题打下坚实基础,从而达到培养学生科研、工程和应用的实践能力的目的。 (4) 建设一流的实验教学环境 坚持以实验内容带动实验室建设,通过“211” , “985”工程的不断投入,形成了计算机专业实验室、IBM 大型主机系统教育中心、学生创新中心、学生实训基地、嵌入式工程中心和省部

27、级重点实验室等多层次的实验教学平台,为高水平创新人才培养创造了一流的实验教学环境。 (5) 激励本科生的科技创新能力和创业能力 为提高学生的科研水平和动手能力,激发想象力和创造力,增强竞争意识,培养创新人才,加强团队协作精神,提高综合素质,实验中心成立了学生创新创业中心,为学生进行课外实践搭建了合作与交流的平台。 2.2 实验教学体系的改革和措施实验教学始终是人才培养体系中最重要的组成部分。特别是近年来,学校在国家“211”、 “985”工程项目的持续支持下,对整个创新人才的培养投入了大量的资金,使整个实验教学的内容和水平上了一个台阶。 2.2.1 实验教学体系改革 实验中心以创新意识培养为先

28、导、以学生能力培养为主线,加强学生工程训练能力和设计能力的培养。以多层次、结构化和开放式的实验教学体系代替传统的平面化、教条化的实验教学体系(见图 1),形成了学生四年本科实验不断线的培养模式。在实验内容中,融入了计算机学科前沿技术以及科研的最新成果,注重与科研、工程、社会应用实践密切联系。 2.2.2 实验教学的改革措施 计算机实验教学的内容应集中体现“厚基础、宽口径、软硬件并重,注重综合技能训练,以培养学生的设计和创新能力为核心”的实验教学指导思想,因此在实验教学体系改革的基础上,对实验内容和实验项目进行了调整和更新,主要调整的重点如下: (1) 将实验中心开设的实验分为三大类:课程实验、

29、专项实验、创新实验。除创新实验外,每一类实验又设计了从基础型到综合型再到创新型的不同层次的实验项目。其中课程实验与理论课程教学有机结合,帮助学生掌握课程教学中需要实验验证和应用实践的知识点,对辅助和强化课程教学起到了不可替代的作用。专项实验以学院的重点学科方向为基础,开展嵌入式系统、信息安全、数字媒体、计算智能和大型机的专项实验。通过专项实验,学生系统掌握该方向的基础知识和最新研究成果,培养学生的工程能力。创新实验以培养学生探索精神、科学思维、实践能力、创新能力为核心,推进学生自主学习、合作学习、研究性学习。创新实验主要包括大型课程设计、各级各类竞赛项目以及在创新中心中由学生自拟的科研项目组成

30、。 (2) 在确保基础型、应用型实验质量的同时,压缩陈旧的、重复的验证性实验,增加综合型、设计型、创新型实验的比例。 实验中心目前共开设本科实验课程共 60 多门(含创新实验类),实验项目共计 290 余项。按照“基础型、应用型、综合型、设计型、创新型”的层次化实验教学体系设置,各种类型实验项目所占比例如图 2 所示,其中“综合型、设计型、创新型”实验占实验项目的 81%。 3 实验队伍建设 培养计算机创新人才,离不开高水平的师资队伍,因此校、院两级非常重视实验教学队伍建设,一方面鼓励知名教授和广大中青年教师积极参加实验室建设与管理工作。另一方面,大力引进一批实验技术过硬,热心实验教学的高水平

31、教师。电子科技大学在“十一五”实验室建设发展规划中,明确提出用三年左右的时间,引进和培养一批高水平的实验课程教师,实验课程责任教师全部具有硕士以上学位,中心具有博士学位的教师占全部教师的 18%。为此,电子科技大学计算机实验中心制定了一系列实验队伍建设措施和制度。例如,对于刚刚到计算机学院参加工作的青年博士,学院规定必须在实验中心锻炼一年。该项措施,一方面促进实验中心高水平实验项目的开发;另一方面也加快了青年博士的成长。经过多年的建设和努力,实验中心形成了一支结构合理、理念先进的实验教学队伍。2008 年实验中心的“计算机实验教学团队”被评为四川省教学团队。 4 创新人才培养效果显著 自 20

32、01 年来,组织学生参加全国大学生电子设计竞赛,多次获国家一等奖、二等奖;组织学生参加“2006 英特尔杯大学生电子设计竞赛嵌入式系统专题邀请赛”获得国家二等奖四项,总分名列全国第一;组织学生参加 2006 年全国 IBM 主机技术大赛,获“最佳作品奖” 、 “年度教书育人奖” 、 “最佳指导奖” 、 “优胜奖” ,名列参赛各队之首。中心的微软俱乐部获得微软公司项目支持连续三年位居全国高校微软俱乐部首位、四川省青创基金连续三年居四川首位。 “梦飞无线”团队因为出色地开发出“手机移动课表” 、 “我上我的校园网站”以及“移动信息通”软件,分别以题为移动课表风靡校园 、 掘金 3G 创业梦被媒体报

33、道,在 2006 年 12月被美国 Diigo 网络技术公司以百万元正式提出并购。学生的“大眼睛”工作室近几年编辑出版计算机系列丛书达 60 余本。我校马力遥在校读书期间率领学生团队自主创业成立了“成都索迪科技开发有限公司” ,该公司发展势头良好,2005 年获得科技部中小企业发展基金 60 万元支持。2004 级学生王春波在校读书期间创立成都倍思盟科技发展有限公司,该公司目前已经拥有 500 万元以上的资产。 5 实验教学发展思路与规划(1) 改革“应知应会”培养模式,逐步精简验证性实验内容,重点加大综合型、创新型实验内容。 计算机实验中心作为我校“计算机实验课程教学基地”的工程训练主体,将

34、加大综合型、设计型、创新型实验项目比例,力争提高到 90%以上。同时,加强科研成果转化为实验项目,在实验项目水平上下功夫,为培养计算机创新人才创造条件。 (2) 以新校区建设为依托,进一步改善实验教学环境,实现实验室的完全开放。 扩充实验室场地面积,初步规划为 10000 平方米,相应更新、增加仪器设备台套数,满足实验教学要求。改造现有实验室,扩充或新建一批高水平实验室,同时,进一步提高实验室的信息化、网络化、智能化建设水平,提高实验室开放水平。 (3) 以实验教学团队建设为核心,不包装的学问是我研讨较多的一节课。学生在学习了长方体、正方体特征以及外表积计算等知识的基础之上,进一步研讨几个相反

35、长方体组成新长方体的多种方法及外表积最小的最优战略。在我看来,包装的学问不只要研讨怎样使外表积最小,还要浸透其他如方便运输、促进销售等要素,从而构成真正的“包装的学问”,而不只仅是“包装中的数学” 。 开课伊始,我引入测量并计算一个盒子的包装纸大小。停顿十分顺利。我进一步提问:“将两个盒子放在一同,你预备怎样包装?”学生经过操作,找到了三种包装方法并提出了应尽量节省包装纸。大家经过计算得出包装两个盒子所需求纸的最小面积,顺利并快速地完成了这局部外容。整个课堂教学环环相扣,学生默契的配合令我十分愉悦。我继续提问:“要是将三个盒子包装在一同呢 ?”“还是那么包!”哈哈,要的就是这个思想定势!“四个

36、盒子呢 ?”“还是那么包! ”“真的吗?”正如我预料的那样学生末尾犹疑、思考 ,按捺不住地拿着盒子末尾拼摆,接着小组讨论。全班汇报时,学生们各持己见,有说的、有算的、有摆的课堂变得喧闹而混乱。我赶忙制止,并带着大家用比拟的方法再次验证正确的拼法。匆匆完毕混乱的我急着停止接上去的内容:“明天,我们经过数学式的研讨,找到了如何使包装更节省资料的方法。生活中的包装是不是都是这样做的呢?我们一同来看一看。 ”播放生活中各种各样物品的包装之后,我给每个小组发了一种商品(其中有一些是节省包装资料的,有一些则是糜费包装资料的),提出了小组讨论要求:“你所研讨的是不是最节省包装资料的方法?想一想,这件商品为什

37、么设计成这样的包装。 ”汇报的时分,由于各组的商品都不同,所以每个组都急于说一说而并没有倾听其他人的发言,招致发言重复、交流内容冗长无趣。课堂又一次堕入混乱之中。我不得不赶忙播放事前预备好的“台词”来完毕这场讨论。 终究是什么弄乱了我的课堂? 每次备课时,我最先思考 的便是教学目的。教学目的是由一个个小的阶段目的累加完成的。这节课上,我无视了每个环节的“回头看” 。前半段的学习看似行云流水,实则埋下了大隐患。假设在拼摆两个长方体的时分,我就重点落实“两个长方体将大面堆叠,消逝面积最大,外表积最小”这个结论,等到拼摆三个长方体的时分,学生就会再次用结论说话,从而引发四个长方体拼摆的争论。这时的验

38、证便会以“大面”为重心,学生自然就会发现由于长方体数量的变化,大面也随之发作了变化。在实施新课改的明天,“英勇地参与去”已成为每个教员应有的看法,但“参与去”之后,学生自在的互动交流、质疑补充,不能够完全依照教员的思绪墨守成规地停止。这就需求我们适时地“走出去”引领。 “走出去”更需讨教员调控的聪明 。在学生出现两种方法争论的时分,假设我伪装站在第二种方法一边,仔细地说:“我赞同第二种方法,它是遵照我们得出的结论,把大面重合在一同了。 ”这样引导学生将留意力转移到“大面”上,效果会更好一些。在学生都用计算方法处置效果时,我提出“谁可以用不同的方法来比拟” 、 “谁可以用直观的方法来比拟”,置信

39、会有学生想到“比拟”这一教学方法。 最后的教学环节是让学生经过研讨生活中商品的包装,发现包装的学问并不只仅是节省包装资料,感遭到数学源于生活,却不完全同等于生活。但这究竟 是一堂数学课,我却破费了太长时间让学生去发现包装中促进销售、便于码放等要素。这无疑是“种他人的田,荒了自己的地” 。假设我先播放各种商品,紧接着播放店长讲述包装学问的录像,再发给每个小组商品以判别这种商品是依据包装学问中哪一条要素停止设计的,从而感受生活与数学的关系,自然就完成了情感态度与价值观的目的。 一堂好课的面前肯定有多个成功的理由,一堂失败的课也不是只要一个缘由。只要找到效果症结并加以处置,才可以拨开乌云见月明。 面

40、向对象的白盒测试技术的研究与分析 摘要: 本文讨论了面向对象软件的特点,从软件测试的层次划分出发,以一个自动售货机为例设计了一个软件系统的白盒测试用例,分析了白盒测试在面向对象软件测试中的特点和测试的方法。 关键词:面向对象;白盒测试 ;用例 1 引言 如何提高软件质量是软件工程致力解决的关键问题之一。软件测试和验证是保证软件正确性和提高软件可靠性的最基本和最重要的手段。自 20 世纪 80 年代以来,面向对象方法和技术的研究已遍及计算机软件、硬件和应用各领域,在软件工程领域更是得到了广泛的重视,但研究的重点和成果主要集中于面向对象分析与技术方法学领域(即软件开发的前期), 而面向对象软件测试

41、技术的研究还比较薄弱。近年来,国内外对面向对象软件测试进行了大量的研究,但目前该领域还处于百家争鸣的阶段,还未形成一套较为成熟与完善的软件测试理论与方法。本文从软件测试的层次划分出发,对面向对象的测试方法和解决方案做一探讨,并结合具体项目给出了实例设计。 2 面向对象理论 运用面向对象的方法和技术,首先必须明确什么是“面向对象” 。曾经有很多年,“面向对象”被认为是使用一系列面向对象程序设计语言(如 Ada95,C+,Smalltalk 等) 的软件开发方法。现在 “面向对象”己包含完整的软件工程观点,Peter Coad 和 Edward Yourdon 给出了“面向对象”的如下定义:面向对

42、象(Object-Oriented)=对象(Objects)+分类(Classification)+继承(Inheritance)+ 通信(Communication)。 面向对象软件的封装性、继承性、多态性和动态绑定等特性提高了软件的可重用性,使软件开发更快、质量更高,而且软件易于维护、易于修改。通过组装可利用子系统而产生更大的系统,然而另一方面,它却给软件测试带来了更多的困难。与之相对应的软件测试技术还相对滞后,如何探索出一套行之有效的方法,尤其是如何采用自动化的方法来测试这些软件,己成为软件测试者们所面临的挑战。 3 白盒测试的传统方法 白盒测试方法主要依据逻辑段盖准则,如语句覆盖和判定

43、覆盖等。这些覆盖准则是白盒测试方法的重要理论基础,能够指导测试人员设计出有效的测试用例。 SQA Team Test 是测试 Power Builder 软件的有用测试工具 ,它能够与 Power Builder 对象紧密地结合在一起,根据使用 SQA Team Test 测试软件的经验和对该软件的理解,认为设计出有效的测试用例仍是使用 SQA Team Test 测试软件的关健性工作。能否设计出一系列有效的测试用例,将直接影响到软件的测试效果,因为 SQA Team Test 测试软件的测试思想是回归测试,所以能否发现软件中存在的问题,仍依赖于测试用例的设计。 从前面的分析中可以看出,无论是

44、使用白盒测试方法还是使用 SQA Team Test 测试软件,设计有效的测试用例是测试工作的重要环节。传统的白盒测试方法是按照软件模块内的逻辑控制结构、运行过程和模块间的组织结构与接口,逐个设计出针对每个模块、每个子系统和系统的测试用例,因此每个模块都会被测试到,或者说能够保证测试的模块被覆盖。因为白盒测试的基础是依据对程序结构的清楚描述,而模块内部的逻辑履盖由逻辑覆盖准则提供保证。但是在事件驱动面向对象的软件中,软件的设计思路和软件的结构与传统的面向过程的软件相比已经发生了相当大的改变,对象和事件概念在软件开发中占有非常重要的地位,而传统的白盒测试方法并不能适应这种变化。 4 面向对象白盒

45、测试框架分析 测试设计是整个测试过程的关键部分,面向对象软件开发中的白盒测试设计优劣更是整个测试工作的成败所在。为此在本文中我们可以具体的实例来设计一个白盒测试的框架和方法。 面向对象的白盒测试通常不能独立地测试一个方法( 操作),这个方法相当于传统的测试单元,而是将这个方法作为一个测试类的一部分。 如果一个基类中有一个方法,继承类也继承了这个方法,但是这个方法可能在继承类中被私有数据和方法使用,所以尽管基类中已经测试了这个方法,但是每个继承类也需要考虑对这个方法进行测试。一般从下面两个方面进行考虑。 (1)继承的成员函数是否都不需要测试。一般来说 ,对父类中已经测试过的成员函数,两种情况需要

46、在子类中重新测试,即继承的成员函数在子类中作了改动,或成员函数调用了改动过的成员函数的部分。 (2) 对父类的测试是否能照搬到子类。多态有几种不同的形势,如参数多态,包含多态,过载多态。包含多态和过载多态在面向对象语言中通常体现在子类与父类的继承关系上。对具有包含多态的成员函数测试时,只需要在原有的测试分析的基础上扩大测试用例中输入数据的类型。 从上面的分析可以看出,面向对象的软件的白盒测试主要是针对软件设计中的类和对象来进行测试的。因此链接被测试的软件的类结构,是进行白盒测试的关键。由于封装的原则,在面向对象软件的类一般设计为私有或受保护类型,即类的属性和方法是无法从外部直接访问的,必须通过

47、类中的公有方法来实现。因此设计测试用例时必须要注意对这些公有成员的才做。白盒测试逻辑覆盖的方法主要包括语句覆盖、分支覆盖、条件覆盖、条件组合覆盖等。穷举测试要求对所有可能的输入和状态执行所有的路径,除非对一些小实例,穷举测试是不现实的,通常是通过从所有可能的测试用例中确定最有可能检测出最多错误的子集,进行有限的测试来发现尽可能多的错误。但是为了实现对类中所有方法的有效测试,必须设计足够多的测试用例。下面我们就以一个自动售货机为例设计一个软件系统的白盒测试用例。一个软件系统是有很多的服务组成的,而每个服务时由很多的用例组成的,下面我们给出自动售货机的用例和服务,如表 1 所示,描述用例的用例图如图 1 所示。 screen.width-333)this.width=screen.width-333 hspace=15 vspace=5 src=“http:/:88/rewriter/LONGYUAN/http/hlf9phj-m9bnl9bm/qkimages/rjgc/rjgc201005/rjgc20100516-1-l.jpg“ 对用例的用户描述往往采用系统序列图,它将系统看做一个整体,并从用户的角度描述用例的处理过程,以购买商品用例为例,给出

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

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报