软件测试课程设计报告.docx
《软件测试课程设计报告.docx》由会员分享,可在线阅读,更多相关《软件测试课程设计报告.docx(28页珍藏版)》请在冰豆网上搜索。
![软件测试课程设计报告.docx](https://file1.bdocx.com/fileroot1/2023-3/31/48b0f770-89ee-4526-b395-3b55f529b40e/48b0f770-89ee-4526-b395-3b55f529b40e1.gif)
软件测试课程设计报告
成绩
课程设计报告
题目图书系统软件测试
课程名称软件测试技术课程设计
院部名称计算机工程学院
专业M11计算机科学与技术
班级M11计算机科学与技术Ⅱ
学生姓名
学号
课程设计地点A107
课程设计学时20
指导教师王智钢
金陵科技学院教务处制
1.测试需求分析
1.1系统概述
本图书管理系统是一款功能非常强大的图书管理软件,本系统在继承了以往系统版本优点的基础上做了进一步优化;在功能上,本系统不仅包含图书管理的常用功能(如书籍管理、期刊管理、物品管理、读者管理、借、还、预借、续借和统计分析等等功能),而且还增加了条码的生成和打印功能(不仅为使用者省去了购买价格昂贵的条码专用打印机的费用,而且条码产生更方便,与系统结合更紧密)。
考虑到很多单位和学校有现成的身份IC卡(校园卡、会员卡等),为了有效的利用这些已有资源,让使用者使用更方便,我们特在系统中加入了会员卡管理功能,这样,图书管理员不仅可以通过读者编号进行借阅操作,也可以通过已有的身份卡(配合刷卡机或者条码扫描抢使用)来完成操作;在系统的办卡管理中有新办卡、换卡和注销卡等功能,彻底解决丢卡后的安全隐患问题(向制卡公司定制卡时,一般会要求每张卡的ID号都不同,所以一旦换卡了,原来的会员卡就作废了,即使丢失卡被别人捡到也不能进行正常的借阅操作)。
本系统具有操作简单,易学易用的特点。
在开发过程中,我们总结了多年使用电脑管理图书馆业务的经验,注意到工作人员在使用电脑时容易发生的人为错误,因而使系统具有较强的容错和排错功能,而且本系统自带了一些常用的资料库(如中图分类库,出版社库等,系统会自动根据图书的标准ISBN码检索出当前图书的出版社名称和出版地点等,从而实现图书的自动录入的功能),使得用户在录入图书资料时更轻松;系统也自带了通用数据导入功能,可以非常简单地把用户以前的已有资料或者通过采集器采集到的数据资料导入到本系统中,避免了大量的重复劳动。
经过长时间的不断测试和完善,系统的安全性和稳定性得到保证。
本系统完全可以配合条码扫描枪使用,操作会更流畅,更简单。
技术简介:
本系统采用AdaptiveServerAnywhere数据库、C/S结构,完全支持多用户操作;可运行于Windows9x/WindowsNT/2000/Xp/2003平台,有良好的兼容性、先进性与扩充性;可在线升级。
系统特点:
操作简单、界面清晰、功能强大、运行稳定快速、系统资源占用少。
1.2测试需求
本次测试针对开发的图书馆管理系统进行,包括功能测试,界面测试,图书管理测试,信息查询测试,借书测试,还书测试,用户、管理员管理测试。
按照规格需求说明书中的功能进行测试,在测试过程中发现软件的漏洞不足并予以改正。
测试标识符
测试内容
实际测试工作内容与预先设计的内容的差别
系统登陆测试
检查用户是否合理、合法
无
图书管理测试
查询、添加、删除、修改图书信息
无
信息查询测试
进行图书信息查询
无
借书测试
读者从图书馆借出书籍
无
还书测试
读者退还所借书籍
无
用户、管理员管理测试
添加、删除、修改用户、管理员信息
无
3.测试计划
3.1测试方案的选择
测试的方法:
在这里我们有黑盒、白盒、静态、动态、回归、单元和集成测试等方法。
黑盒测试:
黑盒测试又称功能测试或者数据驱动测试。
黑盒测试是根据软件的规格对软件进行的测试,这类测试不考虑软件内部的运作原理,因此软件对用户来说就像一个黑盒子。
软件测试人员以用户的角度,通过各种输入和观察软件的各种输出结果来发现软件存在的缺陷,而不关心程序具体如何实现的一种软件测试方法。
白盒测试:
白盒测试又称结构测试或者逻辑驱动测试。
白盒测试是把测试对象看作一个打开的盒子。
利用白盒测试法进行动态测试时,需要测试软件产品的内部结构和处理过程,不需测试软件产品的功能。
白盒测试是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证
静态测试:
静态测试指测试不运行的部分,例如测试产品说明书,对此进行检查和审阅.。
静态方法是指不运行被测程序本身,仅通过分析或检查源程序的文法、结构、过程、接口等来检查程序的正确性。
静态方法通过程序静态特性的分析,找出欠缺和可疑之处,例如不匹配的参数、不适当的循环嵌套和分支嵌套、不允许的递归、未使用过的变量、空指针的引用和可疑的计算等。
静态测试结果可用于进一步的查错,并为测试用例选取提供指导
动态测试:
动态测试是指通过运行软件来检验软件的动态行为和运行结果的正确性。
回归测试:
回归测试是指在发生修改之后重新测试先前的测试以保证修改的正确性。
理论上,软件产生新版本,都需要进行回归测试,验证以前发现和修复的错误是否在新软件版本上再次出现。
根据修复好了的缺陷再重新进行测试。
回归测试的目的在于验证以前出现过但已经修复好的缺陷不再重新出现。
一般指对某已知修正的缺陷再次围绕它原来出现时的步骤重新测试。
通常确定所需的再测试的范围时是比较困难的,特别当临近产品发布日期时。
因为为了修正某缺陷时必需更改源代码,因而就有可能影响这部分源代码所控制的功能。
所以在验证修好的缺陷时不仅要服从缺陷原来出现时的步骤重新测试,而且还要测试有可能受影响的所有功能。
单元测试:
单元测试是最微小规模的测试;以测试某个功能或代码块。
典型地由程序员而非测试员来做,因为它需要知道内部程序设计和编码的细节知识。
这个工作不容易做好,除非应用系统有一个设计很好的体系结构;还可能需要开发测试驱动器模块或测试套具。
集成测试:
集成测试是指一个应用系统的各个部件的联合测试,以决定他们能否在一起共同工作并没有冲突。
部件可以是代码块、独立的应用、网络上的客户端或服务器端程序。
这种类型的测试尤其与客户服务器和分布式系统有关。
一般集成测试以前,单元测试需要完成。
集成测试是单元测试的逻辑扩展。
它的最简单的形式是:
两个已经测试过的单元组合成一个组件,并且测试它们之间的接口。
从这一层意义上讲,组件是指多个单元的集成聚合。
在现实方案中,许多单元组合成组件,而这些组件又聚合成程序的更大部分。
方法是测试片段的组合,并最终扩展进程,将您的模块与其他组的模块一起测试。
最后,将构成进程的所有模块一起测试。
此外,如果程序由多个进程组成,应该成对测试它们,而不是同时测试所有进程。
集成测试识别组合单元时出现的问题。
通过使用要求在组合单元前测试每个单元,并确保每个单元的生存能力的测试计划,可以知道在组合单元时所发现的任何错误很可能与单元之间的接口有关。
这种方法将可能发生的情况数量减少到更简单的分析级别
测试用例的选取原则:
一:
测试用例必须具有代表性、典型性。
二:
测试用例要有“浓缩性”,即精要、综合。
三:
尽量避免含糊的测试用例。
四:
尽量将具有类似效果的测试用例抽象并归类。
五:
尽量避免冗长和复杂的测试用例。
3.2测试方案:
采用黑盒测试方法。
对功能进行逐一测试,在输入合理及不合理的数据后测试系统的正常运作情况。
3.3测试项目
测试1:
系统登录测试
测试2:
图书管理测试
测试3:
信息查询测试
测试4:
系统管理测试
测试5:
借书测试
测试6:
还书测试
3.4测试准备
计划测试项目,设计合理的测试用例。
3.5测试覆盖率要求
(1)对源代码的测试覆盖率要求
在这里我们争取对软件关键模块的语句覆盖率要达到100%,分支覆盖要达到85%以上。
从而使系统的整体代码覆盖率能够达到87%以上。
(2)对需求的测试覆盖率要求
在这里争取测试用例的执行率要在100%,即所有用例都要执行一遍,测试用例的通过率要达到95%以上。
4.测试项目说明
4.1测试项目名称及测试内容
测试1:
名称:
系统登录测试
目的:
测试系统操作界面
内容:
帐号口令输入、合理性检查、合法性检查,系统操作界面显示控制
测试2:
名称:
图书管理测试。
目的:
测试图书库操作功能。
内容:
图书库管理界面显示控制,图书库浏览,增加图书记录,删除图书记录,编辑图书记录。
测试3:
名称:
信息查询测试
目的:
测试系统信息查询功能
内容:
输入查询关键字,进行图书信息查询,管理员可查询学生信息,借阅信息
测试4:
名称:
系统管理测试
目的:
测试系统管理的功能
内容:
系统管理,创建用户,删除用户,修改用户,更改口令。
测试5:
名称:
借书测试
目的:
测试借书功能
内容:
学生查找书籍,找到所要书籍进行借阅
测试6:
名称:
还书测试
目的:
测试还书功能
内容:
学生退还所借书籍,记录借还信息。
4.2测试用例
4.2.1用例1:
系统登录测试
输入
输出
用户名
密码
权限
admin
admin
管理员
登录失败,输入错误
admin
123456
管理员
登录失败,输入错误
admin
管理员
登录成功,进入管理员模块
1.输入:
”admin““admin”
输出要求:
登陆失败
输出结果:
2.输入:
”admin““123456”
输出要求:
登陆失败
输出结果:
3.输入:
”admin““”
输出要求:
登陆成功
输出结果:
4.2.2测试2(图书管理测试)
1.添加图书测试
输入:
图书信息
输出要求:
添加成功
输出结果:
2.修改图书测试
输入:
输出要求:
修改成功
输出结果:
3.删除图书测试
输入:
删除”编译原理”
输出要求:
已经删除此书
输出结果:
与书库对比,已删除此书:
4.2.3测试3(信息查询测试)
1.图书信息查询测试:
输入:
”计算机”,显示相关书籍
输出要求:
显示出查询结果(查询计算机组成与结构)
输出结果:
2.学生信息查询测试:
输入:
读者姓名:
”田远”
输出要求:
显示该读者的信息以及所借的书籍
输出结果:
4.2.4测试4(系统管理测试)
用户添加:
1.用户添加测试
输入:
要求:
添加成功
结果:
2.切换用户测试
输入:
要求:
登录成功
结果:
3.修改密码测试
输入:
要求:
修改成功
结果:
普通用户测试用例:
输入
输出
用户名
密码
学生
1
用户名重复
1
用户名不能为空
游客
2
添加用户成功
1.输入:
”学生””1”
输出要求:
用户名重复
输出结果:
2.输入:
””“1”
输出要求:
用户名不能为空
输出结果:
3.输入:
”游客”“2”
输出要求:
添加成功
输出结果:
修改用户测试用例:
输入
输出
修改前
修改后
用户名
密码
是否锁定
用户名
密码
是否锁定
学生
1
未锁定
学生
11
未锁定
修改成功
学生
1
未锁定
读者
1
未锁定
修改成功
学生
1
未锁定
读者
11
锁定
修改成功
学生
1
未锁定
读者
11
锁定
修改成功
1.输入:
密码改为”4”
输出要求:
修改成功
输出结果:
2.其他修改测试类似
3.添加管理员测试和修改密码测试类似于添加普通用户测试和修改用户测试
4.2.5测试5(借书测试)
借书测试用例:
输入
输出
原因
用户id
图书id
待操作列表中无数据记录
用户编号不能为空
31
待操作列表中无数据记录
图书编号不能为空
1111
123456
待操作列表中无数据记录
此用户不存在
31
1234567
待操作列表中无数据记录
此书不存在
31
123456
借书成功
1.输入:
””“”
输出要求:
借书失败
输出结果:
2.输入:
”31”””
输出要求:
添加失败
输出结果:
3.输入:
”1111”“123456”
输出要求:
添加失败
输出结果:
4.输入:
”31”“1234567”
输出要求:
添加失败
输出结果:
5.输入:
”31”“123456”
输出要求:
添加成功
输出结果:
4.2.6测试6(还书测试)
还书测试用例:
输入
输出
原因
用户id
图书id
待操作列表中无数据记录
用户编号不能为空
31
待操作列表中无数据记录
图书编号不能为空
1111
123456
待操作列表中无数据记录
此用户不存在
31
1234567
待操作列表中无数据记录
此书不存在
31
123456
还书成功
1.输入:
””“”
输出要求:
还书失败
输出结果:
2.输入:
”31”””
输出要求:
还书失败
输出结果:
3.输入:
”1111”“123456”
输出要求:
还书失败
输出结果:
4.输入:
”31”“1234567”
输出要求:
还书失败
输出结果:
5.输入:
”31”“123456”
输出要求:
还书成功
输出结果:
5.对软件功能的结论
5.1功能1(系统登录)
5.1.1能力
在测试过程中对于选用的用例基本能过提出错误提示,变现良好。
5.1.2限制
在输入时如果选择了游客,则无论是否输入用户名和密码都会进入游客模块,在该功能上还有待进一步改进。
5.2功能2(图书管理测试)
5.2.1能力
图书管理测试中的各项功能,包括添加图书、修改图书、删除图书,添加图书分类、修改图书分类、删除图书分类,表现得都比较迅速。
5.2.2限制
对于图书信息表的数据项还应该多添加一些,这点还有待进一步改善。
5.3功能3(图书查询测试)
5.3.1能力
图书查询速度较快,查询能力也较好。
5.3.2限制
由于数据库内容较少,查询速度不能反应出软件处理的真实情况,这点还需有待验证。
5.4功能4(系统管理测试)
5.4.1能力
在添加、删除、修改用户和管理员的功能上都较快。
5.4.2限制
由于数据库内容较少,添加、修改、删除速度都还不能反应出软件处理的真实情况,这点还需有待验证。
5.5功能5(借书测试)
5.5.1能力
还书能力较好,速度也较快。
5.5.2限制
最好能实现用户自己自主实现借阅功能,但需要自主借阅限制。
5.6功能6(还书测试)
5.6.1能力
还书能力较好,速度也较快。
5.6.2限制
最好能实现用户自己自主实现借阅功能,但需要自主借阅限制。
6.测试评价与结论
6.1能力
针对现实情况,该软件能对管理模块进行相应的操作,能做到基本的登陆验证、图书管理、还书、借书、图书查询、用户、管理员管理等功能,而且还增加了条码的生成和打印功能,界面简洁美观,反应速度还能令人满意。
6.2缺陷和限制
在登录系统中,没有对不符合要求的用户名和密码格式进行限制。
在图书管理系统中,数据库中的内容还较少,不能较准确的反应出添加、删除、修改图书信息以及添加、删除、修改图书分类信息的速度。
在图书查询系统中,没有对每一本书的详细信息进行查询,而且数据库较小。
在借书和还书系统中,只有管理员能实现此功能,学生不能自主借书,还书。
6.3建议
a.增加登录时的验证规则;
b.增加数据库中的内容;
c.增加查询时的现实信息;
7.总结
此图书管理系统是功能非常强大的图书管理软件,此系统在继承了以往系统版本优点的基础上做了进一步优化;在功能上,此系统不仅包含图书管理的常用功能(如书籍管理、期刊管理、物品管理、读者管理、借、还、预借、续借和统计分析等等功能),而且还增加了条码的生成和打印功能(不仅为使用者省去了购买价格昂贵的条码专用打印机的费用,而且条码产生更方便,与系统结合更紧密)。
针对实现了的图书馆管理系统的功能模块,基本上达到了预定的要求。
只有在登录系统中,没有对用户名格式的验证。
还有,在借书和还书系统上,也有一定的缺陷。
这次课设,在设计过程中碰到了很多问题,刚开始要设计的时候不知道从哪里下手,但通过不断摸索和老师的教导得以解决,让我学到了很多书本上没有的东西,我也将课本上的知识融会贯通,起到了很好的辅助学习的效果,我也发现我学到的知识比上个学期学的还要多。
理论和实践相结合是学习的最有效的方法,这次设计中我也发现了自己的很多不足之处,对以前所学的理解不够深刻,掌握不够牢固。
通过此次软件测试的课程设计,我深刻学习掌握了软件测试和软件测试过程的基本方法和基本技术,关于黑盒、白盒的测试用例的设计,也进行了认真学习研究,从而进一步提高了自己在程序上的编写能力,以及一些之前未触及的问题,为即将踏上社会的自己又做了一份理论和实践的准备。
8.参考资料
[1]《软件工程导论》(第五版),张海藩编著,清华大学出版社,2008年2月
[2]可行性研究报告
[3]项目开发计划书
[4]需求规格说明书
[5]概要设计说明书
[6]详细设计说明书