学生成绩查询及分析系统 - 图文 联系客服

发布时间 : 星期一 文章学生成绩查询及分析系统 - 图文更新完毕开始阅读

进行系统测试主要有两种方法:静态测试和动态测试,我们主要采用动态测试的方法。

动态测试是通过运行程序来检验软件的动态特性和运行结果的正确性,并根据程序的运行过程对程序进行评价的过程。动态测试包括运行、解释和模拟。

本系统主要使用以界面为基础的测试。以界面为基础的测试仅仅依靠系统与其运行环境之间的界面来选择和产生测试数据,而不管系统的具体需求和具体实现细节。包括系统输入,输出数据的类型取值范围以及取值的概率分布等等。 1.测试项目

该测试计划主要包括对软件各个模块的测试,有: (1) 系统主窗口的测试 (2) 添加用户窗口的测 (3) 修改用户密码窗口的测试 (4) 添加课程信息窗口的测试 (5) 添加成绩信息窗口的测试 (6) 删除成绩信息窗口的测试 (7) 查询成绩信息窗口的测试 (8) 打印窗口测试 2.系统的测试

(1)软件功能测试和调整

按照系统所要实现的功能进行测试,输入完全正常的数据,查看数据库读取和写入是否出现异常。对教师信息的添加、删除、修改、考评成绩的录入作全方面的检查。最后查看考评后教师的成绩分布情况,是不是符合正态分布,如果不符合则进行权重微调,直到整个考评完成以后教师的成绩出现正常的正态分布为止。 (2)软件异常处理测试

