白盒测试教学网站建设毕业论文_第1页
白盒测试教学网站建设毕业论文_第2页
白盒测试教学网站建设毕业论文_第3页
白盒测试教学网站建设毕业论文_第4页
白盒测试教学网站建设毕业论文_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、35软件测试教学网站的建设白盒测试- 西 安 邮 电 大 学 毕 业 设 计(论 文)题 目: 软件测试教学网站建设白盒测试 学 院: 计算机学院 专 业: 软件工程 班 级: 软件1104班 学生姓名: 刘欢 导师姓名: 周元哲 职称: 讲师 起止时间: 2014 年 11 月 06 日至2015 年 06 月14 日毕业设计(论文)诚信声明书本人声明:本人所提交的毕业论文 软件测试教学网站的建设白盒测试是本人在指导教师指导下独立研究、写作的成果,论文中所引用他人的文献、数据、图件、资料均已明确标注;对论文的研究有重要贡献的个人和集体,都已在文中以明确方式注明并表示感谢。本人完全意识到本声明

2、的法律后果由本人承担。论文作者: 刘欢 (签字) 时间:2015年05 月24 日指导教师已阅: (签字) 时间: 年 月 日西安邮电大学本科毕业设计(论文) 选题审批表申报人刘欢职称学生学院计算机学院题目名称软件测试教学网站的建设白盒测试题目来源科研教学其它题目类型硬件设计软件设计论文艺术作品题目性质实际应用理论研究题目简述随着软件的规模和复杂性的大幅提升,如何保证软件质量的可靠性变得日益突出。软件质量的保证还是要看软件测试这块,同时测试也是软件开发过程中的一个重要环节,其理论知识和技术都在不断革新。 而白盒测试是直接对程序的内部代码进行测试,测试者必须熟悉程序内部结构,才能测试出正确结果。

3、比如单元测试可以尽早的发现软件缺陷并确保其得以修正可以很大程度上节约软件开发成本,所以,白盒测试在软件测试占据着重要的地位。 但是中国软件测试起步较晚,并没有发达国家那样重视,故而专业的软件测试公司和测试人才也相对较少,软件测试资料也是玲琅满目、参差不齐。现在很多学生只重视应用,忽略了理论知识的学习。这些年,随着网络科技的覆盖,教学资源与网络科技结合是提高教学发展方向。这正是我们现在要考虑的问题。 本课题是对白盒测试技术进行一个系统性的总结并且要开发一个软件测试教学网站,对学习资源进行整理、收集,达到教学资源的共享与传播,方便大家巩固学习白盒测试知识。并不需要到图书馆等特定环境进行查

4、询,可以随时随地的进行查阅,这也是传统教学所不能做到的,打破了时空限制。网站还有针对性的白盒测试训练题,同学们可以进行在线测试,网站可以在做完题之后自动进行评分,帮助同学进行自我评估。 对学生知识与能力要求 要对白盒测试技术进行详细的了解,包括概念、白盒测试方法、测试工具等。 建设教学网站是以java语言为基准,使用hibernate、struts等技术。用jsp实现前台的编写,后台使用开源的mysql软件。预期目标 本课题的内容主要有两方面,第一,能用PPT技术对白盒测试进行讲解、白盒测试软件工具的使用和主要技术介绍;第二,白盒测试的网上考试系统及白盒测试的题库建设。预期目标如下:运用ppt

5、技术,制作白盒测试讲解资料。下载使用白盒测试工具。采用泽众测试工具的codeanlyze软件或findbugs这些测试工具。用java或jsp等技术实现软件测试网站的框架。完成软件测试网站里试题库的建设。时间进度 2014.11.11-2014.11.28 收集资料,撰写毕业设计开题报告,运用动 画技术制作白盒测试ppt 2014.11.29-2015.03.09 对软件测试教学网站进行概要设计及详细 设计, 对系统框架进行初步搭建,下载使用 codeanlyze 软件和findbugs这些测试工具。 2015.03.10-2015.05.29 进行网站的编码和测试,完成系统功能的实现 201

