




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.1报表辅助系统的开发摘要现在报表的运用日益广泛,企业对报表的需求也逐日增长,能否快速开发出准确的报表并方便客户的查看也成了大家关心的问题。本课题研究的是报表开发过程中方便数据导入导出及报表查看的系统,采用的工具为MyEclipse8.5+Tomcat6.0+Firefo*。系统分为两局部,一局部完成数据管理功能,采用的技术为JSP+Servelet+Jdbc,另一局部完成报表的管理功能。采用的技术为E*tjs+SSI框架技术。在IE9,火狐以及谷歌上都可以正常运行,运行后会先进入一个主界面,从主界面可以进入到相应的功能模块进展报表的上传,管理以及查看,也可以对数据库里面的数据进展导入导出管理
2、。关键字:报表,Birt,报表管理,数据管理AbstractNow the use ofreportincreasingly widespread, the enterprise demand for report is growing day by day, and developing accurate reportingquickly and convenient for customer to view also became a concern proble for many developer.This topic research is convenient in the pro
3、cess of report development of import and e*port data and report to check the system, using tools for MyEclipse8.5 + Tomcat6.0 + Firefo*.System is divided into two parts, part of the plete data management function, using the technology of JSP + Servelet + Jdbc, another part of the plete report manage
4、ment functions.Using the technology ofE*tjs+SSI.In Internet e*plorer, firefo* and Google can run normally, after the operation will be into a main interface, can enter from the main interface to the corresponding function module to upload report management and view, also can undertake import and e*p
5、ort of the inside of the database data management.Keywords: Report, Birt ,Report Manage,Data Manage目录摘要 Abstract1引言1.1课题背景意义 11.2报表介绍 11.3国外现状分析 22系统分析 2.1可行性分析 32.2需求分析 33概要设计 44数据库设计 55详细设计及系统实现 5.1架构搭建 65.2命名规则 95.3模块设计 96系统测试6.1软件测试根底理论176.2软件测试目的176.3软件测试方法分类176.4报表辅助系统测试196.5测试报告216.6软件安装227 总
6、结 23致 24参考文献 251 引言1.1课题背景意义报表是信息管理,决策支持等系统必不可少的一项最根本但又最重要的容。因为管理和使用信息,不仅仅是为了浏览和查询,还有更重要的容:通过这些信息来提取和反映出更重要的容,报表以特定的格式向用户反映高度浓缩的数据,使用户能够更清晰的看出繁杂的容中更深刻更有价值的东西,为其决策提供支持。而这些有价值的信息的载体就是报表。随着信息技术的广泛应用,电子政务、电子商务得到迅猛开展,数据的采集、传输、展示、交互、平安等问题显得越来越重要。报表作为一种信息组织和分析的有力手段,是电子政务、商务智能、企业信息系统的重要组成局部,是进展信息浏览、分析、输出的有利
7、工具。随着Internet技术的推广和企业信息化程度的提高,越来越多的报表应用将在Web环境下开发和运行。而报表最大的用途就是直观的展示数据,所以充足的数据是报表开发的前提,而报表辅助系统就是方便报表的开发及查看而设计的系统。它主要分为两局部,其中一局部用于开发人员导入测试数据,另一局部用于客户查看报表。1.2报表介绍在用计算机管理和处理信息之前,人们都是利用手工的方式来得到想要的数据和结果。当计算机出现之后,人们利用计算机处理数据和界面设计的功能来生成、展示报表。计算机上的报表的主要特点是数据动态化,格式多样化,可以说,具有了上面公式中报表的特征,就可以称之为报表。从报表的格式和样式来说,报
8、表可以分为固定格式报表和可变格式报表。所谓固定格式报表就是它的样式,字体甚至每一个符号的位置必须是严格规定,不可改变的。比方则务报表、专用票据等等就是这类报表。而另外一类更注重数据的容和结果的报表,在决策支持系统中,这种报表就更常见,因为能够快速提供准确的统计数据比样式更加重要。从报表的实现方式来分,可分为设计时报表和运行时报表,也就是通常所说的静态报表和动态报表。静态报表就是在程序设计阶段就将报表所要表现的数据通过程序编码来完成,将报表表现样式设定好。这种报表功能强大,也可以完成几乎所有可能想到的报表样式。缺点是数据的动态性和可控制性弱。而后者往往数据和报表样式都可以在程序运行之后进展操作和
9、改变。当然,它的表现样式就很难到达静态设计时能完成的那样完美。从报表的设计思想和根本的报表模型看,报表可以分为基于分带的报表和基于表格的报表。尽管表格千变万化,但只要仔细探究便会发现表格组成的一些有规律性的东西,这是人们在长期表格设计中所形成的经历,这是一种专门的知识,人们称为表格设计知识。通过对报表的分析可以对报表进展抽象,通常可以将报表抽象分解成为标题、表头、表体、表尾等几局部。标题和报表头主要用于标明报表容信息、或者打印日期等附加信息的处理。表体就是报表的主体局部,也是报表的核心局部,通常是报表用户最关心的数据所在,本局部一般包括数据字段名称,数据主体,小计等等的处理。报表尾一般就是报表
10、日期,报表总计,打印日期等附加信息。基于这种设计模型的就是带状报表。1.3 国外现状分析由于报表系统在信息系统中的根底性地位,报表统计的应用非常广泛。报表工具软件也引起了国外一些软件公司的关注和重视。近年来,随着软件开发技术的日新月异,报表技术也不断成熟和完善,目前已经出现了一些优秀的颇具特色的报表工具软件。以下就从国外和国两个方面扼要介绍一下报表系统的研究现状和进展。目前国报表工具软件以用友华表公司的Cell软件为代表,其核采用了类似微软的E*cel的技术。另外,还有一些比较优秀的报表软件如:明宇科技的如意报表(Ming-Web Report)它是基于J2EE,*ML及.NET等国际主流软件
11、技术开发的,提供了较强的可视化报表设计器,可以实现多种复杂报表,它可运行于Windows,Uni*,Linu*等多种操作系统上,具备跨平台特性等特点。另外还有润乾报表,其技术核心是他们独创的非线性报表模型,在国有一定的影响力。目前国外的商业化报表产品主要有Crystal Report和Active Report等,其中又以Crystal Report为代表。水晶报表由总部位于美国加州的帕罗奥多的Crystal Decisions公司开发。此公司的主要业务有:报告、分析、信息传递技术和效劳等。水晶报表根本上可以认为是高效能报表系统的行业标准,微软在其.NET开发平台上捆绑的便是水晶报表。在开源报
12、表产品中比较有名的主要有BIRT和Jasper Report,Jasper Report的优点就是使用简单,输出方式多样,这样在实现客户的需要的时候痛苦会少一些, 缺点就是文档是收费的,有些东西就只能是靠自己琢磨和尝试。BIRT工程属于Eclipse工程下的商务智能子工程,开展迅速,是一种柔性的报表解决方案,一方面为根本用户提供了可视化的报表设计器,另一方面为高级用户提供了丰富的集成接口,提高了报表的重用性。2系统分析系统分析的主要活动是对软件的可行性进展评估,对软件的需求进展分析。这是软件开发的起始阶段也是非常重要的阶段。2.1可行性分析可行性研究是在工程开发前期对工程的一种考察和鉴定,对拟
13、议中的工程进展全面的、综合的调查研究,其目的是要判断工程可行与否,用最小的代价,在尽可能短时间确定问题是否能够解决,它的目的不是解决问题,而是确定问题是否值得去解决,可行性从以下三个方面来考虑。本系统主要对数据库进展一些简单的操作,然后对报表进展一些管理,需要用到前端技术有JSP及E*tJs框架技术,后台技术有servelet,SSI框架及数据库连接技术,这些技术在java web开发中都比较常用,相关语法在很多书籍当中都可以搜索到,整体难度不大。所以技术上是可行的。由于系统较小,对电脑配置没有太高要求,并且所需时间也不多,几天就可以完成,所以本钱低廉,根本可以忽略不计。所以经济上是可行的。系
14、统总共分为两局部总共六个界面,逻辑也不太复杂,对可能出现的一些异常我也做了处理,不需要进展学习,就可以直接操作。综上所述,技术上、经济上、操作上都是可行的,并且要求不高所以系统可以进展开发。2.2需求分析由于报表应用是越来越广泛,越来越多的企业需要用报表来进展各种业务分析,而报表开发本身需要的时间不会太长,所以一般企业不会专门招收报表开发人员进展报表开发,而是把报表外包到其它公司进展开发。但由于每个公司的数据十分,他们一般不会把数据泄漏给其它公司,顶多为了报表开发需要把数据库数据表表构造给外包公司的开发人员。而没有数据,又无法完成报表的开发。所以开发人员必须亲自向数据库导入所需数据。直接对数据
15、库进展操作比较麻烦,容易出错,为了一劳永逸,有必要开发一个方便数据导入及修改的系统。开发人员可以使用MyEclipse工具进展报表开发,开发完毕以后也可以使用MyEclipse来查看报表。但客户大局部都不是程序员,他们一般不会用到开发工具,当然我们也不大可能去要求他们为了查看我们开发的报表而专门去安装一个开发工具,我们只能去适应他们的要求,开发一个可以脱离开发工具来查看报表的系统。而报表辅助系统正是为了实现以上两个功能而进展开发的,所以它的开发价值显而易见,它的开发需求也会随着报表应用的推广而不断增加。3概要设计经过系统分析阶段的工作,系统必须“做什么已经清楚了,现在是决定“怎样做的时候。概要
16、设计的根本目的就是答复“从总体上说,系统应该如何实现.这个问题,按照“先逻辑,后物理的原则来设计每个模块的容。有了良好的设计后面的开发才不会走太多的弯路。系统总体流程图如下:图3.1 系统流程图4数据库设计数据库实际上就是一个由大量资料所组成的集合。但是这些资料不是杂乱无章的堆积在一起,而是按照一定的规律和规则存储在计算机中。数据库的优点是很明显的, 它具有构造化的存储方式, 最小的空间冗余,而且在数据库中处理事务的程序与被处理的事务资料是分开存储的,这种独立性能够更好的保持资料的完整性和程序的可扩展性。数据库系统为我们提供了一种把我们的工作和生活严密相关的信息集合在一起的方法,它还提供在*个
17、集中的地方存储和维护这些信息的方法。数据库系统主要由三大局部组成:数据库管理系统(DBMS是专门负责组织和管理资料信息的程序), 数据库应用程序(它使我们能够获取,显示和更新由DBMS存储的资料), 数据库(按一定构造组织在一起的相关资料的集合)。本系统数据管理模块,主要是对数据库中现有的数据表进展操作,所以不需要建立数据表,而报表管理模块需要建立两个数据表分别来存储报表及报表类型的信息,数据表详情如下:4.1报表详情表此表用来记录报表的详细信息,其中birt_type外键关联于类型表的id。表4.1报表详情表字段名称字段类型字段大小主键备注idint16Y报表idbirt_typeint4N
18、报表类型statusint4N活动状态birt_namevarchar64N报表名称file_namevarchar64N文件名称descriptionvarchar256N描述uploadtimevarchar32N上传时间4.2报表类型表因为报表类型可会产生变动所以需要单独建立一表。4.2报表类型表字段名称字段类型字段大小主键备注idint16Y类型idnamevarchar64N类型名称codevarchar16N类型编码descriptionvarchar256N描述5详细设计及系统实现5.1架构搭建本系统采用MVC模式开发,将视图层、模型层及控制层分开,层次清晰方便系统的开发与修改。
19、开发工具使用MyEclipse8.5。因为此系统两个功能模块虽然同为报表效劳,但使用对象不同,为了保证每个功能模块的独立性,我将在4个project完成。先建立一个空的Report Web Project,专门用来显示报表,因为报表所需的插件会自动加载到工程里面。然后再新建Web Project分别用来提供程序入口,完成数据管理功能及报表管理功能。5.1.1数据管理工程JDK采用jre1.6版本,先新建源文件夹config用来存放数据库配置信息,这样数据库信息一旦发生变化,就不需要改动代码,直接改配置文件就行了。再建一个普通包org.study,然后后在此包下新建四个子包:(1)servlet
20、:在里面新建ActionServlet类用来处理前台页面发送过来的请求。(2)dao:里面存放用来处理与数据库操作相关操作的业务逻辑的接口TableDao及实现类TableDaoImpl。(3)service:里面新建接口TableService及实现类TableServiceImpl,用来处理一般的业务请求。之所以把两个处理业务逻辑的类分开是因为数据库类型可能会发生变更,如果发生变更只需要改动TableDaoImpl里面的代码,其它的不需要变动,这样可以减少修改量。(4)util:里面存放一些工具类,如数据库连接的类DBUtil,存放常量的类Constant,E*cel文件操作类HSSFRe
21、adWrite需要引入的js文件为jquery-1.4.3.js,因为本系统需要用到aja*技术需要使用的jar主要有以下几种:(1)json(3)E*cel包:poi-3.8-beta4-20210826.jar、poi-oo*ml-schemas-3.8.jar、poi-oo*ml-3.8-beta5-20211217.jar、e*cel-j*l.jar工程构造如下:图5.1 数据管理工程dbm构造图5.1.2报表管理工程本系统采用MVC模式开发,前台页面用E*tjs框架技术完成,效劳器端采用SSIStruts2+spring+ibatis框架技术完成,数据库采用MySql数据库。1创立包
22、:先新建工程birts,再创立一个父包org.study,然后在里面创立两个子包birt及mon,mon用来存放工具类,birt里面再创立三个子包:a. action:里面创立类BirtAction用来处理发过来的struts2请求。b. service:里面新建接口BirtService以及实现类BirtServiceImpl用来操作数据库。c. model:里面存放实体类如Birt报表类及ObjType(报表类型类)以及ibatis配置文件BirtSQL.*ml用来配置SQL语句。再新建一个源文件夹config,里面存放数据库配置文件perties,spring框架
23、核心配置文件applicationConte*t-base.*ml,ibatis框架核心配置文件SqlMapConfig.*ml以及struts2核心配置文件,再新建一个文件夹birt里面存放与实体类Birt相关的struts2及spring配置文件。2引入jar包:需要使用到的jar包主要有以下几种:a.spring框架包:cglib-nodep-2.1_3.jar、aopalliance.jar、aspectjweaver.jar、aspectjrt.jar、mons-logging.jar、spring.jar、struts2-spring-plugin-2.1.8.jar。b.stru
24、ts2框架包:mons-fileupload-1.2.1.jar、mons-io-1.3.2.jar、freemarker-2.3.15.jar、ognl-2.7.3.jar、struts2-core-2.1.8.jar、*work-core-2.1.6.jar、struts2-json-plugin-2.2.3.jar。c.batis包:ibatis-77.jar。d.Json包:mons-beanutils.jar、mons-collections.jar、mons-lang.jar、mons-logging.jar、ezmorph-1.0.6.jar、json-lib-2.
25、2.3-jdk15.jar。e.MySql数据库驱动包:mysql-connector-java-5.1.8-bin.jar。f.文件上传的包:mons-fileupload-1.2.1.jar、mons-io-1.4.jar。3引入js框架包:e*tjs-4.2.0,这是版本比较新的一种包,使用此包最大好处就是不用设置太多的css样式,js语法也得到简化。工程目录构造如下:图5.2 报表管理工程birts构造图 5.2命名规则1名字不能用保存字和关键字,但如果保存字或关键字中有字母大写就不算保存字或关键字了。 开头字符能用字母、$或者_。 名字中不能用+、-空格等字符。 局部易混的保存字关键
26、字和非保存字关键字: null, native, goto,const,instanceof,default是关键字保存字 then , sizeof , main,Boolean,unsigned,java, Integer不是关键字保存字2常量的名字应该都使用大写字母,并且指出该常量完整含义。如果一个常量名称由多个单词组成,则应该用下划线来分割这些单词。3JSP包的名字都是由小写单词组成。但是由于Java面向对象编程的特性,每一名Java程序员都可以编写属于自己的Java包,为了保障每个Java包命名的唯一性,在最新的Java编程规中,要求程序员在自己定义的包的名称之前加上唯一的前缀。由于
27、互联网上的域名称是不会重复的,所以程序员一般采用自己在互联网上的域名称作为自己程序包的唯一前缀。类的名字必须由大写字母开头而单词中的其他字母均为小写;如果类名称由多个单词组成,则每个单词的首字母均应为大写例如TestPage;如果类名称中包含单词缩写,则这个缩写词的每个字母均应大写,如:*MLE*ample,还有一点命名技巧就是由于类是设计用来代表对象的,所以在命名类时应尽量选择名词。 方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头。5.3模块设计5.3.1主界面该模块功能十分简单,只是为数据管理及报表管理功能提供两个入口,所以实现起来也比较简单,界面如以下图所示:图5
28、.3 主界面对于许多开发人员来说,CSS样式是一大难点,因为会写java代码及js代码的人很多,但要想制作比较绚丽的界面一般需要专业的美工。对于本功能模块前端使用的是JSP技术,样式自然也成了一大难题。当然写CSS样式其实有一种比较简便的方法,就是去抠现有的时,现在js框架很多,我们可以借用JS框架里面的样式,或者我们在浏览时遇到自己想要的样式也可以拿过来使用。你可以在浏览器里面,将鼠标移到*个元素上面,然后右键查看元素,就能够看到该元素的html代码及css样式。如以下图:图5.4 CSS样式的获取对于样式要求不高的系统来说,这可以算是一种比较简便的方法,可以轻轻松松获取大量样式。5.3.2
29、数据管理模块1文件上传界面图5.5 文件上传界面此界面主要有一个上传控件,外加两个按钮,其主要功能就是E*cel文件上传,对于E*cel文件存在一些要求:a.文件里面必须要有数据,而且第一行为标题行,也就是数据字段名称,从第二行起才是要导入的数据。b.文件里面所有数据必须设置为文本格式,因为如果格式过于特殊,其数据受技术限制难以正常获取,为了保证导入数据的准确性,就不要使用特殊格式。c.标题行字段不要出现“+这样的特殊字符,这样在数据传递过程可能出现错误,数据行没有限制,是可以出现特殊字符的。d.中间最好不要出现空行与空列,因为读取数据时遇到空行及空列时就终止了,后面的数据就获取不到了。上传文
30、件以后就可以点击“数据导入按钮,提交文件,并且跳转到数据导入界面进展数据导入。如果没有上传文件就直接点击按钮“数据导入可能会出现问题,所以这里要用js做一步验证,如果没有上传文件就不允许提交并弹窗提示“请上传文件。导出数据是不需要上传文件的,因为它针对的只是数据库里面的数据表。2数据导出图5.6 数据导出界面图5.7 导出的E*cel数据文件这个界面主要功能是将数据库里面的数据导出到E*cel文件里面,左边的表格加载的是数据库里面所有的数据表,选择左边的数据表以后,后台就会根据选择的数据表表名,将该数据表里面的所有字段查询出来,加载到右边的表格里面。然后就可以在右边的表格里面字段后面的选择框勾
31、选字段,将所需字段的数据导出,我还设置了全选按钮,勾选该按钮会将所有的选择框都选中,取消选择也会将所有选择框选择去掉。我把此方法封装成了一个通用方法,可以在多个地方使用。创立模板的功能是将所选择的字段导出到E*cel文件里面,数据不会导出,你可以根据导出的E*cel模板自己填写要插入的数据,然后再导入。而导出数据,不仅能将选择的字段作为标题行导出,还能将对应的数据导出到E*cel表格,这样做的目的是可以将自己认为不适宜的数据进展编辑再重新导入,如图5.5所示,为了使导出的数据看起来更加清晰,在数据写入E*cel文件时,我还设置单元格的边框及背风光等属性,第一行的标题为黄色背景,数据为白色背景,
32、列标题按照英文字母排序。当然如果没有选择字段,是不能进展创立模板以及导出数据操作的。本页面的数据表都来自于现有的数据库,数据库连接信息可以在源文件夹config下面的配置文件perties里面配置。Url是指数据库的效劳器地址,我们不但可以获取本地数据库的信息,也可以获取远程数据库的信息,当数据库发生变更时,修改一下url的值以及user(用户名)、password密码的值就行了,不需要改动程序,操作十分方便。Table_schema是指数据库对象名,同一个数据库会有许多个数据库对象,通过这个属性可以修改数据库对象。driver是指数据库驱动类的位置,本系统只支持MySql数据库,
33、所以驱动类一般不会产生变更。3数据导入图5.8 数据导入界面 该界面的主要功能就是将E*cel表格里面的数据导入到数据库相应数据表中。刚跳转到该界面时,E*cel表格中所有字段加载到左边的表格中,数据库中所有的数据表会加载到右边的表格中,如果点击数据表,该表所有字段会分页显示到右边表格,如果数据量较大,就可以使用搜索及翻页功能,这里的搜索都是模糊搜索。右边的搜索框默认搜素数据库的数据表,当点击数据表以后,右边的搜索将搜索的的数据表里面的字段。因为E*cel文件的字段可以与数据表里面的不同名,所以在导入前必须先匹配字段。匹配时,左右两边的字段个数必须相等,否则就会弹窗提示报错。匹配成功的字段会加
34、载到下面的匹配表中,并且匹配过的字段不会重复在上面的表格里面显示,并且也搜索不到,以免重复匹配。 匹配表里面的选择框是用来选择数据表的主键来决定是更新还是插入,如果没有选择则默认插入,如果选择了主键,则根据该主键对应的数据进展更新。因为制作一报表可能需要各种类型的数据,这样报表的测试才会更加准确,一些隐藏的问题,才能及早发现。而这个,插入及更新操作正好可以产生我们制作报表时所需的各种数据。导入时后台会有异常捕获,如果导入成功就会跳转到文件上传界面,如果导入的数据存在错误,则错误会反响到前台,错误行及错误原因都会显示到错误信息列表中。错误信息表,初始状态下是隐藏的,如果有错误才会显示出来。5.3
35、.3报表管理模块与上一个模块不同,本模块采用的是E*tjs技术,所以风格与上一模块会有较大的差异。使用E*tjs最大的一个好处就是它集成了CSS样式文件,窗口、面板以及文本框都有现成的模板样式,不需要美工进展特别的美化就可以直接进展使用。当然它的缺陷就是加载速度慢,不够灵活。本模块的动态性,没有上一个模块强,所以采用此项技术较为适宜。本功能模块主要功能就是,将已经开发好的报表上传到效劳器中,然后可以直接在浏览器管理报表信息,并查看报表。1报表上传图5.9 报表上传页面此页面功能就是上传birt报表,并且只支持rptdesign格式的报表,因为后面用到的报表引擎是MyEclipse里面的一个插件
36、,所以此处上传的报表最好是在MyEclipse里面开发的报表,否则后面可能出现无常显示的异常。上面四个字段都为必填项,如果有一项没有填写是不允许提交的。报表类型数据来自于数据库中报表类型表,由于报表类型数据一般不会有太大变化,所以我没有专门为报表类型设置一个管理界面,如果此数据表数据产生变化,直接使用上面开发的数据管理系统修改或插入即可。如果数据填写错误,可以点击重置按钮,将填写的所有数据清空,重新填写。点击取消,可以关闭窗口。上传成功以后,会弹窗提示“上传成功,并刷新界面。2报表管理图5.10 报表管理页面此页面功能就是管理报表数据信息,它是一个树状构造的表格,按照类型把不同种类的报表分开显
37、示,这样看起来更加清晰。点击报表名称,就会弹出报表信息编辑框,如果上传报表时报表信息输入错误,还可以在这里进展修改,在初始情况下,输入框默认不可编辑,当点击编辑按钮以后,才能进展编辑。点击报表后面的删除,就可以将报表信息删除。这里是逻辑删除,不是物理删除,删除后报表信息还在数据库,只是活动状态设置为0,列表数据加载时,只查询活动状态为1的数据,为0的是加载不出来的。之所以使用逻辑删除,是因为数据可能会被误删,如果是物理删除,重要的数据一旦被删除,将不可恢复,而逻辑删除,并非真正意义意思上的删除,数据具有恢复性。点击上传报表按钮,可以跳转到报表上传界面。点击查看报表界面,就可以跳转到报表列表界面
38、。3报表列表图5.11 报表查看列表这个界面与管理界面类似,区别在于管理界面用于管理人员修改报表信息,而这个界面用于一般人员查看报表,所以本界面去掉了一些用于报表管理的按钮。点击报表名称或者点击报表名称的单元格,都会触发点击事件,都可以查看到该报表,如以下图所示:图5.12 报表页面上图即是前面上传的birt报表,这个报表就是在MyEclipse里面开发的,它是一柱形图。此页面上的英文都是系统默认的,如果要修改,必须修改运行报表jar包viewservlets.jar,不过改成中文有可能会乱码。运行报表时,执行的jar包比较多,所以运行速度会比较的慢,这也是本系统唯一对效劳器性能有较高要求的地
39、方。运行报表所调用的工程,就是前面所建立的空的Report Web Project。虽然我没有在工程中主动添加文件,但工程创立成功以后,执行报表所需的配置文件、jar包及jsp文件会自动加载进去。报表开发完成以后实际上就是一个rptdesign格式的配置文件,与*ml文件有些类似,开发过程的各种设置会保存到这个配置文件。当报表运行时,会发送请求到报表引擎,然后报表效劳器会读取配置文件容,根据设置,在后台动态合成JSP文件,发送到浏览器进展显示。6系统测试6.1软件测试根底理论6.1.1 软件测试定义软件测试是根据软件开发各阶段的规格说明和程序的部构造而精心设计的一批测试用例,并利用这些测试用例
40、运行程序以及发现错误的过程,即执行测试步骤。软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码实现的最终审查,它是软件质量保证的关键步骤。6.1.2 软件测试根本概念1测试的含义所谓测试,首先是一项活动,在这项活动中*个系统或组成的局部将在特定的条件下运行,结果将被观察和记录,并对系统或组成局部进展评价。测试活动有两种结果:找出缺陷和故障,或显示软件执行正确。测试是一个或多个测试用例的集合。测试用例:所谓测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的结果;测试用例是执行测试的最小实体。2测试的步骤测试步骤详细规定了如何设置、执行、评估特定的测试用例。软件生命周期:一
41、个软件生命周期包括制定方案、需求分析定义、软件设计、程序编码、软件测试、软件运行、软件维护、软件停用等8个阶段。软件测试在软件生命周期中横跨两个阶段:单元测试阶段,即在每个模块编写出以后所做的必要测试;综合测试阶段,即在完成单元测试后进展的测试,如集成测试、系统测试、验收测试。6.2软件测试目的测试是程序的执行过程,目的在于发现错误;不能证明程序的正确性,除非仅处理有限种情况。检查系统是否满足需求也是测试的期望目标。一个好的测试用例在于发现了还未曾发现的错误;一次成功的测试则是发现了错误的测试。只有进展了充足的测试,软件的准确性才能有效提高,用户使用时不会出现太多的问题,这样用户的满意度才能逐
42、步提升。6.3软件测试方法分类软件测试技术按照不同的划分方法,有不同的分类:静态测试、动态测试;黑盒测试、白盒测试;单元测试、集成测试、回归测试、系统测试、验证测试以及确认测试。6.3.1 静态测试与动态测试按照软件测试分析与非分析方法而论,软件测试可以分静态测试和动态测试。1静态测试指不实际运行软件,主要是对软件的编程格式、构造等方面进展评估。静态测试包括:代码检查 、静态构造分析、代码质量度量等。它可以由人工进展,也可以借助软件工具自动进展。2动态测试动态测试方法是指计算机必须真正运行被测试的程序,通过输入测试用例,对其运行情况即输入与输出的对应关系进展分析,以到达检测的目的。动态测试包括
43、:功能确认与接口测试 ,覆盖率分析,性能分析,存分析。6.3.2 黑盒白盒与白盒测试1黑盒测试按照软件测试用例的设计方法而论,软件测试可以分为白盒测试法和黑盒测试法。假设测试规划是基于产品的功能,目的是检查程序各个功能是否能够实现,并检查其中的功能错误,则这种测试方法称为黑盒测试(Black-bo* Testing)方法。 黑盒测试又称为功能测试、数据驱动测试和基于规格说明的测试。它是一种从用户观点出发的测试,一般被用来确认软件功能的正确性和可操作性。黑盒测试主要根据规格说明书设计测试用例,并不涉及程序部构造和部特性,只依靠被测程序输入和输出之间的关系或程序的功能设计测试用例。黑盒测试有两个特
44、点:黑盒测试与软件的具体实现过程无关,在软件实现的过程发生变化时,测试用例仍然可以使用。黑盒测试用例的设计可以和软件实现同时进展,这样能够压缩总的开发时间。2白盒测试白盒测试又称为构造测试、逻辑驱动测试或基于程序的测试,一般用来分析程序的部构造。白盒测试要对*些程序的构造特性做到一定程度的覆盖,或者说这种测试是“基于覆盖率的测试。通常的程序构造覆盖有:语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,路径覆盖。6.3.3 测试类型按照软件测试的策略和过程来分类,软件测试可分为单元测试、集成测试、系统测试、验证测试和确认测试。测试中的错误分类:A类错误:致命错误引起程序异常中断或死机的错误等。B类错
45、误:功能错误业务功能实现错误、程序执行结果错误等。C类错误:功能缺陷功能操作不方便、缺少操作提示等。D类错误:界面缺陷界面设计不符合本系统的界面设计规等。E类错误:测试正确正确的测试项、测试结果与预期的一致等。6.4报表辅助系统测试本系统各局部模块,采黑白盒测试。6.4.1 测试用例设计要求一个好的测试用例,应该包含以下信息: 1软件或工程的名称。2软件或工程的版本部版本号。3功能模块名。4测试用例的简单描述,即该用例执行的目的或方法。5测试用例的参考信息便于跟踪和参考。6本测试用例与其他测试用例间的依赖关系。7本用例的前置条件,即执行本用例必须要满足的条件,如对数据库的权限。8用例的编号ID
46、,如可以是:软件名称简写-功能块简写-NO.。9步骤号、操作步骤描述、测试数据描述。10预期结果这是最重要的和实际结果如果有BUG管理工具,这条可以省略。11开发人员必须有和测试人员可有可无。12测试执行日期。6.4.2 登录系统模块测试用例表6.1 数据管理模块测试用例系统名称报表辅助系统程序版本V1.0功能模块数据管理模块编制人*波功能特性将文件数据导入数据库及将数据库数据导出到文件测试目的验证数据是否能正常导入导出测试页面测试用例期望结果实际结果测试状态inde*.jsp不上传文件直接点击按钮“数据导入弹窗提示“请上传文件弹窗提示“请上传文件正常import.jsp左边输入框输入“d搜索
47、左边表格显示包含“d及“D的字段左边表格显示包含“d及“D的字段正常续表6.1 数据管理模块测试用例import.jsp右边输入框输入“_c搜索右边表格显示包含“_C及“_c的字段右边表格显示包含“_C及“_c的字段正常点击搜索到数据表“d_category右边表格加载该数据表的所有字段,表格标题变为“字段名称右边表格加载该数据表的所有字段,表格标题未变不正常右边输入框输入“es搜索右边表格加载数据表“d_category中包含“es的字段右边表格显示“description正常左边选择三个文件字段,右边选择两个数据表字段弹窗提示“两边字段个数必须相等!弹窗提示“两边字段个数必须相等!正常左右
48、两边都选三个字段点击匹配匹配的字段出现在匹配列表匹配的字段出现在匹配列表正常左右两边都不选择字段,直接点击匹配弹窗提示“请选择要匹配的字段弹窗提示“请选择要匹配的字段正常E*cel文件数据deptno=1001dname=rdLocation=wuhan正常方式导入弹窗提示导入成功跳转到“inde*.jsp界面弹窗提示导入成功跳转到“inde*.jsp界面正常E*cel文件数据deptno=testdname=rdLocation=wuhan正常方式导入错误信息列表提示错误行“1,错误信息“Incorrect integer value: test for column deptno at r
49、ow 1显示错误信息“Incorrect integer value: test for column deptno at row 1正常续表6.1 数据管理模块测试用例import.jspE*cel文件数据deptno=1001dname=rdLocation=wuhan正常方式导入错误信息列表提示错误行“1,错误信息“错误信息列表提示错误行“1,错误信息“Incorrect integer value: test for column deptno at row 1错误信息列表提示错误行“1,错误信息“错误信息列表提示错误行“1,错误信息“Incorrect integer value:
50、test for column deptno at row 1正常e*port.jsp先选择数据表“dept,再选择数据表“emp右边先加载dept的字段再 加载emp的字段右边先加载dept的字段再 加载emp的字段正常不选字段,直接点击“创立模板弹窗提示“请选择字段导出一空的E*cel表格不正常选择字段点击“导出数据成功导出数据,并且标题行为黄色背景,数据行为白色背景成功导出数据,并且标题行为黄色背景,数据行为白色背景正常选择字段点击“导出模板成功导出模板文件,并且第一行标题为黄色背景成功导出模板文件,并且第一行标题为黄色背景正常使用导出的模板文件,重新录入数据,然后重新导入导入成功导入成
51、功正常使用导出的数据文件,直接再重新导入导入成功导入成功正常表6.2 数据管理模块测试用例系统名称报表辅助系统程序版本V1.0功能模块报表管理模块编制人*波功能描述报表的上传,报表信息编辑修改及报表显示测试目的验证数据是否能正常导入导出测试页面测试用例期望结果实际结果测试状态birtUpload.jsp不填数据直接提交所有文本框边框变为红色波浪线所有文本框边框变为红色波浪线正常birtManage.jsp点击删除列表刷新,删除数据消失列表刷新,删除数据消失正常点击报表名称,修改后保存列表刷新,显示修改后的报表信息列表刷新,显示修改后的报表信息正常点击“查看按钮跳转到报表查看列表界面跳转到报表查
52、看列表界面正常点击“上传报表按钮跳转到报表上传界面跳转到报表上传界面正常birtList.jsp点击报表名称显示报表显示报表正常6.5测试报告本系统经过测试,各局部的功能根本正常,到达了预期的目的。通过对系统的全面测试,我学到了许多测试方面的知识,了解到测试方法、测试经历。通过本次设计,使我了解到测试的重要性。通过测试,可以使软件更适合用户的需求,更加稳定、可靠地运行,并能适应市场竞争,应用前景广泛。6.6软件安装由于本系统采用了JSP、MySQL术,因此需要的软件包括有JDK、TOMCAT、MySQL。6.6.1 JDK的安装首先,JDK的安装配置。双击文件,装完之后,设置环境变量。右击“我
53、的电脑 选“属性,选“高级, 选“环境变量,在这个窗口中选最下面的“新建变量名:javapath,变量值:这个是安装的默认路径,点击“确定,创立环境变量。6.6.2 TOMCAT的安装其次,TOMCAT6.0的安装配置。Tomcat解压版以及安装版文件,都可以在官网上下载。建议使用安装版的效劳器。下载以后,双击安装文件,安装过程需要修改用户名及密码,还可以设置端口号。安装完成之后,可以将其引入MyEclipse里面,启动效劳器执行文件。如果已经产生可执行工程,可以将其复制到安装目录的Tomcat 6.0webapps文件夹下。启动效劳器后,可以脱离MyEclipse直接在浏览器上面。6.6.3 MySQL的安装最后,MySQL的安装配置。安装文件可以在网上下载。双击安装文件进展安装,安装过程中,需要更改MySQL系统管理员密码及字符编码。安装完成之后,要在MySQL的企业管理器中添加程序的数据库。到此所有所需的软件都已经安装完毕。启动TOMCAT效劳器以及MySQL效劳器,在启动效劳器时确认没有报错的情况下,就可以进入本系统。翻开IE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年丙烯酸树脂着色透明漆项目可行性研究报告
- 四年级上册数学教案 10 小数除法 青岛版(五四学制) (一)
- 2025至2030年BCT商用无绳电话系统项目可行性研究报告
- 2025年高效旋风式选粉机行业深度研究报告
- 2025年薄荷水行业深度研究报告
- 企业培训师创新教学方法探索
- 企业内部培训资源整合的策略与方法
- 冀教版英语八下Unit 2《Lesson 8 Why Are Plants Important》(单元整体+课时教学设计)
- 会议展览活动的策划与内控管理
- 企业财务分析与报告解读
- 2024至2030年全球及中国Airpods保护套行业深度研究报告
- 钢铁项目环评报告 - 5地表水环境影响分析
- 零售企业数字化转型的规模效应与创新效应
- 2024至2030年中国冷轧钢行业发展运行现状及投资潜力预测报告
- 2024年爆破作业人员培训考核必考题库及答案
- 2024年江苏省无锡市新吴区中考英语一模试题(含答案)
- 2024年浙江省嘉兴市中考三模语文试卷
- 品牌联合声明书
- 信访工作条例应知应会考试题库300题(含答案)
- 工商业分布式光伏屋面勘察要点
- 2022教学能力大赛《智能网联汽车传感器测试与装调》实施报告
评论
0/150
提交评论