学生信息管理系统测试报告(共44页).doc

上传人:飞****2 文档编号:13666216 上传时间:2022-04-30 格式:DOC 页数:44 大小:1,001KB
返回 下载 相关 举报
学生信息管理系统测试报告(共44页).doc_第1页
第1页 / 共44页
学生信息管理系统测试报告(共44页).doc_第2页
第2页 / 共44页
点击查看更多>>
资源描述

《学生信息管理系统测试报告(共44页).doc》由会员分享,可在线阅读,更多相关《学生信息管理系统测试报告(共44页).doc(44页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上1引言1.1 编写目的本测试报告为学生信息管理系统项目的测试报告,目的在于测试总结以及分析测试结果,描述系统是否符合需求。学生信息管理系统是应用于学校学生信息的管理以及维护的软件。可以方便的管理学生信息,维护以及修改学生信息。1.2 项目背景随着高校学生数量的增多,信息复杂度增加,十分有必要通过学生信息管理系统来完成学生信息的管理,修改及维护。开发学生信息管理系统在当今高校是十分有必要的。1.3 用户群 使用于学校。1.4 基本定义五类测试错误类型。A类:严重错误,包括以下各种错误:n 由于程序所引起的死机,非法退出n 死循环n 因错误操作导致的程序中断n 功能错误n

2、 数据通讯错误B类:较严重错误,包括以下各种错误:n 程序错误n 程序接口错误C类:一般性错误,包括以下各种错误:n 操作界面错误(包括数据窗口内列名定义、含义是否一致)n 打印内容、格式错误n 删除操作未给出提示n 与日常生活不符D类:较小错误,包括以下各种错误:n 界面不规范n 辅助说明描述不清楚n 错误操作未给用户提示n 提示窗口文字未采用行业术语1.5 参考资料1编程思想,机械工业出版社,2007 2软件测试方法和技术(第二版),清华大学出版社2 测试概要测试目的:在于为执行测试提供用例,指导测试的实施,查找分析缺陷,评估测试质量并执行测试用例后,需要跟踪故障,以确保开发的产品适合需求

3、。测试声明:测试人员在软件开发过程中的任务: 1、寻找Bug; 2、软件各种属性的组合程度良好; 2、避免软件开发过程中的缺陷; 3、衡量软件的品质; 4、关注用户的需求。2.1 测试环境2.1.1 软件硬件配置表2-1配置表环境VC+6.0硬件配置 CPU:CPU奔腾以上内存:512M以上硬盘:500G或以上软件配置VC+6.0 2.1.1 运行界面运行界面如下:专心-专注-专业 图2-1 系统开始界面2.2 测试执行此次测试严格按项目测试计划执行,按时完成了测试计划规定的测试对象的测试。针对测试计划规定的测试策略,在测试执行中都有实现,在测试执行过程中,依据测试计划和测试用例,对系统进行了

4、完整的测试。2.3 测试用例1. 增添模块功能测试:主要测试学生信息能否按一定要求与格式正确输入。流程图及测试用例:如下图。 (1) 字段名称描述标识符0001测试项add模块用例:1. 12. lee3. 1234. 5. 136. n7. m8. 1994 11 339. 1994 2 2910. 1994 11 3111. 1994 2 2812. anhui13. bozhou14. shatu15. lizhuang16. 12317. 18. 输入正确选择输入姓名输入错误的学号输入正确的学号输入错误的年龄输入错误的性别输入正确的性别输入日期超过31天非闰年二月天数为29天输入非大月

5、天数为31天输入正确的日期输入province输入city输入county输入village输入错误的电话号码输入正确的电话号码输入邮箱测试用例间的关联 2. 删除模块功能测试: 测试能否按学生姓名或者学号正确删除学生信息。 流程图及测试用例:如下图。字段名称描述标识符0002测试项delete模块1.22.23.4.y5.26.27.8.n9.210.111.lucky12.y13.2测试用例间的关联0001(2)3、修改模块功能测试: 测试能否正确的按要求修改学生信息并保存。 流程图及测试用例:如下图。字段名称描述标识符0003测试项modify模块用例:1.32.53.14.lucky5

6、.lee6.17.Lucky8.19.y10.y11.212.2213.14.315.y16.317.2318.Y19.420.Y21.422.F23.Y24.Y25.526.2048 8 2527.1993 3 328.X29.Y30.Y31.632.Anhui bozhou shatu lizhuang33.Y34.Y35.736.37.Y38.Y39.840.41.Y42.n按照修改模块流程图输入测试用例间的关联0001(3)4、 查找功能功能测试: 测试能否按照学生姓名或者学号正确的查找到学生信息。流程图及测试用例:如下图。(4)字段名称描述标识符0004测试项search模块用例:4

7、51HansLee4252123按照查找模块流程图输入测试用例间的关联0001 5、排序模块功能测试:测试能否根据学生学号正确排序。测试用例:如下图。 6、其他功能及缺陷测试: 显示功能以及菜单显示功能还有系统退出功能。有的模块并不能很好的处理好用户随意格式的输入,并不能很好的友好显示错误。如增添模块的用例所示,程序陷入死循环。 2.4 .1功能性 A. 可以合理增添查询学生信息。B. 可以删除学生信息。C. 可以合理修改学生信息。D. 可以查询到任意已录入学生信息。E. 可以对已录入学生进行排序。F. 可以输出显示学生信息。2.4.2 易用性程序界面提示友好丰富,可以很好的根据提示完成操作。

8、2.5 单元测试及其测试用例 Add等价类划分Add等价类划分name输入合理等价类不合理等价类姓名1.合理的名字2.有数字3.有特殊字符(除连字符外)测试用例:2.123 3.Add等价类划分school number输入合理等价类不合理等价类学号1.数字字符2.有非数字字符测试用例:2.asdAdd等价类划分age输入合理等价类不合理等价类年龄1.数字字符2.有非数字字符测试用例:2.asdAdd等价类划分sex输入合理等价类不合理等价类性别1.m或f2.非m或f的任意字符测试用例:2.manAdd等价类划分brithday输入合理等价类不合理等价类生日日期1.68位数字字符和2位空格字符

9、2.有非数字字符3.少于6位数字字符4.多于8位数字字符5.不是2位空格字符年份范围6.在19852000之间7.小于19858.大于2000月份范围9.在112之间10.等于011.大于12日期范围12.当为闰年2月时在129之间13.当为平年2月时在128之间14.当为1,3,5,7,8,9,12月时在131之间15.当为其他月时在130之间16.等于017. 当为闰年2月时大于2918.当为平年2月时大于2819.当为1,3,5,7,8,9,12月时大于3120.当为其他月时大于30测试用例:2.asdc 6 25 3.2014 4.25 5.2014624 7.1111 6 24 8.

10、3333 6 24 10. 2014 0 1 11.2014 13 33 16.2014 1 0 17.2008 2 31 可以检查出错误 18.2013 2 29 可以检查出错误 19.2013 1 33 可以检查出错误 20. 2013 4 33 可以检查出错误Add等价类划分city输入合理等价类不合理等价类城市1.现有的城市名称2.字符的随意组合测试用例:woAdd等价类划分county输入合理等价类不合理等价类国家1.现有国家名称2.字符的随意组合测试用例:woAdd等价类划分village输入合理等价类不合理等价类城镇1.现有城镇名称2.字符的随意组合测试用例:woAdd等价类划分

11、phone number输入合理等价类不合理等价类手机号1.以1开头的 11位数字字符2.非数字字符3.少于114.多于115.不以1开头测试用例:2.aaaaaaaaaaa 可以检查出错误3.aa 4.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 5. 可以检查出错误Add等价类划分e-mail address输入合理等价类不合理等价类邮箱号1.符合邮箱地址规则2.不符合地址规则测试用例:123#123#123#Delete等价类划分Delet等价类划分Search输入合理等价类不合理等价类选择1.1或22.非1或2的其他数字字符3.其他字符测试用例:2.3 可以检

12、查出错误3.a Delet等价类划分change输入合理等价类不合理等价类选择1.y或n或Y或N2.其他字符测试用例:2.a 可以检查出错误Modify等价类划分Modify等价类划分Search输入合理等价类不合理等价类选择1.输入1或22.非1或2的其他数字字符3.其他字符测试用例:2.3 可以检查出错误3.aModify等价类划分name或number输入合理等价类不合理等价类选择1.存入的名字或学号2.任意的字符测试用例:2.123 可以检查出错误Modify等价类划分option输入合理等价类不合理等价类选择1.输入18之间的任意数字2.非1或8的其他数字字符3.其他字符测试用例:2

13、.0 可以检查出错误 3.a2.6 集成测试 2.6.1 集成测试概要2.6.1.1 集成测试定义 此阶段测试基于单元测试的完成。主要目的检测系统是否达到需求对业务及数据流的处理是否符合标准,检测系统对业务流处理是否存在逻辑不严谨及错误检测需求是否存在不合理的标准及要求。2.6. 2 集成测试实现此阶段将前面的模块测试进行汇总由于大多数测试已经做过,汇总一起就只进行了简单的测试看是否各模块之间有影响。 2.7 系统测试 2.7.1 系统测试概要2.7.1.1 系统测试定义 用于核实用户与软件之间的交互。系统测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。2.7.1

14、.2系统测试实现 主要通过功能测试实现。与综合测试相同。3改进建议 在整个系统测试执行期间,项目组开发人员能够提出的各种缺陷,在一定程度上较好地保证了测试执行的效率以及测试最终期限。但是在整个软件测试活动中还是暴露了一些问题,如,测试执行时间相对较少,测试通过标准要求较低;细节性错误较多,测试时对管理平台不够熟悉,使用时效率偏低;测试时对系统了解不够透彻,测试执行时存在理解偏差,导致提交无效缺陷。通小组的协力合作,学生信息管理系统如期完成并达到交付标准。建议:需求提出方可以再使用该系统的基础上,继续搜集用户的使用需求反馈,并结合市场同类产品的优势,在今后的版本中不断补充并完善功能。l 在项目开

15、始的时候应该制定编码标准,需求变更标准,开发和测试人员都严格按照标准进行,可以在后期减少因为开发,测试不一致而导致的问题,同时也可以降低沟通成本。l 发布版本的时候,正确布置测试环境,减少因为测试环境出现的无效bug。l 开发人员解决bug的时候,填写bug原因以及解决方式,方便bug的跟踪。l 开发人员在开发版本上发现bug,可以通知测试人员,因为开发人员发现的bug很有可能在测试版本上出现,而测试人员和开发人员的思路不同,有可能测试人员没有发现该bug,而且,这样可以保证发现的bug都能够被跟踪。4 测试结论存在致命错误系统不合格,需要重新修改某些语句。下面从各方面说明系统存在的问题:4.

16、1 功能系统正确的实现了用户对学生信息增、删、改、查和排序的需求,小巧便捷。4.2 易用性现有系统实现了如下易用性:1. 输入方式可理解性2. 输入限制的正确性 3.操作提示信息正确性,一致性,可理解性 4.输入限制提示信息的正确性,可理解性,一致性5.学生信息增、删、改、查及显示的易用性现有系统存在如下易用性缺陷:1. 界面排版不美观,尤其是显示学生信息时2. 输入解释性说明不够详尽4.3 可靠性现有系统的可靠性控制不够严密,很多控制是通过用户输入,错误的输入有可能引起未知的错误,导致系统进入死循环。现有系统的容错性不高,如果系统出现错误,无返回值,系统易崩溃。此为严重错误。4.4安全性 程

17、序中输入一些特定序列可能引起死循环。5 心得体会通过本次测试学生信息管理系统项目,总结测试阶段的测试以及分析测试结果,基本预期完成了系统,软件测试的真正意义在于发现错误,而不在于验证软件是正确的,再严密的测试也不能完全发现软件当中的错误,要确保软件基本可用,要加强软件的响应的环节,还要增强软件的可移植性和兼容性,白盒测试来解决系统缓冲溢出,黑盒测试来解决用户交互的bug,从而全方面的提高系统的可用性,健壮性,安全性,稳定性,通过小组成员的通力合作,基本完成了软件功能,但是软件中还存在很多问题,需要进一步完善提高,比如程序中很多函数的判断语句带有scanf()函数,当输入一系列特定的不合理数据时

18、会使程序进入死循环。系统有待修改与完善。6 附件(程序代码)#include #include #include /include the prototype of exit()#include const int NUMLEN = 11 ;const int NAMLEN = 20 ; / name lengthconst int PHOLEN = 12 ; / max length of phone numberconst int MAILEN = 20 ; / mail length / The following constants used in struct ADDRESScons

19、t int PROLEN = 10 ; / province lengthconst int CITLEN = 25 ; / city lengthconst int COULEN = 25 ; / county lengthconst int VILLEN = 20 ; / village lengthint count = 0 ; / actual number of peopleint choice = 0 ; / users choice used in the menustruct BIRTHDAY / struct birthdayint year ;int month ;int

20、day ; ;struct ADDRESS / struct addresschar provincePROLEN ; / store province addresschar cityCITLEN ; / store city addresschar countyCOULEN ; / store county addresschar villageVILLEN ; / store village address ;struct STUDENT / struct studentchar nameNAMLEN ; / store namechar numNUMLEN ; / store scho

21、ol numberint age ;char sex ; struct BIRTHDAY bir ;struct ADDRESS addr ;char phonumPHOLEN ; /store phone numberchar mailMAILEN ; / store e-mail address ;struct STUDENT stu100 ; / the number of studentvoid Add(void) ;void Get_bir(void) ; / used in Add() to get birthdaybool check(struct BIRTHDAY bir) ;

22、 / used in Cet_bir() to check birs validitybool leap_year(int year) ; / used in check() to confirm whether it is a leap yearvoid Get_addr(void) ; / used in Add() to get addressvoid Get_phonum(void) ; / used in Add() to get phone numbervoid Get_mail(void) ; / used in Add() to get e-mail address/void

23、search_name(void) ; / search by namevoid search_num(void) ; / search by number (school number)void Display(int i) ; / display the information of someonevoid Search(void) ;/void Modify(void) ; / used to modify students informationvoid change(int i) ; / used in Modify() bool yes_or_no(void) ; / used i

24、n change()void change_name(void) ; / change information used in search by namevoid change_num(void) ; / change information used in search by numberbool confirm(void) ; / to acquire the users confirmvoid Name(int i) ; / modify name, the following all used in change()void Num(int i) ; / .void Age(int

25、i) ; / .void Sex(int i) ; / .void Bir(int i) ; / .void Addr(int i) ; / .void Phonum(int i) ; / .void Mail(int i) ; / ./void Delete(void) ; / delete informationvoid delete_name(void) ; / delete by namevoid delete_num(void) ; / delete by numbervoid del(int i) ;/void Sort(void) ; /void Menu(void) ;int

26、get_ch() ; / get users directivevoid Show(void) ;int main(void)int n ;Show() ;Menu() ;while (1)choice = get_ch() ;switch (choice)case 1:Add() ;break ;case 2:Delete() ;break ;case 3:Modify() ;break ;case 4:Search() ;break ;case 5:for (n = 0; n = 15 & stucount.age = 30)printf(Age ranges from 15 to 30,

27、 try again: ) ;getchar() ;printf(Enter your sex: ) ;while(!(scanf(%c,&stucount.sex) & (stucount.sex = m | stucount.sex = f)printf(The sex is %c?n,stucount.sex) ;getchar() ;Get_bir() ; / get birthdaygetchar() ;Get_addr() ; / get addressGet_phonum() ; / get phone numberGet_mail() ;count + ;printf(Done

28、!n) ;void Get_bir(void) printf(Enter your birthday like this: 2015 6 24n) ; printf(Enter your birthday: ) ; while(!(scanf(%d%d%d, &stucount.bir.year, &stucount.bir.month, &stucount.bir.day) & check(stucount.bir) Sleep(1000); printf(Wrong ! Try again: ) ; bool check (struct BIRTHDAY bir)if (2 = bir.m

29、onth)if(leap_year(bir.year)if(bir.day = 29) return true ;elseprintf(%d year %d month has %d days?n,bir.year,bir.month,bir.day) ;printf( 2 month has no more than 29 days even the year is a leap year!n) ;return false ;else if (bir.day 31)printf(Have you ever seen a month that has %d days?n, bir.day) ;

30、return false ;if(31 = bir.day)if(bir.month = 8 & bir.month % 2 = 0)return true ;elseprintf(%d month is not a solar month,so it shouldnt have more than 30 days.n,bir.month) ;return false ;else return true ;bool leap_year(int year)return (0 = year%4 & year% 100 != 0) | (0 = year%400) ? true : false ;v

31、oid Get_addr(void)printf(Enter your province: ) ;while(!scanf(%s,stucount.addr.province) printf(Something went wrong! Try again: ) ;getchar() ; printf(Enter your city: ) ;while(!scanf(%s,stucount.addr.city) printf(Something went wrong! Try again: ) ;getchar() ;printf(Enter your county: ) ;while(!sca

32、nf(%s,stucount.addr.county) printf(Something went wrong! Try again: ) ;getchar() ;printf(Enter your village: ) ;while(!scanf(%s,stucount.addr.village) printf(Something went wrong! Try again: ) ;getchar() ;void Get_phonum(void)printf(Enter phone number: ) ;while(!(scanf(%s,stucount.phonum) & (strlen(

33、stucount.phonum) = PHOLEN - 1 | strlen(stucount.phonum) = PHOLEN - 5) printf(Wrong! Try again: ) ;getchar() ;void Get_mail(void)printf(Enter e-mail address: ) ;while(!scanf(%s,stucount.mail) printf(Wrong! Try again: ) ;getchar() ;void Search(void)if(!count) printf(No person! Please add first.n) ;els

34、eint choice_12 = 0 ;printf(Search by name, input 1(one); by number, input 2n) ;printf(Enter your choice: ) ;while(!(scanf(%d,&choice_12) & (1 = choice_12 | 2 = choice_12)printf(Enter 1 or 2, Try again: ) ;switch(choice_12)case 1:search_name() ;break ;case 2:search_num() ;break ;void search_name(void

35、)char tempNAMLEN ;printf(Enter the name: ) ;while(scanf(%s,temp)int flag = 0 ;for (int i = 0; i name)Display(i) ;flag = 1 ;break ;if (!flag)printf(No such student!n) ;printf(Enter the name carefully: ) ;continue ;if (flag)break ;void search_num(void)char tempNUMLEN ;printf(Enter the number: ) ;while(scanf(%s,temp)int flag = 0 ;for (int i = 0; i num)D

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