6、5.05.30-2015.06.04 书写毕业设计论文 2015.06.05-2015.06.14 制作PPT,准备答辩系(教研室)主任签字 年 月 日主管院长签字 年 月 日西安邮电大学本科毕业设计(论文)开题报告学号 04113115 姓名 刘欢导师 周元哲题目 软件测试教学网站建设白盒测试选题目的: 随着软件开发的发展,软件测试的地位也越来越重要,国外一些大的软件开发公司软件测试人员与开发人员的配比达到了2:1,软件测试费用也占项目的近一半。这足以显现出软件测试的重要地位。而软件测试里白盒测试又占据了很重要的位置,很是受到人们的关注。白盒测试是对程序里面的代码还有内部结构进行检测,对里面

7、的逻辑路径逐一覆盖查询。 但是中国软件发展起步较晚,软件测试还没有得到长足的发展,与国外相比更是刚刚起步,这也使得软件测试这方面的人才稀少,软件测试资料也是玲琅满目、好坏参半。 近几年,网络教育越来越受到人们的关注,教育部也多次下达了关于建设校园网络教学的指示。本课题正是顺应潮流,建设一个软件测试教学网站,里面主要收录了白盒测试相关知识,该网站可以上传下载资料,用户可以根据自己的需求在网站上挑选出适合自己的资料,网站有在线测试,同学们在学习了解了白盒测试后可以对自己的水平进行一个测试并查询自己的成绩。教学网站超越了传统意义上的教学模式,对于那些没有固定时间学习、有工作的人来说做到了跨空间、跨时

8、间,随时可以了解学习。 如果能很好的完成这次毕设,相信对我来说也是一个很大的提升。 前期基础到现在已经学习了Java设计与开发、网页设计、网站建设、数据库、软件工程、算法设计等,自学了html和php,熟练掌握了eclipse和tomcat的搭建和应用。之前也比较系统的学习了软件测试及相关知识,能熟练使用office软件编写word和ppt文件。参考文献:耿祥义 java实用教程 第三版 清华大学出版 冯飞 数据库原理 清华大学出版社 张欣漫 精通jsp-web开发技术与典型应用 人民邮电出版要解决的问题(1) 进行白盒测试的主要讲解,运用动画技术,采用PPT实现(2) 学会使用CodeAna

9、lyze和findbugs等测试软件进行软件测试(3) 用Java或jsp设计和实现软件测试网站的架构(4) 完成网上考试系统及试题库的建设,能将word等形式的白盒测试试题导入网站试题库,客观题自动进行评估工作思路和方案(1) 系统的学习白盒测试知识,将白盒测试内容采用动画技术制作成ppt(2) 自学CodeAnalyze和findbugs等测试软件。(3) 学习java和jsp编程,搭建tomcat和mysql。(4) 用jsp和servlet实现测试网站的搭建(5) 建设网上题库,导入白盒测试word格式的文件。序号任务内容日期1理解毕业设计内容,完成开题报告2014.11.11-201

10、4.11.282开始系统的概要设计和详细设计, 完成系统的框架的搭建2014.11.29-2015.03.093完成编码和测试,实现系统功能,实现功能:网上考试系统及试题库建设2015.03.10-2015.05.294书写毕业设计论文15.05.30-15.06.045制作PPT,准备答辩15.06.05-15.06.14指导教师意见签字 年 月 日西安邮电大学毕业设计 (论文)成绩评定表学生姓名刘欢性别男学号04113115专 业班 级软件工程1104班课题名称软件测试教学网站的建设白盒测试指导教师意见(从开题论证、论文内容、撰写规范性、学习态度、创新等方面进行考核)评分(百分制):指导教

11、师(签字): 年 月 日评阅教师意见(从选题、开题论证、论文内容、撰写规范性、学习态度、创新等方面进行考核)评分(百分制): 评阅教师(签字): 年 月 日验收小组意见(结合任务书要求的预期目标和成果形式进行考核)评分(百分制):验收教师(组长)(签字): 年 月 日答辩小组意见(从准备、陈述、回答、仪表等方面进行考核)评分(百分制): 答辩小组组长(签字): 年 月 日评分比例指导教师评分 () 评阅教师评分 () 验收小组评分 () 答辩小组评分 ()学生总评成绩百分制成绩等级制成绩答辩委员会意见毕业论文(设计)最终成绩(等级): 学院答辩委员会主任(签字): 年 月 日目 录摘要. 1A

