提供基于web的网上考试系统的设计与实现_毕业论文(7)

2019-04-23 13:40

第五章 在线考试系统的实现

else

31

第六章 在线考试系统的测试

第六章 在线考试系统的测试

程序和系统的测试及调试的目的是发现程序和系统中可能存在的错误并及时予纠正。

1. 程序代码测试

本系统在上一部分具体实现中的同时还进行了仔细的测试,在系统各个模块的编写中就开始测试,这样有助于尽早地发现系统中的错误,以减少在后面集成测试中出 现问题的机率,也减少在集成测试中的发现问题后修改源程序的难度。此时的测试主要是用到一些测试数据,测试数据除采用正常数据外,还包括了一些异常数据和临界数据,用他们来考验程序逻辑上的正确性。测试数据是经过精心挑选的,使程序和模块中的每一条语句都能得到执行。在本系统的测试中用了以下几种数据:

用正常数据调试。

在本系统中凡是有数据提交的地方都输入以确定无误的正常数据进行调试,例如:用户登录窗口中输入数据库中存在的用户信息等。

异常数据调试。

在执行本系统中的处理程序时要考虑一些临界数据。例如:空字符串。 这些数据是最易被忽略的,也是最易使程序出错的,所以此处的调试花费了很长一段时间,经反复的调试和修改后,系统建立了比较完善的异常处理机制。

用错误数据调试。

用错误的数据进行调试主要是测试系统对错误的处理能力,包括显示出错信息及容许修改错误的可能性。在实现本系统的过程中也对此进行了大量的测试。

2. 程序功能测试

经过代码测试正确的程序只是基本上验证了程序逻辑上的正确性,但并不能验证程序是否满足程序设计中定义的功能,也不能验证测试数据本身是否完备。所以经过程序代码的测试后,还要进行程序功能上的测试。认为程序只是满足应用功能上的需要,就是行的。因此我们也对本系统进行了以下两方面的功能测试:

模块功能测试

本系统是由多个功能模块组成,每一模块由一个或几个程序构成。这项测试主要

32

第六章 在线考试系统的测试

还是自己完成的,我把各模块中的所有程序按次序串联起来进行调试,经调试修改后每一模块内各程序间终于建立了正确的控制关系,并实现了各模块间正确的通讯。

确认测试

这一阶段的测试主要是检查系统的功能,性能及其他特征是否与用户的需一致,在此测试的工作主要由同学帮助完成,以确定该系统的功能是否能满足一般选民的需要,系统的性能是否稳定等。经过同学们反复的测试,返回很多的不同信息,根据这些信息,我再次对该系统进行了一些小的修改,以保证该系统投入使用后能安全、可靠、正常的工作,比如在这一阶段的修改有:

在程序运行过程中,当进入系统主界面时,当点击后退时,程序返回不到系统登陆界面,在这个过程中,作者发现是由于 受session中变量的影响。所以,作者就在程序中session对象中的一变量进行了重新修改,问题得到了解决。

开始之初,当用户进入本系统的各个页面时,要想返回到主页或是该页的上一页时,都是通过浏览器的”返回”按钮来实现的,特别是浏览很多页面后要回到主页必须多次按下浏览器的”返回”按钮,这样对选民来讲是极其不方便的,后来根据系统运行流程在不同的页面都加上了”返回”链接,这样就能快速跳转到相应的页面了。

3. 程序维护

该系统经测试,达到了基本的设计功能,但是系统测试不可能找出其中所有错误,因此系统中还可能隐藏某些未被发现的错误,而这些错误在系统运行后又会暴露出来。又由于本系统的开发是为了实现网上存储功能,其本身的安全机制就显得极为重要,然而系统安全机制正是较为薄弱一环,同时虽是网上存储系统,主要是共用户进行网上使用,在使用过程中,比如:当用户在上传文件的时候,如果遇到突发事件,比如:断电,死机等现象,以前上传的信息就会丢失。再者就是,该系统包含的conn.asp该文件还需要改善,因为在登陆过程中,在本地运行页面打开的速度因该是相当快的。但是该系统反映速度比较慢,所以系统作的不够完善的。在今后时间里,我会进一步完善以上的不足之处,并逐步优化该系统,以提供更适用的功能。

33

结 论

结 论

