bug追踪系统设计与实现-毕业论文_第1页
bug追踪系统设计与实现-毕业论文_第2页
bug追踪系统设计与实现-毕业论文_第3页
bug追踪系统设计与实现-毕业论文_第4页
bug追踪系统设计与实现-毕业论文_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘 要随着社会的快速发展,计算机应用逐渐深入到了人们的生活和工作中,逐渐地人们已经离不开计算机,伴随着计算机的快速发展,软件测试成为了计算机软件行业发展的重中之重。现在计算机软件已经深入到了社会的各个层次,还全面渗透到各行各业。现在所有的职业都需要拥有计算机操作技能,并且有些公司需要员工熟练掌握一定的软件应用(Excel,Powerpoint等),随着计算机技术的飞速发展,计算机成为了除人力以外的另外一种生产力,将社会发展成了信息化社会,推动了人类社会的发展。软件Bug追踪系统主要是在Myeclipse上用JSP编写的。用了SQLServer2000作为后台数据的管理,本文主要介绍怎么利用JSP和框架来开发软件Bug追踪系统的设计方法。软件Bug追踪系统主要实现了登录首页管理、项目信息管理、用户信息管理、修改项目BUG、用户个人信息管理、帮助信息等.统计缺陷率,修复率,缺陷原因发生率来反映程序员在哪方面的能力还欠缺,从而指导进行哪些方面的培训工作,进一步提高整个项目组的软件开发能力。关键词:软件;bug;管理系统;计算机;JSP AbstractWith the rapid development of society, computer application gradually deep into the peoples life and work, people have gradually leave the computer, along with the rapid development of computer, software testing has become the computer software industry development the top priority.Now computer software reaches deep into the society at all levels, has penetrated into all walks of life. Now all professional needs to have computer skills, and some companies require employees master certain software applications (Excel, Powerpoint, etc.), with the rapid development of computer technology, computer has become the another productivity, other than the human will into the information society, social development promoted the development of human society.Software Bug tracking system is mainly written in JSP on Myeclipse. With SQLServer2000 as background data management, this paper mainly introduces how to use JSP and framework to develop the software design method of a Bug tracking system. Software Bug tracking system mainly realize the login page information management, user information management, project management, Bug modification project, the user personal information management, and help information. Statistical defect rate, repair rate, incidence of defects reasons to reflect where programmers ability still lack, so as to guide on what aspects of the training work, improve the whole team of software development capabilities.Keywords: software; Bug; Management system; The computer; The JSP目 录1.绪论41.1 系统及需求分析41.1.1 系统需求41.1.2可行性分析51.2系统功能简介51.2.1添加权限管理模块61.2.2软件信息管理模块61.2.3用户信息管理模块61.2.4统计模块61.3系统开发的目标62. 系统分析62.1 JSP运行环境72.1.1 相关软件介绍72.1.2 JSP环境的配置方案72.2 业务流程分析93系统设计143.1 简要分析143.1.1系统架构143.1.2软件结构设计1632数据库设计173.2.1 sqlserver2000数据库简介173.2.2主要表的物理结构174.系统的实现1841系统登陆界面1842系统主界面1943用户管理模块2044软件管理模块2045bug信息管理模块2046信息查询模块205、程序调试215.1 程序调试分析215.2 程序的测试215.2.1 测试的重要性及目的215.2.2 系统测试235.2.3 测试的主要内容23总 结25致 谢27参考文献28附 录291.绪论随着时代的发展,信息的作用和能力大幅度提高,传递速度也加快,软件规模急剧增大,软件设计的复杂程度不断提高,项目团队的日益扩大及人工管理的不足,迫切地需要有相应的辅助工具来支持,以提高开发的效率和改善软件的质量。因此,软件Bug管理系统应运而生,它的主要作用就是为了提高软件产品的可靠程度和质量,让软件在运行过程中不出现不可拯救的Error,在软件测试过程中,软件Bug追踪系统起了很重要的作用,为软件开发部门提供了一个管理软件Bug的应用管理工具。本文主要叙述了该软件的功能介绍和实现,它主要能够实现登录首页管理、项目信息管理、用户信息管理、修改项目BUG、用户个人信息管理、统计缺陷率、修复率、系统公告等。本设计主要是为了软件测试过程中软件bug管理方便而设计的,主要是为了提高软件开发过程中测试和修改软件错误的管理效率。它包括了系统可行性研究,系统模块设计,模块的具体流程设计,一些需要进一步讨论或者研究的问题,需要的资料与硬件,数据表的定义等。1.1 系统及需求分析 1.1.1 系统需求目前,随着要开发的软件规模越来越大,软件质量受到极大的关注。大多数中型软件公司的开发过程都遵循CMM标准,来保证软件过程的质量。但紧紧通过保证软件过程的质量来保证最终产品的质量,这还是不够的。为了保证所提交的软件产品能够满足客户的需求,以及在使用中的可靠性,就必须对所开发的软件产品进行系统而全面的测试。遵循CMM标准开发的测试过程CASE测试过程中缺陷管理工具不少,但是对缺陷的状态跟踪和缺陷处理流程支持力度还不够强大,并且分布异地测试支持,统计分析功能以及与具体企业开发流程相结合的bug处理流程都相对欠缺。在大规模的软件测试过程中,测试进度状态以及缺陷的处理规范程度都成为首要问题。基于此需求,本课题通过对软件开发过程中软件测试过程进行研究,分析设计一个中小规模软件测试过程bug管理工具,来帮助测试人员,程序员和项目管理人员跟踪当前缺陷处理状态,对缺陷的处理过程进行规范化,以及相应的统计分析功能,分布异地测试支持。统计缺陷率,修复率,缺陷原因发生率来反映程序员在哪方面的能力还欠缺,从而指导进行哪些方面的培训工作,进一步提高整个项目组的软件开发能力。1.1.2可行性分析由于本系统管理的对象单一,都是软件测试过程bug管理人员,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。且各软件测试过程bug管理部门用于管理的微机都是酷睿以上的机器,在存储量、速度方面都能满足数据库运行的要求。在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现。软件测试过程bug管理中总是面对大量的信息如用户个人信息,软件信息等。因此需要信息进行及时管理,及时了解各个环节中信息的变更,力求提高管理效率。本系统力求使系统功能简洁明了,但功能齐全且易于操作。系统具有效率高、成本低、质量高、功能强等特点,建立一个软件测试过程bug管理系统的数据库比较容易,经济费用开支不大。1.2系统功能简介本系统的主要任务是设计开发一个基于J2EE平台的软件Bug管理系统。其主要内容包括:掌握基于WEB开发所需的各项技术,包括HTML、动态网站编程技术JSP、数据库SQLSERVER2000知识、struts等。主要实现企业软件bug管理信息的增加、删除、修改等操作,以及相应的统计分析功能,分布异地测试支持。统计缺陷率,修复率,缺陷原因发生率来反映程序员在哪方面的能力还欠缺,从而指导进行哪些方面的培训工作,进一步提高整个项目组的软件开发能力。界面力求美观漂亮,操作友好、稳定。系统建设目标的技术可行性开发语言:JSP Java 系统软件:Windows 7数据库: SQLSever 2000从整个系统的功能上看,系统主要是实现了软件数据对存在数据库进行添加、删除、查找、编辑等,系统实现的很简单,所以系统不会存在很大的数据应用问题。从系统的管理角度,系统分为了三个角色分别是管理员(admin),开发人员和测试人员,管理员可以进行公告发布、人员管理、软件开发分配和bug处理信息的查询。开发人员可以进行软件Bug的更改和信息管理,测试人员进行软件Bug提交和信息更改。1.2.1系统用户管理模块系统用户管理模块主要是用户的添加、删除、设置用户的状态(用户权限)和管理密码修改。1.2.2系统公告管理模块系统公告管理模块的主要功能是实现公告的发布、修改、删除等操作。1.2.3软件信息管理模块软件信息管理模块的主要功能: 信息管理发布软件信息查询软件信息1.2.4用户信息管理模块用户信息管理模块的主要功能是实现对注册用户信息的管理工作1.2.5Bug信息管理模块主要实现了Bug信息管理和修复统计1.3系统开发的目标主要目标是为了缩减在软件开发中浪费的时间,调高开发软件的效率,方便软件公司对软件的错误查看以及开发人员更改错误代码。2. 系统分析本系统采用Jsp、Java技术开发,数据库采用微软公司的sqlserver2000,搭配了Struts1.0框架。2.1 JSP和JAVA运行环境2.1.1 相关软件介绍JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 2.1.2 JSP环境的配置方案 在做本系统时,本人使用的是J2SDK +Tomcat的配置, 因为对于初学者,这是一个比较容易实现的方案。具体步骤如下:1安装J2SDK第一步:执行j2sdk-1_4_2_03-windows-i586-p.exe,按照向导安装到想要安装的目录,如D:J2SDK1.4.2。第二步: 设定J2SDK 1.4.2_03从【开始】【设置】【控制面板】【系统】【高级】【环境变量】【系统变量】,然后到【新建】。JAVA_HOME = C:j2sdk1.4.2_03PATH = %JAVA_HOME%binCLASSPATH = C:j2sdk1.4.2_03libtools.jar;C:j2sdk1.4.2_03libdt.jar;注意1. CLASSPATH 的设定中,分号(;)用来分开两路径,切勿任意空格;2. CLASSPATH 的设定中,分号的最后还有一个点“.”。补充不论Windows 2000 或Windows XP 皆可依上述方法设定。第三步:测试J2SDK。撰写一个HelloWorld.java 程序,放置在C:HelloWorld.java 中。HelloWorld.javapublic class HelloWorld public static void main(String args) System.out.println(Hello World);打开命令提示符,在D: 下输入javac HelloWorld.java,然后再输入java HelloWorld,执行HelloWorld 程序,假若顺利成功,则会显示“Hello World”。成功安装J2SDK 1.4.2_03 之后,紧接下来安装Tomcat 5.0.16。2 安装Tomcat 5.0.16本网站使用的Tomcat 版本为5.0.16,它是由JavaSoft 和Apache 开发团队共同提出合作计划( Apache Jakarta Project )下的产品。Tomcat 能支持Servlet 2.4 和JSP 2.0 并且是免费使用。第一步:执行jakarta-tomcat-5.0.16.exe,按照向导将Tomcat装到想要安装的目录,如:D:Tomcat5.0。第二步:配置Tomcat的环境变量,仍然是在系统环境变量中设置Tomcat_Home= D:Tomcat5.0Classpath= D:TomcatwebappsROOTWEB-INFclasses 第五步:测试Tomcat。打开浏览器,如IE,输入http:/localhost:8080,假若Tomcat安装成功,则会看到Tomcat的欢迎界面。2.2 业务流程分析实体间关系E-R图如下:管 理 员用 户软件信息管理员实体图:管 理 员管理员ID管理员名称登陆密码身 份软件实体图:软件ID软件名称软件版本开发人员用户信息实体图:用 户 信 息密码姓名年龄地址电子邮箱电话ID用户名功能模块图如下:软 件bug管理管 理 员 用 户 信 息修改信息删除信息查询信息查看信息添加信息查看信息修改数据:管理员对软件信息进行修改删除数据:管理员对某些软件信息进行删除查看信息:管理员查看软件的基本情况添加数据:管理员在数据库中添加软件的信息查看信息:查看自己或者其他用户的信息查询信息:根据具体情况查询所需要的信息3系统设计3.1 简要分析3.1.1系统架构本系统采用B/S(Browser/Server)结构,前台部分采用SUN公司的JSP结合Java程序设计语言,应用Eclipse作为开发工具,后台数据库服务器选用Sqlserver2000数据库。数据访问方式使用JDBC接口访问数据库。 1. B/S简介B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起发展起来的软件结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓的B/S结构。2. B/S结构B/S结构:(Browser/Server,浏览器/服务器模式):是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。3. B/S结构使用客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Sqlserver2000、Sybase、Informix或 mysql等数据库。浏览器通过Web Server 同数据库进行数据交互。 B/S结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增加了交互性,能进行局部实时刷新。4. B/S结构的优点B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。5. B/S架构软件的优势与劣势维护和升级方式简单。目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。成本降低,选择更多。大家都知道Windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上Windows并不是处于绝对的统治地位。 现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用Windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。比如说很多人每天上“新浪”网,只要安装了浏览器就可以了,并不需要了解“新浪”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用Windows操作系统,但用户的电脑本身安装的大部分是Windows操作系统。应用服务器运行数据负荷较重。由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。系统框架视图如下图3-1所示。Web页面数据存储数据读取物理数据库V层数据库服务器Servlet请求解析Java操作类C层M层Web服务器浏览器提交用户请求返回信息图3-1 系统框架图3.1.2软件结构设计本系统在执行时,先根据不同的操作人员的需要来进行相应的模块,然后可以输入数据或者进行其它的查询或浏览等操作;总体来说,本系统属于一个事务型管理系统。系统功能图通过对系统的调研与分析,系统主要应完成的功能有:软件信息管理、用户信息管理、系统信息管理、数据信息查询打印等功能。系统功能如图3-2所示。软 件 管 理 系 统管 理 员 用 户 信 息修改信息删除信息查询信息查看信息添加信息查看信息图3-2 系统功能图32数据库设计3.2.1 sqlserver2000数据库简介数据库采用了Microsoft推出的SQLSever 2000数据库,这是微软的一个桌面数据库,能够快速方便的和Microsoft的其他套件综合使用。由于SQLSever 2000具有显著的简易性和有效性,大量的桌面数据库系统都采用SQLSever 2000作为后台数据库。使用SQLSever 2000的好处还在于,如果你的系统扩展到Client/Server模式的时候,可以使用Microsoft的数据库服务器软件ODBC,此时,程序只需要简单的修改一下链接(ODBC的数据源)就可以,这样,为程序的平滑扩展提供了非常有力的条件。3.2.2主要表的物理结构管理员表:ID 登陆名 登陆密码 表:软件详细信息表用户信息表:4.系统的实现41系统登陆界面本界面的主要功能是为了对系统进行安全性管理,本系统的用户名和密码保存在admin表中,本系统根据不同的用户而设置了不同的权限,可以用用户名和密码来登陆本系统。42系统主界面本模块是本系统的应用界面,在本界面上集成了本系统的所有功能,共有8个功能菜单,从而实现了本系统从软件管理、用户管理、系统管理、查询、信息统计等系统的具体功能,同时,在系统管理模块中可以完成对本系统的安全性管理。43用户管理模块本模块是本系统的用户信息模块,实现对系统用户信息的增加、删除、修改、查询功能。44软件管理模块本模块实现软件信息管理,包括增加软件信息管,修改软件信息管,删除软件信息管等操作功能。45bug信息管理模块实现软件bug信息管理功能46信息查询模块综合查询各类信息。可以模糊查询。5、程序调试5.1 程序调试分析在设计系统的过程中,存在一些错误是必然的。对于语句的语法错误,在程序运行时自动提示,并请求立即纠正,因此,这类错误比较容易发现和纠正。但另一类错误是在程序执行时由于不正确的操作或对某些数据的计算公式的逻辑错误导致的错误结果。这类错误隐蔽性强,有时会出现,有时又不出现,因此,对这一类动态发生的错误的排查是耗时费力的。5.2 程序的测试5.2.1 测试的重要性及目的1. 测试的重要性1.1软件质量引发的悲剧1982年,软件BUG导致横跨西伯利亚的输气管爆炸,是最大的一次非核子爆炸。1985年至1987年,放射线治疗仪Therac-25的操作系统BUG,导致至少5位病人丧命,1990年1月15日,AT&T#4ESS长途电话交换器的软件bug。使纽约6万人在9个小时内,无法拨通长途电话。1996年6月4日,Ariane 5火箭的飞行计算机中的软件BUG。使其升空40秒后爆炸。2000年11月,巴拿马国家癌症中心的放射线医疗仪的软件出现BUG,导致8位病人因此死亡,医生被控谋杀。1.2软件测试的重要性在软件业较发达的国家。软件测试不仅成为软件开发的一个有机组成部分,而且在软件开发的系统工程中占据着相当大的比重。以美国的软件开发和生产的平均资金投入为例,通常是:“需求分析”和“规划确定”各占百分之三,“设计”占百分之五,设计占百分之五,编程占百分之七,测试占百分之十五,投产和维护占百分之六七十。测试在。软件开发中的地位不言而喻。软件测试对于整个开发软件过程是相当重要的,因为如果一个软件不过关可能会导致很验证的后果。所以软件测试一般分为以下几个步骤:(1) 测试需求分析阶段(2) 测试计划阶段(3) 测试方案设计阶段(4) 测试用例实现阶段(5) 测试执行阶段(6) 评估与关闭阶段2.测试的目的 基于不同的立场,存在着两种完全不同的测试目的。从用户的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可以接受该产品。而从软件开发者的角度出发,则希望测试成为表明软件产品中不存在错误的过程,验证该软件已正确地实现了用户的要求,确立人们对软件质量的信心。因此,他们会选择那些导致程序失效概率小的测试用例,回避那些易于暴露程序错误的测试用例。同时,也不会着意去检测、排除程序中可能包含的副作用。显然,这样的测试对完善和提高软件质量毫无价值。因为在程序中往往存在着许多预料不到的问题,可能会被疏漏,许多隐藏的错误只有在特定的环境下才可能暴露出来。如果不把着眼点放在尽可能查找错误这样一个基础上,这些隐藏的错误和缺陷就查不出来,会遗留到运行阶段中去。如果站在用户的角度,替他们设想,就应当把测试活动的目标对准揭露程序中存在的错误。在选取测试用例时,考虑那些易于发现程序错误的数据。所以测试的目标是想以最少的时间和人力找出软件中潜在的各种错误和缺陷。如果成功地实施了测试,就能够发现软件中的错误。测试的附带收获是,它能够证明软件的功能和性能与需求说明相符。此外,实施测试收集到的测试结果数据为可靠性分析提供了依据。5.2.2 测试的类型软件测试是一项复杂的系统工程,从不同的角度考虑可以有不同的划分方法,对测试进行分类是为了更好的明确测试的过程,了解测试究竟要完成哪些工作,尽量做到全面测试。1,按是否需要执行被测软件的角度 按是否需要执行被测软件的角度,可分为静态测试和动态测试,前者不利用计算机运行待测程序而应用其他手段实现测试目的,如代码审核。(我认为主要是让测试人员对编译器发现不了的潜在错误进行分析,如无效的死循环,多余的变量等),而动态测试则通过运行被测试软件来达到目的。2、按阶段划分: 1 单元测试 单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性。因为单元测试需要知道内部程序设计和编码的细节知识,一般应由程序员而非测试员来完成,往往需要开发测试驱动模块和桩模块来辅助完成单元测试。因此应用系统有一个设计很好的体系结构就显得尤为重要。一个软件单元的正确性是相对于该单元的规约而言的。因此,单元测试以被测试单位的规约为基准。单元测试的主要方法有控制流测试、数据流测试、排错测试、分域测试等等。 2 集成测试 集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。它根据集成测试计划,一边将模块或其他软件单位组合成越来越大的系统,一边运行该系统,以分析所组成的系统是否正确,各组成部分是否合拍。集成测试的策略主要有自顶向下和自底向上两种。 3 系统测试系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确并非一项简单的任务,它被称为测试的“先知者问题”。因此,系统测试应该按照测试计划进行,其输入、输出和其他动态运行行为应该与软件规约进行对比。软件系统测试方法很多,主要有功能测试、性能测试、随机测试等等。 4 验收测试 验收测试旨在向软件的购买者展示该软件系统满足其用户的需求。它的测试数据通常是系统测试的测试数据的子集。所不同的是,验收测试常常有软件系统的购买者代表在现场,甚至是在软件安装使用的现场。这是软件在投入使用之前的最后测试。 5 回归测试 回归测试是在软件维护阶段,对软件进行修改之后进行的测试。其目的是检验对软件进行的修改是否正确。这里,修改的正确性有两重含义:一是所作的修改达到了预定目的,如错误得到改正,能够适应新的运行环境等等;二是不影响软件的其他功能的正确性。 6 Alpha 测试:在系统开发接近完成时对应用系统的测试;测试后,仍然会有少量的设计变更。这种测试一般由最终用户或其他人员员完成,不能由程序员或测试员完成。 7 Beta 测试:当开发和测试根本完成时所做的测试,而最终的错误和问题需要在最终发行前找到。这种测试一般由最终用户或其他人员员完成,不能由程序员或测试员完成。3、按测试方法划分: 1 白盒测试 白盒测试也称结构测试或逻辑驱动测试,是指基于一个应用代码的内部逻辑知识,即基于覆盖全部代码、分支、路径、条件的测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。 白盒测试可以借助一些工具来完成如Junit Framework,Jtest等。2 黑盒测试黑盒测试是指不基于内部设计和代码的任何知识,而基于需求和功能性的测试,黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。黑盒测试方法主要有等价类划分、边值分析、因果图、错误推测等,主要用于软件确认测试。 黑盒测试也可以借助一些工具,如WinRunner,QuickTestPro,Rational Robot等。3 ALAC(Act-like-a-customer)测试ALAC测试是一种基于客户使用产品的知识开发出来的测试方法。ALAC测试是基于复杂的软件产品有许多错误的原则。最大的受益者是用户,缺陷查找和改正将针对哪些客户最容易遇到的错误。5.2.3 测试的主要内容为了保证测试的质量,将测试过程分成几个阶段,即:代码审查、单元测试、集成测试、确认测试和系统测试。 (1)单元测试 单元测试集中在检查软件设计的最小单位模块上,通过测试发现实现该模块的实际功能与定义该模块的功能说明不符合的情况,以及编码的错误。 身份认证时候要保证在以下输入情况时候系统能够健康运行:(1)输入用户ID时候键入非法字符,如:#¥%等(2)在操作员编码框输入非数字字符,如abc,!#¥(3)输入的用户ID,或者操作员编码不存在。(4)输入的用户ID,或者操作员编码与密码不相符合。(5)输入的用户ID,操作员编码不能登陆本模块。(6)输入的信息超过规定字符长度(7)输入的信息有一项为空。查询信息时候(1)查询条件键入时有非法字符,如:$%等。(2)输入不存在的查询条件。(3)输入查询条件超过规定字符长度。(4)输入查询条件一项为空。(2)集成测试 集成测试是将模块按照设计要求组装起来同时进行测试,主要目标是发现与接口有关的问题。如一个模块与另一个模块可能有由于疏忽的问题而造成有害影响;把子功能组合起来可能不产生预期的主功能;个别看起来是可以接受的误差可能积累到不能接受的程度;全程数据结构可能有错误等。 (3)确认测试 确认测试的目的是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是确认测试的任务,即软件的功能和性能如同用户所合理期待的那样。 (4)系统测试 软件开发完成以后,最终还要与系统中其他部分配套运行,进行系统测试。包括恢复测试、安全测试、强度测试和性能测试等。 单独对系统的测试主要从以下几方面入手:(1)功能测试:测试是否满足开发要求,是否提供设计所描述的功能,是以正式的软件说明书为测试标准。(2) 强度测试及性能测试:测试系统能力最高实际限度,即软件在一些超负荷情况下功能实现的情况。(3) 安全测试:验证安装在系统内的保护机构确实能够对系统进行保护,使之不受各种非常的干扰。针对本系统主要是对权限系统的测试和对无效数据、错数据、和非法数据干扰的能力的测试。经过上述的测试过程对软件测试过程bug管理系统进行测试后,系统基本满足开发的要求,测试宣告结束。结束语在开发软件Bug追踪系统的时候,由于自己的知识的不足,在开发过程中遇到了许多的问题。在JDBC访问数据库SQLServer2000的时候遇到了一个问题,用户不能访问数据库,这个问题困扰了我一天的时间,通过老师和同学的帮助终于解决了,还有就是在开发的时候一些基础知识没有掌握的很牢固,造成了一些接口不能实现,但是最后经过自己的努力和查询文档终于将整个项目做完了,虽然有些功能实现的不是很完美,但是也算是成功了。在软件Bug追踪系统中存在一些不足的地方,页面不是很美观,看了好多网站上的图片制作的很漂亮自己因为时间的问题没有进行太多的优化,但是功能上面实现的还是很好的。访问主页的时候会有三个超链接分别指向不同的界面(主页界面、用户登录、管理员登录),我觉得这个软件可以帮助到公司提高公司的办事效率,让开发人员、测试人员和管理者可以通过这个平台进行一个很好的互动,而不是通过人人接触的去解决问题,省掉了很多的时间。我也通过软件Bug追踪系统学会了很多知识,也巩固了我对java知识的了解,特别是对业务逻辑和数据访问的理解。在这次的毕业设计开发中,我学到了许多东西:1. 我主要是用JAVA和JSP写的程序,使我对JAVA有了更深层次的了解,对java的应用更熟练了,对程序之间的关系理解的更透彻了,特别是对JAVA的分层开发有了更深的理解,可以帮助我更快的适应开发的工作。2. 通过毕业设计的设计思想,我对在学校里学的知识有了更好的应用,原来认为学校学的东西没什么价值,现在我认为太有用了,通过设计阶段我对数据流程图有了更高的了解,在设计前需要做的就是实体之间的关系。3. 通过实际的动手操作,对jsp的可视化有了很好的应用,可以自己设计出来的界面感觉真的很好,虽然不是很美观但是应用起来没什么阻碍。4. 在设计数据库的时候全是靠自己代码的实体集一个一个的建表建字段,通过这个过程我对的应用更熟练了,增删改查,数据导入,表删除等。5. 在程序运行中我学到了该如何去查找错误,出现了错误该怎么解决。怎么样去尽量减少错误的出现。6. 对于程序中的异常处理有了更深层次的了解,学会了怎么去查找异常和怎么去解决异常的出现(try.catch(),throw,throws)。致 谢在我的毕业设计过程中,遇到了很多困难,如果没有老师和同学的帮助,我要花费更多的时间,所以我特别的感谢指导老师和同学的大力帮助。非常感谢我的知道老师于老师,他甚至为我修改程序到夜里两点多,而且错误修改好了还短信通知了我,真的非常感谢。同时也很感谢我的老师包老师他主要负责我的论文模块,刚开始的时候对于论文的格式要求理解不是很清晰,他总是细心的指导,并给我们找相应的帮助文档让我们参考,外文翻译的时候他一字一句的帮我审查真的为我们煞费苦心,我想说一句老师您辛苦了。另外我要感谢的就是我的同学,有些问题他们总是帮我查看,他们自己也要写毕业设计但是每当我问问题的时候他们总会不留余力的帮我解决,然后再去弄自己的问题,感谢你们。还有我要感谢的就是我的母校南京理工大学紫金学院,母校为我们提供了丰富的学习资源,为我们提供了良好的学习环境。母校丰富的藏书和网上论文给了我很大的帮助,为我书写论文和编写程序提供了丰富的资源,在学校里我学到了好多,是母校教我的,我会在以后的工作中好好的运用我学的知识为母校争光。时间过得真的很快,我来南京理工大学已经两年了,在这两年里我学了很多,也结交了好多朋友,现在学校的风景已经给我留下了深刻的印象,美丽的图书馆,长长的梧桐树道,拥有美味的食堂,母校给我太多太多,最为21世纪的大学生,我会努力的适应社会的发展要求,做一个有创新的新型人才。 参考文献1 孙卫琴. Tomcat与Java Web开发技术详解(第2版). 北京:电子工业出版社,2010.2 陈刚. Eclipse从入门到精通. 北京:清华大学出版社,2005.3 孙卫琴. 基于MVC的JavaWeb设计与开发. 北京:电子工业出版社,2004.4飞思科技产品研发中心.JSP应用开发详解.电子工业出版社,2003年9月:32-3005耿祥义,张跃平.JSP实用教程. 清华大学出版社,2003年5月1日:1-3546林信良.Java学习笔记M.北京:清华大学出版社,2012.7赵俊峰.Java Web应用开发案例教程M.北京:清华大学出版社,2012.8李宁.Java Web开发技术大全M.北京:清华大学出版社,2009.9彭一明,张丽伟,刘子乾.挑战JSP&Servlet Web2.0应用开发J.北京:机械工业出版社,2008.10常建功,王向华.搞定J2EE核心技术与企业应用M.北京:电子工业出版社,2012.11孙涌.现代软件工程.北京希望电子出版社,2003年8月:1-246 12萨师煊,王珊.数据库系统概论.高等教育出版社,2002年2月:346013Brown等.JSP编程指南(第二版). 电子工业出版社 ,2003年3月:1-268 14清宏计算机工作室.JSP编程技巧. 机械工业出版社, 2004年5月:1-410 15朱红,司光亚.JSP Web编程指南.电子工业出版社, 2001年9月:34-307 11赛奎春.JSP工程应用与项目实践. 机械工业出版社, 2002年8月:23-294 附 录部分源代码:package com.bean;import java.SQLSever 2000.ResultSet;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Calendar;import java.util.List;import com.util.Constant;import com.util.DBO;public class CaiWu private List list;private ResultSet rs;private String date=new SimpleDateFormat(yyyy-MM-dd HH:mm:ss).format(Calendar.getInstance().getTime();/增加分类public int addFenLei(String fenlei)String SQLSever 2000 = insert into classname (flmc,addtime) values(+fenlei+,+date+);DBO dbo = new DBO();dbo.open();tryint i = dbo.executeUpdate(SQLSever 2000);if(i = 1)return Constant.SUCCESS;elsereturn Constant.SYSTEM_ERROR;catch(Exception e)e.printStackTrace();return Constant.SYSTEM_ERROR;finallydbo.close();/ 修改分类public int upFenLei(int id,String fenlei)String SQLSever

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论