程序测试在概念上是不同的,软件测试的对象不仅仅是程序,还包括软件需求规格文档、设计规格文档、模块算法这些软件文档配置项。软件测试的内容贯穿软件定义与开发的全部阶段。
(2)测试配置。这是预先定义好的一套测试方案,包括测试计划、测试过程、测试实例集合和所预期的执行结果。实际上从整个软件生存周期来看,测试配置是软件配置中的一个子集,最终提交的软件配置项应该是包括上述测试配置以及测试的实际结果和排错的记录。
将测试得出的实际结果和预期的结果进行比较,如果两者不一致则说明程序中存在错误,但测试无法说明错误的性质和准确位置。
设法确定错误的准确位置并且改正它,这就是软件排错(Debug)的任务。排错过程是测试过程的一部分。为了诊断并纠正一个程序中的错误,可能需要花费一小时、一天甚至一个月的时间。正是由于排错所固有的不确定性,常常使得测试不能按计划进行。
随着测试结果的积累和统计分析,软件可靠性的评价就可以按指定的模型计算。所谓软件可行性就是:软件在运行期间平均无故障运行的时间周期,这个周期越长,系统可靠性就越高。如果系统不断出现一些严重的、要求修改设计的错误,那么软件的质量和可靠性就存在问题,这也意味着要对软件做更深入的测试。另一方面,如果软件的功能已正确实现,测试中发达到预定目标,本次实施的测试方案不足以暴露存在的严重错误!这些潜在的错误将最终在维护阶段被用户发现,并由开发者或维护者来纠正(这时,纠正的费用可能是开发阶段纠正费用的40倍).
在测试阶段积累的测试结果,可以用更形式化的方法进行统计分析。软件可靠性模型使用这些错误率数据,可以估计将来出现错误的情况并进一步对软件可靠性进行预测。图6-1中,每个圆圈代表了软件测试中一个非常复杂的处理过程。
常用的软件测试方法有两大类:静态测试方法和动态测试方法。
静态测试方法是程序员普遍采用的一种方法,春内容主要是,通过人工模拟软件系统的执行方式,以代码会审、走查(Walk-through)、办公室检查的形式分析或核查系统的功能实现、编码过程的正确性。
动态测试方法是通过输入一组预先按照一定的测试准则构造的实例数据来动态运行程序,而达到发现程序错误的过程。
实际上任何一项工程产品都可以使用下面2种方式之一进行测试:
(1)如果产品实现的功能是已知的,那么可以通过演示每个功能实现的正确性来进行测试。
(2)如果产品的内容过程及结构是已知的,那么可以通过验证每种内
部操作的正确性及与设计规格的一致性来测试产品的所有内部成分。
第1种方式被称为黑盒测试技术,第2种方式被称为白盒测试技术。
软件的黑盒测试意味着测试只是在软件的接口上进行。也就是说,把测试对象看作一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据需求规格说明、设计规格说明中关于功能的定义,检查程序实现的功能是否符合它的功能说明。输入能否正确接受?能否输出正确结果?是否保持外部信息(例如数据文件)的完整性?是否有数据结构错误或访问错误?是否有不正确或遗漏了的功能?因此黑盒测试又叫做功能测试、输入/输出驱动测试。
软件的白盒测试是对软件实现的过程性细节做认真的运行检查。即:测试人员完全了解程序内部的逻辑结构及处理过程,对程序执行的逻辑路径进行测试。通过在不同的关键点检查程序的状态,确定实际状态是否与预期状态一致。因此,白盒测试又称为结构测试、逻辑驱动测试。
从理论上看,不论采用上述哪种测试方式,只要能对每一种可能情况都进行测试,就可以得到正确运行的程序。包含所有可能情况的测试称之为穷尽测试。但在实际测试中,穷尽测试是不可能、也是无法做到的。使用黑盒测试方式,为了做到穷尽测试,至少必须对所有输入数据的各种可能值的排列组合都测试一次,但由此得到的测试数据量往往大到实际上根本无法测试的程度。
6.3测试及操作过程
上节中介绍了软件测试的概念方法等,但由于本人所开发的软件是作为毕业设计进行开发的,在很多方面都不是很正规,一个是时间很紧,而且毕业设计均是一人做一项开发,不可能找到其他人帮我进行软件测试,所以在进行软件测试时,也只能在软件操作过程中进行一下简单测试,只能在理论上理解软件测试,而在现阶段还无法实现。
6.3.1系统主界面
当用户在IE中输入该系统的网址后,将如图6-2所示
图6-2 系统主界面
6.3.2登录
在测试过程中,我们选择了两位用户,一位是管理员,也就是一级用户,用户名为Admini,一位是学生,用户名为01901102,选择两位用户的目的是为了进行比较他们之间权限的差别。如图6-3所示
图6-3 用户/管理员登录界面
在主界面上,则可清晰看出两种权限的不同,如下图:
图6-4 管理员登录主界面图6-5 普通用户登录界面
6.3.3学生投票
为了进行测试,我们添加一个用户进行测试:(以用户01901102为例子)
1更改密码
图6-6 用户更改密码界面
图6-7 密码更改成功的界面
2填写评价表界面
当选择一门投票的课程后,点击"进入"将出现图6-8的界面。
图6-8评价表界面
此页面的内容要求全部填写,否则出现图6-9所示
图6-9评教的处理过程
当选项全部填写完后,将出现图6-10的页面:
图6-110 投票成功界面
6.3.4管理员查询
1评教分数查询界面(图6-11所示)
图6-11 评教分数查询界面
其实上面讲解及测试的这些功能只是本系统的一部分功能,由于纸张有限,不可能将所有功能进行一一讲解及测试,望谅解。
结 论
三个月的毕业设计即将结束,这三个月里,通过对《网上教务评教系统》的开发,使我将书本上学到的那一点理论再进一步研究,然后应用到实践中来。三个月的学习与开发,使我有这样一种感觉,就是我在这三个月里学到的知识似乎要比我三年大学生活中学到的专业知识还要多。究其原因后知道,只是这三个月中我更用心于去研究我做毕业设计所必须掌握的东西,并且很重要的一点就是我可以将我的理论知识应用于实践中去检验,我想任何一门知识如果都是在纸上谈兵,不到实践中去应用,那将永远不会真正的掌握。
本系统是经过三周的调研和考察论证,采用了B/S模式。开发过程中,充分考虑用户的需求,才使得本系统具有强大的功能,并且程序精简,最终这个应用软件基本完成了需求分析所要求达到的目标,而且在某些方面加入了更方便的功能。本系统界面友好、操作简便,但是由于本人的技术水平和经验的欠缺,肯定还存在许多不足和需要改进的地方,希望老师和读者批评指正。
三个月的毕业设计,对于毕业设计来说,其实也不是很长,由于时间仓促,以及我掌握知识的不全面,我的毕业设计中存在这样或那样的不足,给我即将结束的大学生活留下了小小的一点遗憾,不过人无完人,物无完物。凡事只可尽力而为,不可强求结果,毕业设计真正给我带来快乐及回忆是在我进行毕业设计的过程当中,而并不是结果的那一个成绩。
致谢
在老师和同学的支持与帮助之下,我顺利地完成了本次毕业设计。在毕业设计的这段日子里,我所获得的知识将是大学期间最珍贵的。
本次毕业设计是在XXX老师的精心指导下完成的,XXX老师渊博的知识、严谨的治学态度深深的影响着我。他无论在理论上还是在实践中,都给予我很大的帮助,使我的毕业设计逐步地趋于完善。在此期间,我不仅学到了许多
上一篇:
ASP网上答疑系统(论文和程序)
下一篇:
陕西师范大学远程教育学院毕业论文