经过这几个月的设计中,通过广泛查阅与课题有关的内容,使我掌握了许多与计算机有关的东西,更重要的是使我对ASP、SQL Server等软件功能和应用有了一定的了解。为此,我对设计一套完整的软件系统的步骤、方法及思路有了一个全新的认识。这加深了我对计算机软件设计的理解,同时也给我提供了一次为以后实际模拟锻炼的机会,我感到受益非浅。

通过这次的设计报告,我不仅拓宽了自己的知识面,还在实践过程中巩固和加深了自己所学的理论知识,使自己的技术素质和实践能力有了进一步的提高,同时我的专业水平也有了很大的进步。

不过自己设计的实现的网络磁盘系统存在较大的安全隐患,

如:源代码的安全隐患,由于ASP程序采用的是非编译性语言,这大大降低了程序源代码的安全性。任何人只要进入站点,就可以获得源代码,从而造成ASP应用程序源代码的泄露。程序设计中的安全隐患,ASP代码利用表单(form)实现与用户交互的功能,而相应的内容会反映在浏览器的地址栏中,如果不采用适当的安全措施,只要记下这些内容,就可以绕过验证直接进入某一页面。例如在浏览器中敲入“??page.asp?x=1”,即可不经过表单页面直接进入满足“x=1”条件的页面。因此,在设计验证或注册页面时,必须采取特殊措施来避免此类问题的发生。

为解决此类安全问题可有以下办法:

(1)非常规命名法;防止数据库被找到的简便方法是为Access数据库文件起一个复杂的非常规名字,并把它存放在多层目录下。例如,对于网上书店的数据库文件,不要简单地命名为“book.mdb”或“store.mdb”,而是要起个非常规的名字,例如:faq19jhsvzbal.mdb,再把它放在如./akkjj16t/kjhgb661/acd/avccx55 之类的深层目录下。这样,对于一些通过猜的方式得到Access数据库文件名的非法访问方法起到了有效的阻止作用。

(2)ODBC数据源;在ASP程序设计中,应尽量使用ODBC数据源,不要把数据库名直接写在程序中,否则,数据库名将随ASP源代码的失密而一同失密。例如:

DBPath

=Server.MapPath(\

34

结 论

conn.Open \*.mdb)};dbq=\&DBPath 可见,即使数据库名字起得再怪异,隐藏的目录再深,ASP源代码失密后,数据库也很容易被下载下来。如果使用ODBC数据源,就不会存在这样的问题了:

conn.open \-DSN名\

(3)利用Session对象进行注册验证;为防止未经注册的用户绕过注册界面直接进入应用系统,可以采用Session对象进行注册验证。Session对象最大的优点是可以把某用户的信息保留下来,让后续的网页读取。比如:设计要求用户注册成功后系统启动hrmis.asp?page=1页面。如果不采用Session对象进行注册验证,则用户在浏览器中敲入“URL/hrmis.asp?page=1”即可绕过注册界面,直接进入系统。利用Session对象可以有效阻止这一情况的发生。

虽存在较多的安全问题,但也实现单出最基本的设计功能,实现了简单的网络磁盘系统。

通过这次的设计报告,我不仅拓宽了自己的知识面,还在实践过程中巩固和加深了自己所学的理论知识,使自己的技术素质和实践能力有了进一步的提高,同时我的专业水平也有了很大的进步。

同时,在软件开发方面也累积了不少经验,特别是在对软件开发工具不很熟悉的情况下,通过自己的学习和导师的指导完成了设计任务。并在设计过程中,自己分析问题和解决问题的能力都得到了锻炼和提高,完善了自己的知识结构,加深了对知识的理解。

这次设计报告完成后,体会颇多,在学与做的过程中,取长补短,不断学习新的知识,吸取经验,达到进步的目的。在学与做的过程中自身的努力以及相关图书资料的帮助,逐渐熟悉了ASP在数据库方面的应用知识。程序开发的一般过程和对数据库知识的进一步的了解,在这个快速发展的当代社会里,数据库已经普遍应用在各个领域。在这次的设计报告中我学习到不少的数据库知识,但由于自己的理论知识水平有限,实践知识和设计经验不足,在设计过程中难免存在一些问题,甚至错误。恳请各位老师批评指正,致使我在以后的工作和实践中加以改进和提高。

35


提供基于web的网上考试系统的设计与实现_毕业论文(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:110指挥中心采访记

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: