1一、引言1.1编写目的本测试报告为学生信息管理系统项目的测试报告,目的在于总结测试阶段的测试以及分析测试结果,描述系统是否符合需求。通过对测试结果的整体分析,找出程序运行过程中出现的问题以及系统存在的所有可能缺陷,为程序编写者提供纠正软件缺陷的依据,通过对测试结果的分析以及软件质量的分析可以对软件有个整体的评价,以保证软件的整体质量。通过对软件质量的分析使用户对系统的运行建立信心。软件测试的真正意义在于发现错误,而不在于验证软件是正确的,再严密的测试也不能完全发现软件当中的错误,要确保软件基本可用,要加强软件的响应的环节,还要增强软件的可移植性和兼容性。1.2背景当今各高校都使用学生信息管理系统统一管理学生信息,以实现学生信息准确、有效的管理。应此背景及时代需求,特制定合理、高效的学生信息管理系统。而作为一个复杂的系统,软件测试在软件开发过程中是必不可少的,以下进行软件测试。测试对象介绍如下:1、测试对象:学生信息管理系统测试工具:vc++6.03、主要功能A、增添学生信息功能:实现学生信息的录入。具体内容包括学生姓名、学号、性别、年龄、生日、籍贯、家庭住址、电话号码以及学生邮箱。B、删除学生信息功能:实现学生信息的删除。对于一个系统来说,其所能存储的内容总是有限的。因此,信息管理系统中的删除模块是必不可少的。体现在学生信息管理系统中就是当学生因故退学或毕业2等情况,可根据学校实际情况删除一些不必要的学生信息。具体实现通过对学生学号或者学生姓名的查找,确定学生信息,并按相应要求实现删除。C、学生信息修改功能:实现学生信息的修改。在任何一个系统中,对系统对象的修改模块都是必不可少的。就学生信息管理系统来说,当学生更换联系方式或者变更居住地等情况下,需修改其原来保存的信息。本系统中的具体实现是:首先进入学生信息修改模块,通过姓名查找或者学号查找,定位具体学生,进入修改流程,并按相应要求修改学生信息。D、学生信息查找功能:实现指定学生信息查找。通过姓名或者学号来实现学生信息的显示。E、输出功能:实现所录入所有学生信息的显示。F、排序功能:实现学生信息按学号排序的功能。G、菜单功能:实现菜单界面的显示。H、退出功能:实现系统的退出。1.3、定义Bug:是指程序错误,也称为缺陷、臭虫,是指软件运行中因为程序本身有错误而造成的功能不正常、死机、数据丢失、非正常中断。单元测试:按照系统、子系统和模块进行划分为功能模块或若干个类。单元测试是对功能模块进行正确性检验的测试工作,也是后续测试的基础。目的是在于发现各模块内部可能存在的各种差错。集成测试:此阶段测试基于单元测试的完成。主要目的检测系3统是否达到需求对业务流程及数据流的处理是否符合标准,检在不合理的标准及要求。系统测试:用于核实用户与软件之间的交互。系统测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。1.4、参考资料[1]学生信息管理系统需求文档规格说明书[2]学生信息管理系统测试计划书[4]学生信息管理系统测试方案文档二、测试对象和概要2.1、测试主要任务2.1.1、寻找Bug;2.1.2、软件各种属性的组合程度良好;2.1.2、避免软件开发过程中的缺陷;2.1.3、衡量软件的品质;2.1.4、关注用户的需求。2.2、增加学生信息功能测试2.2.1白盒测试语句覆盖:42.2.2黑盒测试Add等价类划分——name输入合理等价类不合理等价类姓名1.合理的名字2.有数字3.有特殊字符(除连字符外)测试用例:2.1233.\\\Add等价类划分——schoolnumber输入合理等价类不合理等价类学号1.数字字符2.有非数字字符测试用例:2.asd456456\字段名称描述标识符0001字段名称描述标识符0001测试项add模块用例:1.12.lee3.1234.12345678905.136.n7.m8.199411339.199422910.1994113111.199422812.anhui13.bozhou14.shatu15.lizhuang16.12317.1832990100418.731261371@qq.com输入正确选择输入姓名输入错误的学号输入正确的学号输入错误的年龄输入错误的性别输入正确的性别输入日期超过31天非闰年二月天数为29天输入非大月天数为31天输入正确的日期输入province输入city输入county输入village输入错误的电话号码输入正确的电话号码输入邮箱测试用例间的关联无5Add等价类划分——age输入合理等价类不合理等价类年龄1.数字字符2.有非数字字符测试用例:2.asdAdd等价类划分——sex输入合理等价类不合理等价类性别1.m或f2.非m或f的任意字符测试用例:2.manAdd等价类划分——brithday输入合理等价类不合理等价类生日日期1.6—8位数字字符和2位空格字符2.有非数字字符3.少于6位数字字符4.多于8位数字字符5.不是2位空格字符年份范围6.在1985—2000之间7.小于19858.大于2000月份范围9.在1—12之间10.等于011.大于12日期范围12.当为闰年2月时在1—29之间13.当为平年2月时在1—28之间14.当为1,3,5,7,8,9,12月时在1—31之间15.当为其他月时在1—30之间16.等于017.当为闰年2月时大于2918.当为平年2月时大于2819.当为1,3,5,7,8,9,12月时大于3120.当为其他月时大于30测试用例:2.asdc6253.20144.20146256256255.2014\6\247.11116248.333362410.201401611.2014133316.20141017.2008231可以检查出错误18.2013229可以检查出错误19.2013133可以检查出错误20.2013433可以检查出错误Add等价类划分——city输入合理等价类不合理等价类城市1.现有的城市名称2.字符的随意组合测试用例:woAdd等价类划分——county输入合理等价类不合理等价类国家1.现有国家名称2.字符的随意组合测试用例:woAdd等价类划分——village输入合理等价类不合理等价类城镇1.现有城镇名称2.字符的随意组合测试用例:woAdd等价类划分——phonenumber输入合理等价类不合理等价类手机号1.以1开头的11位数字字符2.非数字字符3.少于114.多于115.不以1开头测试用例:2.aaaaaaaaaaa可以检查出错误3.aa4.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa5.01314151617可以检查出错误7Add等价类划分——e-mailaddress输入合理等价类不合理等价类邮箱号1.符合邮箱地址规则2.不符合地址规则测试用例:123#123#123#2.3、删除学生信息功能测试2.3.1白盒测试字段名称描述标识符0002测试项delete模块1.22.23.1000014.y5.26.27.10000000028.n9.210.111.lucky12.y13.2测试用例间的关联00012.3.2黑盒测试-等价类划分Delet等价类划分——Search输入合理等价类不合理等价类选择1.1或22.非1或2的其他数字字符3.其他字符测试用例:2.3可以检查出错误3.aDelet等价类划分——change输入合理等价类不合理等价类8选择1.y或n或Y或N2.其他字符测试用例:2.a可以检查出错误2.4、修改学生信息功能测试2.4.1白盒测试字段名称描述标识符0003测试项modify模块用例:1.32.53.14.lucky5.lee6.17.Lucky8.19.y10.y11.212.2213.100000000214.315.y16.317.2318.Y19.420.Y21.422.F23.Y24.Y25.526.204882527.19933328.X29.Y30.Y31.632.Anhuibozhoushatulizhuang按照修改模块流程图输入933.Y34.Y35.736.1832990100437.Y38.Y39.840.73126****@xx.com41.Y42.n测试用例间的关联00012.4.2黑盒测试-等价类划分Modify等价类划分——Search输入合理等价类不合理等价类选择1.输入1或22.非1或2的其他数字字符3.其他字符测试用例:2.3可以检查出错误3.aModify等价类划分——name或number输入合理等价类不合理等价类选择1.存入的名字或学号2.任意的字符测试用例:2.123可以检查出错误Modify等价类划分——option输入合理等价类不合理等价类选择1.输入1—8之间的任意数字2.非1或8的其他数字字符3.其他字符测试用例:2.0可以检查出错误3.a2.5、查找学生信息功能测试2.5.1白盒测试10字段名称描述标识符0004测试项search模块用例:451HansLee42521231000000001按照查找模块流程图输入测试用例间的关联00012.6、输出和按照学号排序学生信息功能测试2.6.1白盒测试字段名称描述标识符0005测试项sort模块用例:1.2.排序显示排序结果测试用例间的关联0001三、测试结果及发现本部分主要是软件存在的一些问题及缺陷。各部分的功能缺陷如下:113.1、增加学生信息功能缺陷对于明显的错误信息不能完全做出相应,例如输入错误格式的邮箱地址也不会有系统提示。录入学生信息时,并没有进行详尽的判断检查。在录入学生性别时,按要求输入是输入字符’m’或字符’f’,如果输入以字符’m’或’f’开头的字符串,会引起输入生日函数中的判断语句进入死循环。3.2、删除学生信息功能缺陷过学生姓名或者学生学号查找到学生,并且删除。具有删除提示功能,测试发现,暂无明显功能性缺陷及使用缺陷。3.3、修改学生信息功能缺陷选择学生信息修改模块,按照学生姓名或者学号查找学生并按一定格式要求输入要修改的学生信息。测试发现,程序所输入的一些学生信息没有做合理的判断。举例简述:输入学生电话号码时,可以输入除数字以外的字符。3.4、查找学生信息功能缺陷无。四、对软件功能的结论通过给定学生姓名或者学生学号,查找到指定学生信息并显示。经测试,该模块功能性无缺陷。显示界面不太整洁美观,建议根据用户要求再做些更改。4.1、功能此软件可以实现对学生信息的管理;实现对学生信息的添加;删除;修改;查找;显示使学生的信息更加便于管理124.2、限制当录入学生信息时,输入特定的序列可以导致程序进入死循环,程序设计还不够合理。五、分析摘要5.1、测试结果分析经过测试分析得出,该系统在学生信息处理方面已达到相关需求,但是系统程序中也存在一些缺陷,可能导致程序进入死循环,进而崩溃。5.2、软件的缺陷与限制录入学生信息时,并没有进行详尽的判断检查。在录入学生性别时,按要求输入是输入字符’m’或字符’f’,如果输入以字符’m’或’f’开头的字符串,会引起输入生日函数中的判断语句进入死循环。具体原因是输入生日函数的while循环语句会直接接受多余的字符并判断,从而导致while判断语句为永真,进而陷入死循环。该程序中多次出现“while(!(scanf(%d%d%d”此种写法。容易引起错误。代码及执行情况如下图所示:voidGet_bir(void){printf(Enteryourbirthdaylikethis:2015624\n);printf(Enteryourbirthday:);while(!(scanf(%d%d%d,&stu[count].bir.year,&stu[count].bir.month,&stu[count].bir.day)&&check(stu[count].bir))){Sleep(1000);printf(Wrong!!Tryagain:);}}13(1)(2)5.3、建议在整个系统测试执行期间,项目组开发人员能