12、BSTRACT.2第一章 白盒测试的介绍1.1白盒测试简介31.2白盒测试特点41.3白盒测试的依据和流程41.3.1白盒测试的依据.41.3.2白盒测试的流程.4第二章 白盒测试的方法2.1白盒测试的方法介绍.62.2基本路径测试法.62.3逻辑覆盖.62.4循环测试.102.5逻辑覆盖法与路径测试重点方法的比较.11第三章 白盒测试工具3.1白盒测试工具概述.123.2白盒测试工具的介绍.12第四章 软件测试教学网站需求分析4.1用户需求分析.144.2可行性需求分析.144.3模块功能需求分析.14第五章 教学网站相关技术和工具介绍5.1 JSP简介.165.2 Hibernate介绍.

13、165.3 Struts. 175.4Myeclipse简介.175.5MySQL介绍.18第六章 软件测试教学网站概要设计.19第七章 软件测试教学网站详细设计.24结论.30致谢.31参考文献.328摘 要这几年,计算机软件开发技术发展迅速,软件越来越普遍的应用到各个领域和方面,应用规模越来越大,应用模式也越来越复杂,从而使得与软件密切相关的软件测试越来越重要。而在此之中,白盒测试的作用不容忽视。白盒测试是一种重要的测试方法,测试基于软件的源代码,在已知产品的内部工作过程的情况下,往往是对软件内部逻辑结构进行相关测试,关注程序实现的细节。因此,白盒测试对软件有很强的针对性,这使得白盒测试效

14、率很高,可以帮助人们清楚的了解覆盖程度。该方法主要应用于单元测试和集成测试阶段。这也显示出来白盒测试在软件测试重的地位非常高。我所研究的课题有一部分就是建设一个软件测试的教学网站。近年来,随着网络教学的发展,国际信息化教育也慢慢偏向网络化,而教学网站是其形式之一。在本次教学网站建设我采用java语言编写,技术方面使用JSP,MVC三层架构,数据库采用MySQL。希望该教学网站能为我校软件测试网络教学提供一份力量。关键词:白盒测试、测试方法、教学网站建设 ABSTRACTWith the rapid development of computer technology, software is

15、more and more widely applied to various fields and aspects of, application model is becoming more and more complex, increasingly high demand on the quality of the software, which makes is closely related with the software of software testing is more and more important. And in this, the role of

16、white box testing can not be ignored. White box testing is an important test method, test based on the source code of the software, in the internal work processes of products known, mainly launched the testing of the internal structure of the program, details of the procedures for the implement

17、ation of the concern. Therefore, the white box testing is very targeted, the testing efficiency is higher, can help people clearly understand the degree of coverage. The method is mainly used in the unit testing and the integrated testing phase. This shows the importance of white box

18、testing in the software testing, and I have studied the part of the research is to build a software testing teaching website.In recent years, along with the development of the network teaching, the international information education is also slowly biased to the network, and the teaching website is

19、one of its forms. In the teaching website construction I use java language, the technology use JSP, struts, hibernate, etc., the database uses MySQL. It is hoped that this teaching website can provide a power for the teaching of the software of our schoolKeywords: white box testing, teachi

20、ng website construction第一章 白盒测试的介绍1.1白盒测试简介白盒测试是把测试对象看做一个打开的盒子,允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,白盒测试是在不同的地方检查程序状况,根据检测结果判断软件测试结果是否和预想的一样。白盒测试是检测软件的代码和内部逻辑结构等,而并非是检查产品的功能,所以,它对测试者的要求非常高,必须是要了解程序结构和工作过程的人才能够测试。这也使得白盒测试在前期就可以检测到许多错误,间接的节约了软件开发的成本。1.2白盒测试特点白盒测试的优点:(1) 能够进行白盒测试的人必须是了解程序的人,这样可以让测试者更为深入的了解

21、程序代码、结构;(2) 基路径和覆盖法可以查询出程序的路径和分支。(3) 尽早的发现程序的错误;(4) 可以比较彻底的测试程序。(5) 最优化白盒测试的缺点:(1) 对于没有实现规格说明书的程序是无法进行程序内部欠缺部分的测试。(2) 程序的外部特性无法检测出来(3) 昂贵;(4) 程序中还有个别路径检测不到,容易出现敏感性错误。(5) 不验证规格说明书的正确性。白盒测试所遵循的原则:(1) 找出程序中的独立路径,全部都要被执行一次。(2) 所有逻辑值均需要测试真和假两种情况(3) 为了保证程序的有效性,一般要检测其内部结构是否正常。(4) 遇到循环时,必须尽最大可能运行完所有循环白盒测试重点

22、检测的地方:(1) 单元测试:代码检查、逻辑覆盖(2) 集成测试:增加静态结构分析、静态质量度量。(3) 系统测试:根据黑盒测试结果,采用白盒测试。1.3白盒测试的依据和流程1.3.1白盒测试的依据白盒测试的主要依据有以下几点:软件产品的需求报告、产品的需求规格说明书、设计文档、软件的界面、编码规范、开发命名标准、软件产品设计文档的相关规范。1.3.2白盒测试的流程白盒测试流程分为两种,一种是界面对象流程,一种是业务对象流程。 (1) 界面对象测试流程界面对象测试流程的示意图如下图所示:DB Server端数据管理对象业务对象界面对象界面对象的优点:测试者对流程一览无余,可以直接的把数据输入。

23、界面操作的缺点:在某些测试中,要进行多次数据的输入。(2) 业务对象测试流程 业务对象测试图:界面对象业务对象数据管理对象DB Server端业务对象是从底层开始测试,最底层的车市完了之后,再向上逐一进行测试。业务对象的优点:进行回归测试时,不需要再输入数据,执行一遍测试程序即可。业务对象的缺点:需要给中间层编写一个测试小程序,即根据程序中类的对象构造输入数据及将结果输出到控制台上。第二章 白盒测试的方法2.1白盒测试方法介绍白盒测试的优点是帮助软件测试人员增大代码的覆盖率、提高代码质量、发现代码中隐藏的问题。白盒测试方法中运用最广泛的是基本路径测试法和逻辑覆盖法,循环测试,下面重点介绍这三种

24、测试方法。2.2基本路径测试法程序的所有路径作为一个集合,在这些路径集合中必然存在一个最短路径,这个最短路径称为基路径或独立路径。基路径一般的测试方法是先画出控制流图,然后在其基础之上解析环路复杂性,判断确立基路径,最后设计测试用例。基本路径测试方法主要步骤:(1)用详细设计作为参考,通过分析画出程序的控制流图。(2)通过控制流图 G计算出其圈复杂性V(G)。(3)确定独立路径集合。(4)测试用例生成,确保基本路径集中每条路径的执行。控制流图的圈复杂度V(G)计算方法介绍。方法一:圈复杂度V(G)=E-N+2,E是流图中边的数量,N是流图中结点的数量。方法二:圈复杂度V(G)为控制流程图中的区

25、域数。方法三:从控制流图转化为连接矩阵,若图中某行含两个或两个以上项,则此行为一个判定结点。2.3逻辑覆盖逻辑测试法又称控制流覆盖,它的测试用例是根据程序的内部逻辑和编码设计出来的,目的是要测试程序中的语句、判定(控制流能分解为不同路径的程序点)、条件(形成判定的原子谓词)等。下面介绍几种逻辑覆盖方法。例 2.3 用C+实现简单的数字运算代码:dim a, b as integerdim c as doubleif (a>0 and b>0) thenc=c/aend ifif(a>1 or c>1) thenc=c+1end ifc=b+ca>0 and b&g

