第五章 系统测试
5.1 测试的目的
一个设计并不可能达到十分完美,难免存在一些错误。如果不能及时将其找出并修改,会造成系统崩溃并造成不必要的损失,而且越晚找出系统中存在的错误,损失越大,测试的过程贯穿整个开发过程,测试的目的不是为了显示程序是正确的,而是要通过软件测试,尽可能多的找出系统中的错误,以便与及时修改。测试的目标在于:为了发现程序中的错误而执行程序的过程;好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;成功的测试时发现了至今为止还未发现的错误的测试[10]。导致软件缺陷的最大原因源于软件产品的设计文档[11]。然而,学生宿舍管理系统是对学生宿舍进行管理的系统,一旦系统无法运行或运行出错,对学校的宿舍管理带来很大的影响。所以通过软件测试的手段,尽可能排除程序中的错误,以达到程序运行稳定的目的,使学校的工作不会因此受到影响,测试时要充分考虑到软件的使用对象,有必要请第三方人员进行测试,尽可能地使系统完美。
5.2 软件测试分类
软件测试可分为3类,即从是否需要执行被测软件的角度,软件测试可分为动态测试和静态测试;从测试是否针对软件的内部结构和具体实现算法的角度,软件测试可分为黑盒测试和白盒测试;从测试执行时是否需要人工干预的角度,软件测试可分为自动测试和人工测试。这3类测试并不独立,在测试的整个过程中互相渗透、相互影响,共同决定着软件测试的最终结果。
5.3 系统界面测试及代码审查
界面测试是整个测试过程中比较直观、简单的测试方法,但是往往最简单的地方
最容易疏忽大意,所以要细心仔细地检查,比如检查标题是否出错、是否出现了一些错别字、界面是否简单明了、色彩搭配是否合理、背景图片颜色是否太艳等等一系列容易疏忽的问题。
代码审查时一种正式的评定技术,由除作者以外的某人或一小组人员仔细检查软件需求、设计或代码,以找出故障。仔细查看代码段,查看是否存在书写出错、逻辑结构是否合理、代码是否过于冗余等一系列问题。
5.4 系统测试的性能要求
系统的性能要求通常指系统需要的存储容量以及后援存储,重新启动和安全性,运行效率等方面的考虑。在运行时对系统整体性能要有一定的要求,要求:系统环境windows XP+SQL 2000硬件系统环境P4 2.4、512MB内存、80G硬盘,系统运行时对数据的保密性要求不高,对一般的数据不要求进行加密。此外,对其它软件几乎没有依赖性,程序健壮性较好。
5.5 系统测试方案
学生宿舍管理系统的测试主要采用黑盒测试和白盒测试的方法,一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特征的情况下进行测试,黑盒测试被称为功能测试,在测试时将被测软件(程序)视为具体的说黑盒测试主要采用以下两种测试方法:
1. 已知系统的功能设计规格,进行测试证明每个实现了的功能是否符合要求; 2. 已知系统的内部工作过程,通过测试证明每种内部操作是否符合设计规格要
求,所有内部成分是否通过检验。
同时黑盒测试主要力图发现下述类型的错误:功能不正确或者遗漏了功能;界面错误;性能错误;数据结构错误或者外部数据库访问错误;初始化和终止错误。
白盒测试又叫结构测试,完全了解程序的结构和处理过程,这种方法按照程序内部的逻辑测试程序,检验程序中每条通路是否都能按照预定要求正确工作。白盒测试并不是简单地按照代码设计用例,而是需要根据不同的测试要求,结合不同的测试对象,使用适合的方法进行测试。
然而在测试的过程中这两种测试都要用到,并且互相影响,共同作用。
5.6 系统测试用例
1. 用户登陆:
表5.1 登陆模块测试
测试数据 10001,0001,宿管
2. 进入宿舍管理员管理模块后,新生入住:
表5.2 新生入住测试
期望结果 能够登录
测试数据
曾杰,10001,男,计算机2011-4-20,
B-420
3. 创建寝室:
表5.3 创建寝室测试
期望结果
提示不能入住,应该先创建寝室。
测试数据
B-420,男,123456,6
4. 新生再次入住:
表5.4 新生再次入住测试
期望结果 添加成功
测试数据
曾杰,10001,男,计算机2011-4-20,
B-420
5. 设置楼管:
表5.5 楼管设置测试
期望结果 欢迎入住
测试数据
8001,8001,张三,男,B栋 6. 费用结算:
表5.6 费用结算测试
期望结果 添加成功
测试数据
水费:1元,2011-4-20,20,50 水费:1元,2011-4-20,10,50
期望结果 30元 40元
选择几组数据进行添加、修改、删除等操作,实现其基本功能;信息输入后,通过信息查询,查看结果是否和设计的数据一致,以确认数据的正确性;通过对信息的删除,然后进行信息查询验证信息是否已经成功删除;通过设置如B-420寝室能入住六个学生,使其达到饱和,再使新生入住,看是否提示不能入住,该寝室已满;通过费用结算看能否显示正确的费用结算单;针对创建寝室,创建两个同名的寝室,测试其能否报错并作出提示;新生入住同时输入两名同学号的学生入住,测试其能否报错; 设置同工号的两名楼管,测试程序是否报错;对学生信息进行模糊查询,测试其能否实现等等。
5.7 系统测试评价
通过自己对系统基本功能的测试和第三人对系统的测试,检查出了一些错误,但也很庆幸能够及时地发现并修改,为以后系统的良好运行打下了基础。通过仔细的修改和再测试再修改过程,此系统各模块都能按照需求实现各自的功能,包括宿舍管理员模块能够完整地实现其管理功能,以及楼管界面能够准确地实现其管理功能,符合设计初对系统的要求,系统运行稳定。
参考文献
[1]林成春,孟湘来,马朝东. SQL Server2000数据库实用技术[M].北京:中国铁道出版社, 2008.9~11.
[2]肖刚,古辉,程振波.实用软件文档写作[M].北京:清华大学出版社,2005.71~74. [3]王立诚.科技文献检索与利用[M].第四版.南京:东南大学出版社,2010.4~5. [4]杨章伟.精通SQL语言与数据库管理[M].北京:人民邮电出版社,2008.175~180. [5]王珊,萨师煊.数据库系统概论[M].第四版,北京:高等教育出版社,2006.14~18. [6]胡圣明,褚华.软件设计师教程[M].第三版.北京:清华大学出版社,2009.341~347.
[7]高春艳,李艳,谷伟东.Visual Basic数据库开发关键技术与实例应用[M].北京:人民邮电出 版社,2004.85~87.
[8]童爱红.VB.NET应用教程[M].北京:清华大学出版社,2005.287~289.
[9]曾长军,朱剑锋,刘坤.SQL Server数据库原理及应用[M].北京:人民邮电出版社, 2005.213~221.
[10]张海藩,倪宁.软件工程[M].第三版,北京:人民邮电出版社,2010.109~118. [11]贺平.软件测试教程.第二版[M].北京:电子工业出版社,2011.3~8.