毕业设计论文基于ASP及SQL的大众汽车欣赏网站设计.doc
摘 要随着新型操作系统新型计算机语言和新开发技术的出现,万维网和Internet使我们的计算环境日趋全球化,计算机数据已经应用到各个方面。本人做的是大众汽车欣赏网站,基于目前现在社会的快速发展以及人们的生活需要,对汽车的要求也越来越高,本人把大众汽车的类型都一一展览出来,供用户欣赏所用,对于本论文的设计,包括大众汽车的历史背景,让用户对大众汽车进行大致的了解;系统的可行性分析,以及研究本程序的数据库的设计,包括ER图和数据库字典;本次设计的一些主要界面和代码,还有软件测试,对于本次设计的测试结果;最后是结束语,对本次论文做的总结以及做论文的自我感悟。关键词:大众汽车,ASP.NET,SQLserver数据库目 录第1章 导 论11.1 选题背景11.2 平台测试21.3 表单测试21.4 图形测试3第2章 系统需求分析42.1 可行性42.2 安全性分析5第3章 系统设计63.1 系统功能设计63.2 数据库设计73.2 数据字典9第4章 系统技术选择104.1 三层结构104.2 IIS 服务器114.3 ASP.NET平台的选择12第5章 程序实现165.1 用户注册165.2 登陆网页175.3 增加195.4 管理员修改/删除195.4 汽车欣赏主页20第6章 结果分析216.1 黑盒测试216.2 白盒测试226.3 集成测试23总 结25致 谢26参考文献27 III 长春信息技术职业学院2008届专科生毕业设计(论文)第1章 导 论1.1 选题背景 企业文化是保持企业基业常青的根本。上海大众在实施企业调整、变革的同时,适时地对企业文化进行了梳理,在继承和创新的基础上,提炼出以“追求卓越 永争第一”为核心价值观的卓越文化。 上海大众的卓越文化源于历史的积淀,现实的努力,以及对未来的追求。作为中国最早的轿车合资企业之一,上海大众成功探索、创造了利用外资、引进技术与自我发展相结合的模式;在自身滚动发展的同时,带动了一大批相关产业的发展进步。上海大众以不畏艰险的开拓精神,令人瞩目的发展成就,把“卓越”刻进了企业的历史进程。 随着市场竞争的日益加剧,上海大众在秉承优良传统的同时,不断地挑战自我,打破不适合发展的各种制约,勇敢地变革创新、与时俱进,在激烈的市场竞争中发展、突破,获得了持久的生命力。公司为员工提供了包括专家、技能师、后备专家、后备干部、管理层等在内的多元化发展道路,在培养高级管理人才、专业技术人才的同时,大力加强高技能人才队伍建设。几年来,上海大众已产生了300多名专家和特级、高级技能师,壮大了技能领域的核心骨干人才力量。与此同时,上海大众形成了一套包括大学生人才库、实习生计划、职工外读培训、人才后备力量建设、人才评价中心等人才开发措施。其中,大学生人才库项目是上海大众聘用员工的新途径。它可以提早让大学生接触公司,通过参与各专业部门的工作,从而实现招聘工作的 “过程了解,双向选择”。上海大众“追求卓越 永争第一”的核心价值观与“更高、更快、更强”的奥林匹克精神不谋而合。2004年6月,上海大众更成为2008年北京奥运会汽车合作伙伴成员企业。在为2008北京奥运提供各项支持的同时,上海大众也将通过先进、环保的产品和服务,让北京奥运所倡导的“绿色奥运、科技奥运、人文奥运”三大理念传递给广大的公众。1.2 平台测试 市场上有很多不同的操作系统类型,最常见的有Windows、Unix、Macintosh、Linux等。Web应用系统的最终用户究竟使用哪一种操作系统,取决于用户系统的配置。这样,就可能会发生兼容性问题,同一个应用可能在某些操作系统下能正常运行,但在另外的操作系统下可能会运行失败。浏览器测试: 浏览器是Web客户端最核心的构件,来自不同厂商的浏览器对Java,、javascript、 ActiveX、 plug-ins或不同的HTML规格有不同的支持。例如,ActiveX是Microsoft的产品,是为Internet Explorer而设计的,javascript是Netscape的产品,Java是Sun的产品等等。另外,框架和层次结构风格在不同的浏览器中也有不同的显示,甚至根本不显示。不同的浏览器对安全性和Java的设置也不一样。 测试浏览器兼容性的一个方法是创建一个兼容性矩阵。在这个矩阵中,测试不同厂商、不同版本的浏览器对某些构件和设置的适应性。 因此,在Web系统发布之前,需要在各种操作系统下对Web系统进行兼容性测试。1.3 表单测试 当用户给Web应用系统管理员提交信息时,就需要使用表单操作,例如用户注册、登陆、信息提交等。在这种情况下,我们必须测试提交操作的完整性,以校验提交给服务器的信息的正确性。例如:用户填写的出生日期与职业是否恰当,填写的所属省份与所在城市是否匹配等。如果使用了默认值,还要检验默认值的正确性。如果表单只能接受指定的某些值,则也要进行测试。例如:只能接受某些字符,测试时可以跳过这些字符,看系统是否会报错。整体界面是指整个Web应用系统的页面结构设计,是给用户的一个整体感。例如:当用户浏览Web应用系统时是否感到舒适,是否凭直觉就知道要找的信息在什么地方?整个Web应用系统的设计风格是否一致? 对整体界面的测试过程,其实是一个对最终用户进行调查的过程。一般Web应用系统采取在主页上做一个调查问卷的形式,来得到最终用户的反馈信息。 对所有的可用性测试来说,都需要有外部人员(与Web应用系统开发没有联系或联系很少的人员)的参与,最好是最终用户的参与。在使用了数据库的Web应用系统中,一般情况下,可能发生两种错误,分别是数据一致性错误和输出错误。数据一致性错误主要是由于用户提交的表单信息不正确而造成的,而输出错误主要是由于网络速度或程序设计问题等引起的,针对这两种情况,可分别进行测试。1.4 图形测试 在Web应用系统中,适当的图片和动画既能起到广告宣传的作用,又能起到美化页面的功能。一个Web应用系统的图形可以包括图片、动画、边框、颜色、字体、背景、按钮等。图形测试的内容有: (1)要确保图形有明确的用途,图片或动画不要胡乱地堆在一起,以免浪费传输时间。Web应用系统的图片尺寸要尽量地小,并且要能清楚地说明某件事情,一般都链接到某个具体的页面。 (2)验证所有页面字体的风格是否一致。 (3)背景颜色应该与字体颜色和前景颜色相搭配。 (4)图片的大小和质量也是一个很重要的因素,一般采用JPG或GIF压缩。运行环境:Visual Studio .NET 2005第2章 系统需求分析2.1 可行性个人的经济善对其消费选择具有重大影响,它很大程度上决定着人们可用于消费的收入、对待消费与的态度及借贷的能力。尤其是汽车对一般人来说属于 一种文档而用消费品,个人的经济状况达不到一定程度是不是可能购买汽车的;并且经济状况较好的人与经济状况一般的人所选购的车是有所差别的。从经济学的角度看,一个人的活活方式表明它所选择的分配方式以及对闲暇时间的安排,一个人对汽车产品的选择实质上是在声明他是谁,他想拥有哪类人的身份。消费者常常选择这样而不是那样的汽车产品与特定的生活方式群体之间的联系。此汽车欣赏网是建立在严格的管理模式下,具有规范化、自动更新等特点,技术可行性随着Internet和Intranet/Extranet的快速增长,Web已经对商业、工业、银行、财政、教育、政府和娱乐及我们的工作和生活产生了深远的影响。许多传统的信息和数据库系统正在被移植到互联网上,电子商务迅速增长,早已超过了国界。范围广泛的、复杂的分布式应用正在Web环境中出现。Web的流行和无所不在,是因为它能提供支持所有类型内容连接的信息发布,容易为最终用户存取在基于Web的系统开发中,如果缺乏严格的过程,我们在开发、发布、实施和维护Web的过程中,可能就会碰到一些严重的问题,失败的可能性很大。而且,随着基于Web的系统变得越来越复杂,一个项目的失败将可能导致很多问题。当这种情况发生时,我们对Web和Internet的信心可能会无法挽救地动摇,从而引起Web危机。并且,Web危机可能会比软件开发人员所面对的软件危机更加严重、更加广泛。 在Web工程过程中,基于Web系统的测试、确认和验收是一项重要而富有挑战性的工作。基于Web的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。然而,Internet和Web媒体的不可预见性使测试基于Web的系统变得困难。因此,我们必须为测试和评估复杂的基于Web的系统研究新的方法和技术。技术上的可行性分析主要分析技术条件是否能顺利完成开发工作,硬、软件能否满足开发者的需要等。需要的各种软件环境都已具备,如,开发用Visual studio .Net 2003,C#语言,IIS服务器,数据库服务器方面则有SQL Server,均能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。其灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。2.2 安全性分析 Web应用系统的安全性测试区域主要有: (1)现在的Web应用系统基本采用先注册,后登陆的方式。因此,必须测试有效和无效的用户名和密码,要注意到是否大小写敏感,可以试多少次的限制,是否可以不登陆而直接浏览某个页面等。 (2)Web应用系统是否有超时的限制,也就是说,用户登陆后在一定时间内(例如15分钟)没有点击任何页面,是否需要重新登陆才能正常使用。 (3)为了保证Web应用系统的安全性,日志文件是至关重要的。需要测试相关信息是否写进了日志文件、是否可追踪。 (4)当使用了安全套接字时,还要测试加密是否正确,检查信息的完整性。 (5)服务器端的脚本常常构成安全漏洞,这些漏洞又常常被黑客利用。所以,还要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题可以通过本网站欣赏最新、最时尚的品牌汽车,可以实现增加、修改、删除等功能,第3章 系统设计3.1 系统功能设计汽车欣赏网浏览信息 注册用户 会员登录会员增加后台管理 图31 系统的基本功能模块图功能类别功能详细说明浏览信息功能描述: 浏览大众汽车历史信息及其图片注册用户功能描述: 普通用户注册会员输入: ID号、密码、身份证、地址、电话输出: 注册成功进入登陆页面,失败重新输入会员登录功能描述: 会员使用注册的ID号和密码进行登陆 输入: 在登陆窗体中输入ID号和密码输出: 在数据库中验证与注册表中的内容是否相符会员增加功能描述:会员具有图片增加的功能后台管理功能描述: 管理员登陆后进入后台管理,进行大众汽车信息维护输入: 在登陆窗体中输入ID号和密码输出: 在数据库中验证与注册表中的内容是否相符3.2 数据库设计图32注册表实体属性图33登陆表实体属性图34管理员实体属性图34汽车信息实体属性图36管理信息实体属性 图37汽车类别实体属性3.2 数据字典表31注册表表名注册表说明进行注册字段名类型长度是否为空备注姓名vachar50否主键密码varchar50身份证varchar50地址varchar50电话 vachar20表32登陆表表名登陆表说明 会员和站长进行登陆字段名类型长度是否为空备注ID号varchar20否主键密码varchar40表33汽车信息表表名汽车信息表说明进行欣赏使用字段名类型长度是否为空备注汽车编号varcharva40否主键生产日期datetime汽车名称varchar50表34管理员表表名管理员表说明给定管理员信息字段名类型长度是否为空备注ID号varchar20否主键密码varchar50表35管理信息表表名管理信息表说明 用于管理员进行维护使用字段名类型长度是否为空备注类型编号varchar20否主键汽车名称varchar50图片varchar200第4章 系统技术选择4.1 三层结构本系统由于设计到客户端,服务器,数据库,三层结构,于是要求开发环境可以兼顾网络开发和数据库开发,而微软最新发布的Microsoft Visual Studio.NET里提供了这方面更为方便的服务和控件。在VB.NET下的ASP.NET,很好的作到了这一点,在ASP.NET中引用了全新的HTML编程模型,包括全新的服务器控件,表单的事件驱动,数据绑定等,将程序代码与UI接口清楚地分开,给程序开发者带来了方便。数据库方面,使用了最先进的ADO.NET, ADO.NET应用程序可以利用 XML 的灵活性和广泛接受性,很好的与网络结合在一起。这次的毕业设计应用于.NET开发平台,利用ADO技术和Session及Application保证了代码的安全性,确保程序的安全。微软的.Net平台给应用程序开发提供了一个非常好的基础系统平台,但是,如何在这个系统平台上构建自己的应用系统,还需要我们针对应用系统的特点,构建自己的应用系统框架(Framework)。我们在应用.Net开发系统的过程中,结合多年的开发经验,也参考了J2EE的架构,设计了一套.Net下的应用系统框架,以及相应的中间件和开发工具,已经在多个项目中和软件产品中应用,取得了很好的效果。现在向代价介绍这个框架的整体解决方案,希望对您有所帮助。我们知道,对于典型的三层应用系统来说,通常可以把系统分成以下三个层次:用户界面层、应用服务层、数据库层 对于应用系统来说,在这三个层次中,系统的主要功能和业务逻辑在应用服务层进行处理,对于系统框架来说,主要处理的也是这个层次的架构。对于应用服务层来说,在一个面向对象的系统中,以下几个方面的问题是必须要处理的: 数据的表示方式,也就是实体类的表示方式,以及同数据库的对应关系,即所谓的O-R Map的问题。 1.业务逻辑的组织方式。在面向对象的系统中,业务逻辑是通过对象间的消息传递来实现的。在这个部分,为了保证逻辑处理的正确性和可靠性,还必须支持事务处理的能力。 2.业务服务的提供方式。为了保证系统的灵活性和封装性,系统必须有一个层来封装这些业务逻辑,向客户端提供服务,同时作为系统各个模块间功能调用的接口,保证系统的高内聚和低耦合性。这里的客户指的不是操作的用户,而是调用的界面、其他程序等。Web层(ASP.Net页面)通常只同这个部分交互,而不是直接调用业务逻辑层或者数据实体的功能。3.数据的存取方式。也就是实体类的持久化问题,通常采用数据库来永久存储数据实体,这就需要解决同数据库的交互问题。这个部分要完成的功能,就是将数据实体保存到数据库中,或者从数据库中读取数据实体。同这个部分相关的,就是对数据访问对象的使用。在框架中,我们对ADO.Net又做了一层封装,使其使用更加简便,同时也统一了对ADO.Net的使用方式。4.2 IIS 服务器IIS(Internet Information Server)作为当今流行的Web服务器之一,提供了强大的Internet和Intranet服务功能,下面介绍一下其特性与体系结构。IIS的特有的功能有3点如下: 1.IIS可以赋予一部主机电脑一组以上的IP地址,而且还可以有一个以上的域名作为Web网站,您可以利用TCP/IP内容设置两组以上的IP地址给它,除了为网卡再加进一组IP地址之外,必须在负责这个点的 DNS上为这组IP地址指定另一个域名,完成这些步骤以后,在Internet Service Manage中就会出现一个虚拟Web服务器,虚拟服务器(Virtual Server)必须有它自己的主目录(home directory),对于IIS来说,所有服务器都是它的虚拟服务器。 2.在互联网上,有很多网站需要多部服务器才能够应付来自用户端的请求,这就需要利用DNS所具有的功能,将一组以上的IP指定给同一个域名,每当这个网站接到服务要求,由DNS负责进行解析,它会指定域名的下一组IP地址给它,若要求采用这套做法,服务器的内容必须逐一复制到每一部服务器上。3.为了存取后端数据库,IIS支持以下三种方式:IDC:Internet Data ConnectorADO:ActiveX Data ObjectADC:Advanced Data Connector这三种存储方式各有其特点,这里特别强调的是这三种数据库存取方式的后端数据库都必须提供ODBC才可以。IIS的体系结构如下:IIS和Windows NT Server是紧密的结合在一起的,IIS的组成元件是以服务程序的形式在后台执行的,用户端利用TCP/IP协议连接上IIS,TCP/IP协议是有以下比较重要的四层(Layer)所组成的:1.Link Layer:作为Windows NT操作系统和网卡以及网络驱动程序之间的界面。 2.Network Layer:负责控制资料包在网络上的移动,IP(Internet Protocol)即位于这一层。3.Transport Layer:负责用户端到服务器之间的信息的移动,TCP(Transmission Control Protocol)即位于此层。4.Application Layer:管理较低层和应用程序之间的连接端口,Socket即位于此层。作为MMC(Microsoft Management Console)的一部分,Internet Service Manager(ISM)主要负责IIS提供服务的一些设置组态的管理,Internet Service Manager可以用来增强信息服务器的配置和性能,Internet Service Manager可以帮助用户在网络中任何一台运行Windows NT Server网络操作系统的计算机上,配置和监视所有的Internet服务。Internet Service Manager位于Microsoft Internet Server组中。通过选择Internet Service Manager超文本管理器,用户可以采用HTML界面使用Internet Service Manager。对HTML管理平台版本唯一的限制是,不能通过这个界面结束或者启动服务器上的Internet服务。4.3 ASP.NET平台的选择为了减少当前Web开发的技术不足,Microsoft公司推出了一套全新的解决方案Microsoft.NET。ASP.NET作为.NET技术的一部分,为Web开发提供了一种充满活力的技术,它专门用于开发Web应用程序,提供了创建Web应用程序的服务。ASP.NET作为新一代的网络开发工具,不仅与ASP以前的版本兼容,而且增加了许多新的功能。ASP.NET的主要特点有以下几个方面:多语言支持:ASP.NET支持Visual B,C#,VC+和Jscript四种编程语言,用户可根据自己的特长和实际需要进行选择,还可以用这些语言来组合来编程;兼容性:ASP.NET与ASP完全兼容,对于以前的ASP文件,仍可以在IIS环境下运行,ASP.NET文件以新的扩展名出现,即.ASPX,可以清楚地区分新老文件;分离程序代码和网页内容,在ASP中网页显示的HTML标记和程序代码混杂在一起,给人以杂乱无序的感觉,在ASP.NET中引用了全新的HTML编程模型,包括全新的服务器控件,表单的事件驱动,数据绑定等,将程序代码与UI接口清楚地分开。此外,ASP.NET还改进了配置、伸缩性、安全性和可靠性,对各种不同的浏览器提供了更好的支持。 由于Windows操作系统在国际市场的占有率为90,在国内市场的占有率为95,所以我们选用的操作系统为安全可靠的Windows XP Professional;采用的开发工具为Microsoft公司开发的较完备的可视化工具Visual Studio .Net;目前最流行的数据库管理工具之一的Microsoft SQL Server2000,而Microsoft SQL Server2000.由于本系统是一个实用系统,必须要保证其可靠性和安全性。因为Windows 2000 Server 包含了改进的网络、应用程序和 Web 服务,它不但增强了可靠性和灵活性,而且降低了拥有强大、灵活管理服务的计算系统的成本,并为运行企业应用程序提供了最好的基础,同时Windows 2000 Server操作系统具有类似Windows 9x的图形化操作界面,便于用户管理和使用,更适合用于PC机上,所以在选择操作系统时,我们选取了Windows 2000 Sever。对于后台数据库,我们也力求找一个更可靠、更安全的管理系统来实现。而SQL Server 2000被设计成与NT服务器紧密地集成,Windows 2000 Sever提供了许多可被SQL Server利用的特性,这意味着SQL Server已经在Windows 2000 Sever下被优化,从而使SQL Server 2000的处理速度有保证,也使SQL Server 2000易于使用。正是由于其紧密集成,我们就选取了SQL Server 2000数据库管理系统。SQL Server 2000主要性能指标1. 可靠性 通过联机备份、完全集成的日志传送和增强的故障切换群集,SQL Server 2000可以将数据库的可靠性增至最大。 联机备份 SQL Server 2000可以在数据备份的同时保持数据库的联机和可访问状态。它还通过提供热备用服务器达到提高可靠性的目的。 故障切换群集 SQL Server 2000实现了群集中其他结点的故障切换或故障回复。SQL Server 2000经历了更为严格的测试过程。这些测试的目的在于使SQL Server 2000具备前所未有的可靠性。2. 对XML支持性能 作为原先在Web上交换数据的标准技术,XML现在正迅速成为集成电子商务系统的首选技术。Microsoft SQL Server 2000提供了集成的XML支持,对于Web开发人员和数据库程序员而言,这一支持具有灵活性、高性能和易用性。 SQL Server 2000中丰富的XML功能帮助Web开发人员绕过了复杂的关系数据库编程。3. 简化数据库管理性能 数据库必须经过微调,以让最终用户获得最优的性能。因为并不存在一种能满足所有最终用户的单一方法,所以数据库微调的目的通常为匹配特定的数据使用模式。4. 可伸缩性 在Microsoft Windows 2000 Datacenter Server上,Microsoft SQL Server 2000企业版可以伸缩至64 GB内存和32个CPU。这一可伸缩性可以与向外扩充(scale-out)技术(如分布式分区视图)组合使用,以处理最大的数据集和事务负荷。5. 支持Web分析 当公司收集到越来越多关于其客户的信息时,他们寻求分析和发掘这些数据的价值的新方法。SQL Server 2000还允许经由HTTP的多维数据集访问。这就允许组织通过HTTP和一个防火墙安全地共享数据集或访问远程多维数据集,而无需在Web服务器开启一个端口。6. 安全性 针对敏感而脆弱的基于Web电子商务应用,Microsoft SQL Server 2000推出了重要的新安全增强,这些增强不但提供了业界最高等级的安全性,而且简化了达到这一安全等级的操作。7. 对数据的Web访问 Microsoft SQL Server 2000提供了通过Web对存放在SQL Server数据库和OLAP多维数据集中数据进行访问的特性。这些特性确保这些数据可通过直观的用户界面获得,同时确保这些数据的完全可检索性,现在即使新用户也能对其进行检索。 通过与一个SQL Server 2000实例关联的多种不同机制,SQL Server 2000实现了URL(统一资源定位器)式数据访问。9. 扩展应用程序 Microsoft SQL Server 2000 Windows CE版不仅可以实现零售、医药、货运、制造、家电及军事等行业的应用,还可以支持无线和基于Web的通讯,并提供业界领先的高性能和高安全等级,其设计目标就是让开发人员更快更方便地建立应用。10. 索引视图复杂报表的场景经常会在数据仓储应用程序中遇到,它在查询过程中会对数据库服务器产生大量请求。 11. 复制性能 SQL Server提供了三种类型的复制: 快照:将数据的完整视图复制到另一台计算机上。事务:事务是在一台计算机上执行的插入、更新或删除语句,这些事务将被复制到另一台计算机上。合并:任意计算机上的更新将在稍后复制到另一台计算机上。Web和应用程序宿主 越来越多的公司正在选择从应用服务供应商(ASP)那里外购其应用-从电子商务到人力资源和在线公司仓库。ASP依赖于规模经济,为了让客户获得最佳的价值,ASP必须以最佳的方式利用其广泛的硬件资源。因此,ASP经常在一台服务器上容留多个应用。这就需要安装SQL Server 2000的多个实例。多实例支持可在一台机器上实现多个独立的SQL Server安装,从而为ASP和任意具有有限硬件预算的企业提供了更大的灵活性。第5章 程序实现5.1 用户注册图51注册界面/*模块名称:注册页面*功能简述:此代码验证了用户注册会员成功与否的验证*开发人:李鹏*开发时间:200854*/protected void Button1_Click(object sender, EventArgs e) bool flag = false; try SqlCommand cmd = new SqlCommand("insert into zhuce values('" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox4.Text + "','" + TextBox5.Text + "','" + TextBox6.Text + "')",ConnectionDatabase.GetOpen(); cmd.ExecuteNonQuery(); flag = true; catch (Exception ee) flag = false; finally ConnectionDatabase.GetClose(); if (flag = true) Response.Redirect("OK.aspx"); 5.2 登陆网页图52登陆/*模块名称:登陆页面*功能简述:此代码验证了用户注册会员成功与否的验证*开发人:李鹏*开发时间:200854*/protected void Button1_Click(object sender, EventArgs e) SqlCommand cmd = null; cmd = new SqlCommand("select count(*)from zhuce where Zname='" + TextBox1.Text + "' and Zpwd='" + TextBox2.Text + "'", ConnectionDatabase.GetOpen(); int i =Convert.ToInt32( cmd.ExecuteScalar(); if (i>0) Response.Redirect("Zeng.aspx"); else TextBox1.Text = "" TextBox2.Text = "" TextBox1.Focus(); ConnectionDatabase.GetClose(); 5.3 增加图53增加图片5.4 管理员修改/删除图54管理员维护图片5.4 汽车欣赏主页图55首页第6章 结果分析6.1 黑盒测试 黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试地,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。黑盒测试、系统特点方便、快捷、稳定、安全。测试结果准确、系统运行平台Visual Studio .NET 2005黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身有问题或规格说明的规定有误,用墨盒测试方法是发现不了的。黑盒测试法注重于测试软件的功能需求,主要试图发现下列几类错误。功能不正确或遗漏; 界面错误; 数据库访问错误;性能错误; 初始化和终止错误等。 从理论上讲,黑盒测试只有采用穷举输入测试,把所有可能的输入都作为测试情况考虑,才能查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要测试所有佥的输入,而且还要对那些不合法但可能的输入进行测试。这样看来,完全测试是不可能的,所以我们要进行有针对性的测试,通过制定测试案例指导测试的实施,保证软件测试有组织、按步骤,以及有计划地进行。黑盒测试行为必须能够加以量化,才能真正保证软件质量,而测试用例就是将测试行为具体量化的方法之一。具体的黑盒测试用例设计方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等。等价类划分的办法是把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。边界值分析是通过选择等价类边界的测试用例。边界值分析法不仅重视输入条件边界,而且也必须考虑输出域边界。错误推测设计方法就是基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性地设计测试用例的方法。因果图方法是从用自然语言书写的程序规格说明的描述中找出因(输入条件)和果(输出或程序状态的改变),可以通过因果图转换为判定表。正交试验设计法,就是使用已经造好了的正交表格来安排试验并进行数据分析的一种方法,目的是用最少的测试用例达到最高的测试覆盖率。 如果您认为本词条还有待完善,需要补充新内容或修改错误内容,6.2 白盒测试白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。采用什么方法对软件进行测试呢?常用的软件测试方法有两大类:静态测试方法和动态测试方法。其中软件的静态测试不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试;而软件的动态测试是通过输入一组预先按照一定的测试准则构造的实例数据来动态运行程序,而达到发现程序错误的过程。 白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、Z路径覆盖、程序变异。集成测试 开放分类: 软件测试某设计人员习惯于把所有模块按设计要求一次全部组装起来,然后进行整体测试,这称为非增量式集成。这种方法容易出现混乱。因为测试时可能发现一大堆错误,为每个错误定位和纠正非常困难,并且在改正一个错误的同时又可能引入新的错误,新旧错误混杂,更难断定出错的原因和位置。与之相反的是增量式集成方法,程序一段一段地扩展,测试的范围一步一步地增大,错误易于定位和纠正,界面的测试亦可做到完全彻底。下面讨论两种增量式集成方法。6.3 集成测试集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求)如根据结构图组装成为子系统或系统,进行集成测试。实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。程序在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现。集成测试方法集成测试应该考虑以下问题:1、在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;2、各个子功能组合起来,能否达到预期要求的父功能;3、一个模块的功能是否会对另一个模块的功能产生不利的影响;4、全局数据结构是否有问题;5、单个模块的误差积累起来,是否会放大,从而达到不可接受的程度。因此,单元测试后,有必要进行集成测试,发现并排除在模块连接中可能发生的上述问题,最终构成要求的软件子系统或系统。对子系统,集成测试也叫部件测试。任何合