26、t;0c=c/a Y Na>1 or c>1c=c+1 Y Nc=b+c 图2.3 程序流程图2.3.1 语句覆盖语句覆盖也叫线覆盖面。它的作用在于,用大量的测试数据对程序进行测试,要求程序中的每个路径都被一条或多条数据执行过。例2.3使用a=4,b=4,c=8,的测试用例,按照路径> > > > 执行,程序段中的5个语句均执行,符合语句覆盖。但是,测试用例如果选择a=4,b=-4,c=8,程序则按照路径>>>执行,则未能达到语句覆盖。语句覆盖测试的方法一般都是对显式语句进行测试,对一些隐藏的条件由于检测不出来,故而无法测试。若将例2.3中

27、第一个逻辑运算符and误写成or, a=4,b=4,c=8,这组测试用例依然不能达到语句覆盖的要求,这是因为语句覆盖不能发现程序中的逻辑错误,它只管进行每个路径的测试,至于处理源代码,不是它的功能范围。所以语句覆盖是覆盖语句中的最弱逻辑覆盖,它无法检测出程序的内部结构,无法分辨出代码里的一些逻辑错误,所以导致它的覆盖率很低。2.3.2判定覆盖判定覆盖又称分支覆盖,判定覆盖的基本思想是指设计大量的测试用例,让程序中的每个if和while都让“真”值运行一次,再用“假”值运行一次,让判定的所有取值均被满足通过一次。判定覆盖设计例2.3的测试用例如表2.3.2所示表2.3.2 例2.3的判定覆盖测试

28、用例测试用例a>0 and b>0a>1 or c>1执行路径a=1,b=1,c=5TT>>>>a=1,b=-2,c=-3FF>>a=1,b=1,c=-3TF>>>a=1,b=-2,c=3FT>>>判定覆盖作为语句覆盖的超集,由此可见判定覆盖要比语句覆盖的覆盖路径多得多。这也说明了判定覆盖是比语句覆盖更全的覆盖,是比语句覆盖更强的测试方法。判定语句基本上都是由很多个逻辑组合而成,判定覆盖的判定只是判断软件的最终结果,它还无法全部发现每个判定内部的取值条件。所以,判定覆盖也不是能够覆盖全部的路径的。2

29、.3.3条件覆盖条件覆盖是设计测试用例,它让每个条件判断的值最少都被满足一次 。测试用例覆盖条件具体取值条件执行路径a=2,b=1,c=2T1,F2,T3,F4a>0,b<=0,a>1,c<=1(1)>(3)>(4)>(5)a=-1,b=2,c=3F1,T2,F3,T4a<=0,b>0,a<=1,c>1(1)>(3)>(4)>(5)表2.3.3 例2.3的条件覆盖测试用例条件覆盖比判定覆盖的覆盖范围更广,不但增加了测试路径,还覆盖了那些符合判定情况的测试。不过条件覆盖一般是不考虑其判定结果的,但它会让每个条件至

30、少一次为真。2.3.4条件判定覆盖条件判定覆盖就是设计了许许多多的测试用例,通过这些测试用例,让这些判定条件中的所有条件都可以至少执行一次取值,而且所有判断的可能结果至少都会被执行一次。测试用例覆盖条件执行路径a=2,b=1,c=5T1,T2,T3,T4(1)>(2)>(3)>(4)>(5)a=-1,b=-2,c=-3F1,F2,F3,F4(1)>(3)>(5)表2.3.4 例2.3的条件判定覆盖测试用例条件判定覆盖是集判定、条件覆盖于一身的,它同时满足两种覆盖标准,具有两者的简单性却没有两者的缺点。表面上,条件判定覆盖测试了所有条件的取值,但事实并非如此,

31、并没有覆盖所有的true和false取值的条件组合情况,有时候在条件取值错误的情况下也会遗漏某些条件。为彻底的检查所有条件的取值,条件组合覆盖准则满足判定覆盖、条件覆盖和判定/条件覆盖准则,大大的增加了测试用例的数量,即便是这样,也不能完全保证所有的路径都被测试过,仍有可能有部分路径被遗漏。2.3.5路径覆盖路径覆盖就是要选择足够多的测试用例,它的目的是要让程序中所有的路径全部都至少被执行一次。测试用例覆盖组合执行路径a=2,b=1,c=5编号1,编号51>2>3>4>5a=1,b=1,c=3编号1,编号81>2>3>5a=-1,b=2,c=3编号3,

32、编号71>3>4>5a=-1,b=-2,c=-3编号4,编号81>3>5表2.3.6 例2.3的路径覆盖测试路径覆盖比前面几种逻辑覆盖方法覆盖率都大,但随着程序代码复杂度的增加,测试工作量将呈指数增长。2.4循环测试循环结构是程序设计中运用最多的基本结构,由循环体及循环控制条件两部分组成。下面介绍三种循环测试。a.简单循环1 b.简单循环2 c.串接循环 d.嵌套循环2.4.1简单循环简单循环如上图a ,图b所示,考虑循环次数的边界值和接近边界值的情况,要考虑下面几种测试用例,我们假定n是最大循环次数。(1)零次循环:从循环入口直接跳到循环出口(2)一次循环:只有

33、一次通过循环,用于查找循环初始值方面的错误。(3)二次循环:两次通过循环,用于查找循环初始值方面的错误。(4)m次循环:m次通过循环,其中m<n,用于检查在多次循环时才能暴露的错误。(5)比最大循环少一次:即n-1次循环。(6)最大循环次数:n次通过循环。2.4.2嵌套循环嵌套循环如图d所示。如果要将简单循环的测试方法用于嵌套循环,这样对就是一个几何倍的叠加,需要的测试数将成倍增加。2.4.3串接循环串接循环又名并列循环,如上图c所示, 可以简化为两个单个循环来分别处理。不过,要是把这两个循环互相串联起来,如果发现第一个循环的循环计数是第二个循环的初始值,这就表示两个循环并不是相互独立的

34、。2.5逻辑覆盖法与路径测试重点方法的比较方法判定覆盖条件覆盖条件组合覆盖基路径测试优点简单、无需细分每个判定增加了对条件判定的测试对程序进行比较彻底的测试测试用例清晰有效缺点大部分语句是由多个逻辑条件组合而成,若仅仅判断其组合条件的结果,而忽略每个条件的取值情况,必然会遗漏部分测试场景达到条件覆盖,需要足够多的测试用例,但条件覆盖还是达不到完全覆盖,这是由于AND和OR不同的组合效果造成的对所有可能条件进行测试,需要设计很多测试用例。有点像分支的方法,不能覆盖一些特定的条件,这些条件往往是容易出错的地方第三章 白盒测试工具 3.1白盒测试工具概述白盒测试工具一般都应用在需要极高的可靠性行业,

35、例如航天软件、军事、导弹软件等。白盒测试工具主要是指能够测试软件内部的源代码的工具,可以实现代码的静态分析、动态测评、审评等功能。根据测试工具的不同原理,我们可以将白盒测试工具分为静态和动态两种测试工具。静态测试工具又有以下几种类型:代码覆盖率分析器和代码测量器、一致性检查、接口分析和类型分析。 动态测试工具一般采用“插桩”的方式,插入一些监测代码,用来统计程序运行时的数据常用的白盒测试工具有以下几种。3.1.1FindBugsFindBugs是静态代码测试工具,它是用Apache BCEL 库分析对比class文件,FindBugs的检测器被分为不同的类型,现做以介绍:· 正确性:

36、这种归类下的问题在某种情况下会导致bug,比如错误的强制 · 类型转换等。· 最佳实践反例:这种类别下的代码违反了公认的最佳实· 践标准· 多线程正确性:关注于同步和多线程问题。· 性能:潜在的性能问题。· 安全:安全相关。高危: 3.1.2BoundsChecker介绍BoundsChecker是美国康博公司生产的一款白盒测试工具,主要用来测试与内存相关的问题,在学习BoundsChecker的功能之前,有必要先了解一下内存管理的相关知识。BoundsChecker只能在windows平台上运行,不能跨平台;BoundsChecke