在系统的各个输入筐里输入各种异常的输入数据,比如,本来应该填写数值的地方填写字符型的数值,检测系统的容错性和排错性。提交各种空数据、各种特殊符号(比如 ” ! ~ ‘ # & * +这些运算符都可能造成整个系统的错误)。 (3)软件逻辑测试

从逻辑方面对系统的测试,进行提交,数据的修改,和删除,对同一个教师信息进行多次删除或者多次添加,在信息录入的时候跳转操作,测试软件的逻辑正确性。

经过各种测试说明本系统的功能实现部分完成良好,基本实现了教师考评的各个基本要求,容错处理部分做的比较出色,完全避免了空数据对数据库的写入。可是对某些特殊字符的容错处理还不是很完善,比如,当提交“+”号时,完全有可能被程序误以为时SQL语句,从而导致整个功能的紊乱,另外 “““、”‘“等的字符串也有可能使整个系统出现不可知的错误。 3.集成测试

32

集成测试将测试每一个部件之间的工作是否正常。在这个阶段,我们假设所有的单元已通过开发人员个人在单元测试阶段测试全部通过,没有任何错误。 集成测试包括以下内容: 连续集成测试 数据库测试 数据整合测试 4.功能测试 功能测试环境 操作系统:windows XP 内存:128M 网络环境:校园网 本功能测试共分为: 系统功能测试

测试是否可以正常添加用户和修改密码,系统正常退出

测试是否可以正常对班级进行管理,学生的单个或成批添加,删除以及新生信息的导入和学 生信息备份

测试成绩管理中是否可以进行分数录入,汇总及排名和成绩备份等操作 测试课程信息模块中针对课程管理,老师和课程的关系之间操作是否正常 测试是否可以正常查询学生,老师和成绩 5.链接测试

这一部分将测试系统各模块之间的超链接跳转是否正确 6. 文档测试 本章主要内容为: 测试文档是否包括全部内容

测试软件功能描述与其他功能有没有冲突 查看软件功能描述是否是原来系统分析和需求

查看文档内容在特定的情况和进度下,以现有人力,物力和资源能否实现 7.负载测试

这一部分将测试正常情况下系统性能和用户数目之间的关系 本章主要内容为:

查看在多个用户同时使用本系统时是否正常 8.极限测试

这一部分将测试所有极端的情况,如速度非常快的情况下和速度非常慢的情况下,以及所有其它的极端情况。

33

9.系统功能的测试

(1) 添加成绩信息窗口的测试

该测试的目的是保证添加成绩信息窗口的正确性与在数据输入不正确时的容错与纠错性。

具体通过在添加成绩信息窗口中输入空的姓名,空的考试成绩,来检测系统的出错运行情况。要求系统在遇到这些情况时能给出正确的错误提示。 (2) 删除成绩信息窗口的测试

该测试的目的是保证删除成绩信息窗口的正确性与在数据输入不正确时的容错与纠错性。

具体通过在删除成绩信息窗口中输入已有的成绩给出删除成功的提示。 (3) 查询成绩信息窗口的测试

该测试的目的是保证查询成绩信息窗口的正确性与在数据输入不正确时的容错与纠错性。 具体通过在查询成绩窗口中输入空的学号错误的学号空的班号错误的班号。要求系统在遇到这些情况时能给出正确的错误提示。 (4) 打印窗口测试

该测试的目的是保证打印信息窗口的正确无误性。

(二)系统的维护

本系统内未带有系统的备份功能,按照软件的惯例,系统数据库的备份都是由专门的数据库管理管理员进行备份,和恢复,所以本软件也没有将此功能设计到软件当中。所以,在服务器端运行的数据库必须要有专门的管理员作定时的备份,如果发生意外就可以及时的恢复系统,从而避免影响整个考评工作的进度。

本系统在安装好JAVA虚拟机和MYSQL以后不用进行任何的安装,只需要双击由JDK打包好的文件就可以实现本系统的运行。

1.数据库的实施和维护 (1)数据的实施阶段 数据的载入

组织数据录入就要将各类数据从各个局部应用中抽取出来,输入计算机,在分类转换,最后综合成符合新设计的数据库形式,输入数据库。 2.应用程序的编码和调试

程序员 在软件开发过程中离不开 编码 和调试,这两个过程也是相辅相成的,数据库应用程序的设计属于一般的程序设计范畴,但数据库应用程序有自己的一些特点。例如,大量使用屏幕显示控制语句、形式多样的输出报表、重视数据的有效性和完整性检查、有灵活

34

的交互功能。

为了加快应用系统的开发速度,一般选择第四代语言开发环境,利用自动生成技术和软件复用技术,在程序设计编写中往往采用工具(CASE)软件来帮助编写程序和文档,如目前普遍使用的PowerBuilder、Delphi以及由北京航空航天大学研制的863/CMIS支持的数据库开发工具OpenTools等。

数据库结构建立好之后,就可以开始编制与调试数据库的应用程序,这时由于数据入库尚未完成,调试程序时可以先使用模拟数据。

(三)编码篇

1.程序为什么会有 bug ?其中一个比较关键的原因是程序员的主观因素造成的,比如编码习惯不好,粗心,不理解系统,系统太复杂没有想清楚设计,没有考虑到某些意外情况,单元测试不到位等等。

2.编码前想清楚设计的细节,对设计细节越清楚,编码越顺利,想清楚了后写代码,往往能体会到那种行云流水,一气呵成的感觉,并且代码的 bug 更少。

3.想清楚了自己的设计细节,在头脑最清楚的时候写好代码的框架,一气呵成把一个可以运行的最小功能代码写好,在第一次编译的时候,如果经过很小的修改就顺利编译通过,再尝试运行,如果遇到运行时的几个问题也比较简单,很快解决,意味着这部分代码质量不错,以后这块代码出问题的可能性也会小很多。

4. 编码前最好想清楚自己的设计细节,至少要想好 80% 以上的设计细节,写一份简单的文档来描述自己的设计,文档不一定正式,但一定要写简洁清楚,发给其他同学讨论,如果他们能很快看懂并没有异议,证明这个方案还不错,要是同学提出了一些意见,一定要考虑他们的意见,多讨论权衡后决定如何做。

5. 编码是软件开发中比较小的一部分,但无疑是很核心的一部分,也是程序员最喜欢的一部分工作,但花在编码上的时间一般不会太长。

6.看代码的时间远远超过了写代码的时间,写完一段代码要及时回想一下,站在高一层的角度来审视代码,就像在高中考试答题一样,及时检查可以用最小的代价第一时间出代码的问题。

7.当第一个已基本功能的模块完成时,第一遍审查自己的代码,加上一些必要的注释,编写单元测试代码,这部分工作很单调但很关键,完备的单元测试可以把 bug 扼杀在摇篮中。单元测试一般以最简单的方式编写,使用一个不错的单元测试框架就事半功倍。 8.尽量用最简单的方式实现功能,程序员有时候会随做经验的增加,把简单的问题复杂化,但开发中常常需要的是把复杂的问题简单化,用最简洁,最快的方式解决眼下的问题。 9.程序有 bug 是难免的,但我们尽量让 bug 无处藏身,相信自己的开发水平,相信编译器,相信自己的单元测试,相信系统测试,相信压力测试,一步一步地, bug 真的无处

35