37、r只能测试C/C+和Delphi,不能测试其他语言。BoundsChecker能检测的错误如下:(1)指针操作和内存、资源泄漏错误。比如:内存泄漏;资源泄漏;对指 针变量的延误等。(2)内存操作方面的错误。(3)API函数的兼容性。检查常见API函数的兼容性,观察其在不同操作系统中的运行情况。3.1.3 JunitJunit只是针对Java代码的一种测试工具,一般用于单元测试。 使用Junit的好处:可以划分开测试代码和产品代码。针对某个类测试代码通过较少改动便可以应用于另个类的测试可以实施增量开发。Junit是开源的,可以再次修改。可以方便的对Junit进行扩展。Junit的使用步骤:(1)

38、 创建(2) 书写测试方法,提供类似于如下函数签名的测试方法:public void test( )。(3) 编译(4) 运行第四章 软件测试教学网站需求分析4.1用户需求分析该教学网站的用户分为两种:学生和老师。4.1.1学生需求分析在软件测试教学网站中,学生可以凭账号登录,进行个人信息查询和修改。网站中的文件资料模块可供学生下载学习资料。网站新增在线考试模块,学生点击在线考试,系统会随机选择10道选择题和5道判断题组合成一套试卷供学生做答,学生答完题后可在成绩查询页面查询自己的考试成绩,能及时的检测出学生对这些内容的掌握程度。4.1.2老师需求分析老师就是管理员,权限相比于学生要大很多。首

39、先,老师可以添加管理员,修改自己的信息,对学生信息进行增、删、改、查。在文件管理模块中,老师可以上传文件资料、修改资料名字、删除资料。在试题管理模块,老师可以自己手动编写试题并设置试题相关参数,试题分为两大类,老师在不同试题模块上操作,试题也将录入到不同的题库中。最后,老师可以查看所有学生成绩并且可以删除和修改。4.2可行性需求分析经济可行性上分析,软件测试网站建设是我的毕设题目,硬件方面只需要一台PC,资料方面可以从图书馆或者网络上借阅java、jsp、网站设计和MySQL等方面的书籍。 技术可行性上,该网站是一个B/S架构,它的主要功能是教学网站上题库的建设,可以让学生们在线答题、查询测试

40、分数,上传并下载学习资料,帮助学生了解学习软件测试方面的知识。开发可行性,该教学网站是用Java语言开发,所用到的技术有hibernate、strcuts、jsp等。开发平台为windows系统 ,使用myeclipse开发工具,用MySQL数据作为后台。4.3模块功能需求分析教学网站共有4大功能模块,分别是用户信息管理模块,试题管理模块,文件资料上传下载模块,在线考试模块。 4.3.1用户信息管理模块在本模块中,老师可以对自己的信息进行添加、删除、修改、查看。老师做为管理员可以对所有的学生信息进行管理。普通用户只能查看修改自己的个人信息。4.3.2试题管理模块老师做为管理员将试题手动输入到数

41、据库中并设置每道试题相应的参数(选项、分数、答案等),将试题录入后还可以对试题进行管理(删除、修改)。学生没有权限录入试题。4.3.3文件上传下载只有老师有权限上传资料,老师可对上传的资料进行删除、修改操作,学生只有下载资料的权限。4.3.4在线考试模块学生可以点击在线考试功能,系统会自动分配出十道选择题和五道判断题组成一套试题供同学作答,答题完成后点击提交,可立即在成绩查询页面看到自己的测试成绩。该模块只有学生有权限。 第五章 教学网站相关技术和工具介绍5.1 JSP简介JSP技术是一种跨平台的动态网页技术,在静态页面中嵌入了Java代码片段,再由web服务器中的jsp引擎来进行编译并执行嵌

42、入的Java代码,生成页面信息返回给用户。5.1.1 JSP的特点JSP的优势:(1)系统的多平台支持:基本上可以在任意环境中开发,在任意环境中部署。(3)可伸缩性强。(4)多样的开发工具。(5)可以将代码和网页显示分离展示出来。(6)开发页面十分简化。JSP的弱势:(1)产品复杂性较高。(2)JSP运行是用class常驻内存来完成的,虽然提高了响应速度,但要占用相当多的内存。5.1.2 JSP工作原理当用户第一次访问某个JSP页面时,Servlet都会去编译它,然后这个JSP就一直驻留在内存里了。所以访问JSP时,第一次总会有一定的延时,之后就没有了。接着执行Scriptlet并产生相应的输

43、出,然后Servlet把显示发送到客户端。5.2 Hibernate介绍Hibernate是一个基于Java的开源的持久化中间件,对JDBC做了轻量封装。采用ORM映射机制,把SQL语句传给数据库,并把数据库返回结果封装成对象。内部封装了JDBC访问数据库的操作,为上层提供数据库访问API。 Hibernate的核心接口一共有5个,这5个核心接口在任何开发中都会用到。5.2.1Hibernate的特点优点:(1)以对象的形式操作数据,提高开发效率,不用关心数据库种类(换数据库只要修改数据库配置文件)。(2)它使用时只需要操纵对象。 (3)是单线程对象并且生存期很短。(4)应用程序用来指定原子操

44、作单元范围的对象,它是单线程的,生命周期很短。(5)它没有入侵性,即所谓的轻量级框架。缺点:(1)Hibernate不适合大批量的处理数据。(2)针对单一对象简单的增删改查,适合于Hibernate,而对于批量的修改、不适用。5.2.2Hibernate使用步骤(1)创建Hibernate配置文件,存储和数据库连接的相关信息,放在classes下。(2)创建持久化类(数据bean并实现Serializable接口)注意:Serializable接口不是必需的,但是在分布式的系统中,不同的进程之间传输时需要实现这个接口。(3)创建对象-关系-映射文件(ORM Object Relational

45、Map)。(4)编写使用Hibernate API访问数据库。5.3 StrutsStruts是一个基于Sun J2EE平台的MVC架构,主要采用servlet和jsp技术实现的,由于struts能充分满足应用开发的需求,简单易用,敏捷迅速,在这几年一直备受瞩目。Struts把servlet、自定义标签和信息资源整合到一块去了,极大的节省了开发人员的时间,提高了效率,所以说struts是一个非常不错的应用框架。Struts框架提供的服务如下:(1)作为servlet的控制器。(2)提供大量的标签库。(3)提供了用于国际化的框架,利用不同的配置文件,可以帮助用户选择合适自己的语言。(4)提供了J

46、DBC的实现。(5)有XML语法分析器。(6)文件下载机制。5.4Myeclipse简介Myeclipse是一个企业级的应用开发平台,通过使用Myeclipse可以消除工程开销,节省了通常花在项目预热、同步和软件发布上的时间,极大的提高我们的工作效率。它集成了几乎所有的JAVAEE环境,包含了完整的编码、测试和发布功能,本次毕业设计使用的编译器就是Myeclipse。第六章 软件测试教学网站概要设计6.1任务概述6.1.1目标完成网上考试系统及试题库的建设,能将word等形式的白盒测试试题导入网站试题库,客观题自动进行评估。老师能对学生进行管理,上传文档资料,学生能下载资料,在线考试等。6.1

47、.2用户类型主要服务与老师和学生。6.1.3软件及环境软件名称:软件测试教学网站所需技术:Java语言或JSP熟练掌握运行环境:Windows CPU主频1G及以上内存:1G及以上6.2总体设计6.2.1系统功能 学生能够在线考试并自动打分。FTP的文件上传及下载功能:类似于普通ftp的文件上传和下载功能。 用户输入用户名,密码,连接服务器并上传或下载用户指定的文件。 6.2.2时间特性要求     本系统的速度必须在用户可接受的范围内,但是考虑到自身服务器的参数,速度可能会比一般网站慢些。6.2.3可靠性      系统要有较高的可靠性。 6.2.4输入输出要求 用户可以输入服务器IP进入网站,也可输入网址进入。登录统一规定输入账号和密码。考试时会随机显示10道选择题和5道填空题。用户可根据资料的名称来进行下载。6.2.5数据管理能力要求 可以记录用户最近使用过的用户名试题、资料能够稳定有序的存储在网站中 6.2.6其他专门要求     因为本网站是大众使用的,所以界面

温馨提示

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

评论

0/150

提交评论