图书管理系统测试分析报告

图书管理系统测试分析报告

1引言

1.1编写目的

为了发现“图书管理系统”软件的错误,进行如下测试

1.2背景

a.测试软件系统名称:图书管理系统

1.3参考资料

《软件工程技术及应用》(东北林业大学出版社)

2测试概要

图书管理系统测试分析报告

1.系统登录窗口测试

测试目的:保证登录窗口的正确性与安全性。

测试过程:使用空密码及错误用户名密码进行登录,查看是否具有错误提示,错误提示是否符合实际情况。将操作员用户名和密码输入到管理员登录窗口中,把管理员用户名和密码输入到操作员登录窗口中,检测是否能够登录,是否有错误提示。

2.系统管理模块测试

测试目的:检测系统运行时是否保持于数据库处于连接状态,检测点击系统管理里面的“断开连接”按钮后是否与数据库断开连接。测试模块功能是否能够实现。

测试过程:分别在系统运行和断开连接时,删除数据库文件,如果数据库文件正被使用,说明处于连接状态。反之说明于数据库没有处于连接状态。

3.修改密码功能测试

测试目的:检测密码修改是否能够成功,是否具有容错性。

测试过程:输入错误的原密码,输入空密码。输入不一致的新密码,检测是否有出错提示。

4.图书录入、删除测试

测试目的:测试正确性、容错性和操作是否方便。

测试过程:输入空的书名、编号、时间。输入文本的格式的编号,重复的编号。检测更新数据库的正确性和容错性。

5.会员录入、删除测试

测试目的:测试正确性、容错性、操作是否方便。

测试过程:输入空的会员名/编号/时间等。输入文本的格式的编号,重复的编号。检测更新数据库的正确性和容错性。

6.会员解锁、挂失测试

测试目的:测试会员解锁功能是否正确,挂失操作是否正确

测试过程:对被锁用户编号为102的用户进行解锁,对用户进行挂失。检测正确性。

7.会员打印测试

测试目的:测试会员卡打印功能是否正确,是否具有容错性。

测试过程:打印空的会员卡,是否报错。打印会员编号为100的会员卡是否正确。

8.会员锁定测试

测试目的:测试会员违反借书还书管理规定时是否自动锁定。测试容错性

测试过程:同一用户在同一天再次借还过的书;同一用户在不同的日期借未还的书;同一用户已借书数目等于系统规定的个人最大借书数目时,执行借书操作。检测用户是否被锁定。

9.会员查询测试

测试目的:测试查询的准确性,容错性。

测试过程:输入错误的查询字段值,检测是否报错。输入精确的查询字段值,检测结果是否准确。输入模糊查询值,检测查询结果是否完整。

10.图书查询测试

测试目的:测试查询的准确性,容错性。

测试过程:输入错误的查询字段值,检测是否报错。输入精确的查询字段值,检测结果是否准确。输入模糊查询值,检测查询结果是否完整。

11.借书测试

测试目的:测试正确性,容错性。

测试过程:输入不存在的图书编号,输入空的图书号或用户名,输入库存为0的图书编号,检测是否有正确的出错提示。

12.还书测试

测试目的:测试正确性,容错性。

测试过程:输入会员没有借和已经归还的书编号,检测是否有正确的出错提示。

3.2测试2(标识符)

1.系统登录窗口测试结果

输入空的用户名或密码,提示错误“用户名或密码不能为空”。输入错误的管理员或操作员的密用户名或密码,提示错误“用户名或密码错误,请重新输入”。

2.系统管理模块测试

经过测试,管理模块功能实现正确。

3.修改密码功能测试

管理员修改密码部分,输入空的原密码或空的新密码或不一致的新密码,提示“管理员姓名或密码不能为空,并且新管理员密码不能两次输入不同”。输入错误的原密码,有效的新密码,提示“管理员姓名或管理员密码错误,请重新输入”。输入新管理员密码(20位以上)其修改过后有效的密码部分为前20位,说明密码有效长度为20个字符。但系统没有错误提示。

操作员修改密码部分,输入空的原密码或空的新密码或不一致的新密码,提示“用户名或密码不能为空,并且新管理员密码不能两次输入不同”。输入错误的原密码,有效的新密码,提示“用户名或密码错误,请重新输入”。输入新用户名密码(20位以上)其修改过后有效的密码部分为前20位,说明密码有效长度为20个字符。但系统没有错误提示。

4.图书录入、删除测试

输入空的图书编号或库存数量,提示更新不成功“图书编号不能为空”;“库存数量格式不正确”。输入相同的ISBN能够更新成功,不符合需求条件。

5.会员录入、册除测试

输入空的会员名/编号/时间等,提示“该会员不存在;编号不正确,请重新输入;时间错误等。输入重复的编号,提示“该编号已存在”。数据库更新成功。

6.会员解锁,挂失测试

对被锁用户编号102的用户进行解锁,对用户进行挂失。输入102,搜索,解锁,更新,提示“更新数据库成功”。

7. 会员打印测试

打印空的会员卡,提示“找不到该会员的记录”。打印100的会员卡,提示“开始打印”

8. 会员锁定测试

同一用户在同一天再次借还过的书;提示“库存不足或你的卡号被锁定,会员或图书不存在,不能借阅”。同一用户在不同的日期借位还的书,提示“存不足或你的卡号被锁定,会员或图书不存在”。同一用户已借书数目等于系统规定的个人最大借书数目时,执行借书操作,提示“库存不足或你的卡号被锁定,会员或图书不存在,不能借阅”。该用户以被锁定。

9. 会员查询测试

输入错误的查询字段值,检测是否报错:显示错误。输入精确的查询字段值,检测结果是否准确:准确。输入模糊查询值,检测查询结果是否完整:查询结果完整。

10. 图书查询测试

输入错误的查询字段值,检测是否报错:显示错误。输入精确的查询字段值,检测结果是否准确:准确。输入模糊查询值,检测查询结果是否完整:查询结果完整。

11. 借书测试

输不存在的图书编号,不显示。输入空的图书号或用户名,输入库存为0的图书编号,不显示

12. 还书测试

输入会员没有借和已经归还的书编号,显示该书的目录。

4对软件功能的结论

经过对图书馆管理系统的测试,基于时间关系,系统只有实现两个基本功能,正对这两个功能,进行测试后发现:在登陆功能上面,测试结果在用户名的合法性没有达到要求,由于管理员帐户在根据设定的过程中是在数据库中不能轻易更改,所以在数据库中留有两个管理员帐户。从总体上,系统实现的这两个功能实现了需求分析里面中登陆子系统和查询子系统的基本功能。

5分析摘要

5.1能力

正对现实实现情况,

该软件能够对管理模块进行安全性的设置,需要进行系统验证才能对其进行相应的操作;因此具有登陆验证的功能。

软件能够进行基本的图书信息查询。

5.2缺陷和限制

在登陆系统中,没有对不符合要求的admin_ID格式进行限制。

在查询系统中,没有对每一本图书详细信息的查询,只有大致的查询;

没有图书馆管理系统进行功能上的丰富,只有两个基本功能;

5.3建议

能够实现其他功能,完善图书馆管理系统;

5.4评价

该项软件的开发已达到预定目标,能交付使用。

 

第二篇:图书管理系统测试课程设计

课程设计(大作业)报告

课程名称: 软件质量保证与测试

设计题目: 图书管理系统测试

院 系: 信息技术学院

班 级: 09级计算机科学与技术本(2)班

设 计 者: 寸**

学 号: 200****42

指导教师: 文 瑾

设计时间: 20xx年1月5日

昆明学院课程设计(大作业)任务书

姓 名:寸得艳 院(系):信息技术学院

专 业:计算机科学与技术 学 号:200****42

任务起止日期:20xx年1月4日—20xx年1月6日

课程设计题目:图书管理系统测试

课程设计要求:

1、 掌握软件测试的基本步骤和方法;

2、根据课题的要求进行上机实验调试;

3、基本掌握实际软件工程中与软件测试有关的相关文档的编制;

4、严格按时间要求进行课程设计,不迟到、不缺席、不早退。

工作计划及安排:

2012年12月31日:8:30~12:00 布置任务

2012年12月31日:14:30~16:00 查资料,选项目

20xx年1月4日-20xx年1月5日: 测试、排除故障

20xx年1月6日:8:30~12:00 书写设计报告

20xx年1月6日:14:30~16:00 验收、考核

指导教师签字

年 月 日

课程设计(大作业)成绩

学号:2009****2 姓名:寸** 指导教师:文*

课程设计题目:图书管理系统测试

总结:

经过对图书馆管理系统的测试,在登录功能上面,测试结果在用户名的合法性有达到要求,由于用户账户在根据设定的过程中是在数据库中不能轻易更改,所以在数据库中留有三个用户帐户。从总体上,系统实现功能需求分析里面中注册,登录系统和查询系统等的基本功能。

在这次课程设计的训练中,我遇到了许多的困难,出现了许多的错误,但通过同学的帮助,我逐渐改正了错误,一步一步的完善程序。在此过程中同学的意见给了我很大的启发,让我更加深入的思考程序,解决程序中出现的逻辑错误,用户使用起来会更加方便。

通过这次学习,让我明白编写程序的涵义它不是我们自己试着玩的东西而序变得更完善全面,用户使用起来会更加方便。是应该提供给别人,让别人能正确运行的。我们设计的应该是可以供他人使用的,所以在设计时要考虑全面要给足提示信息让人能够明白。其次,在这次训练中我的程序测试能力有所提升。让我能够对程序中的定义正确使用及使用数组熟练的使用文件存储,还有循环嵌套等应用虽然以前也曾用到过但是没能让我真正的使用会,通过这次编程不仅丰富了我的课内知识同时也是我的程序编写更加的熟练、简便。提升了我的整体水平。总体来说,受益匪浅。

指导教师评语:

成绩:

填表时间: 指导教师签名:

课程设计(大作业)报告

一、 引言

1.1背景

随着现代科学技术的进步,人类社会正逐渐走向信息化,图书馆拥有丰富的文献信息资源,是社会系统的重要组成部分,在信息社会中作用愈来愈重要,我国图书馆计算机等信息技术的应用起步于20世纪70年代末期,随着改革开放的步伐得迅速发展,特别是90年代以后,我国图书馆信息网络建设取得了较大发展图书馆信息化建设迈向了一个新台阶。

大三我们的软件工程课程设计要求应用软件工程的方法对我们的项目进行详细的需求分析、概要设计、详细设计以及进行必要的测试,旨在让程序能够实现读者管理功能、采编管理功能、流通管理功能、统计管理功能和查询管理功能。在此基础上让程序能够实现图书管理的自动化,帮助广大师生更好的管理和使用图书,提高图书在信息时代的作用。为使图书管理工作科学化、规范化,就必须采用计算机辅助管理,从而减少人力的投入,由系统对入库图书进行自动分类、归类,学生信息整理、借阅情况登记入档,提高信息处理的精度和准确度。

1.2 编写目的

根据测试计划报告,对软件进行测试,详细记录测试过程,以对软件的质量进行评价,为软件设计人员提供BUG依据,故做产生测试分析报告。

1.3 定义

ASP:是一种未经编译的开放性的应用软件,利用HTML和ActiveX强有力的功能创建强壮的,功能强大的,与平台无关的Web应用系统

二、测试计划

2.1 系统说明

(1)功能模块:读者管理、流通管理、统计管理、查询管理。

(2)读者管理功能主要是读者基本信息;

(3)流通管理功能包括借书管理、还书管理、图书预约和图书状态管理;

(4)统计管理功能包括各类书籍的馆藏统计和已出借书籍统计和为出借书籍统计;

(5)查询管理功能包括读者信息查询和图书信息查询等。

2.2 测试策略

测试策略包括用户界面测试、软件功能测试、软件可靠性测试。

用户界面测试:通过和用户交互如输入相应信息(包括正确信息和错误信息)来测试输出信息的正确性。

软件功能测试:对照用户需求来测试本系统的功能是否完全符合用户需求。

软件可靠性测试:通过模拟图书馆的实际功能在不同的配置环境下来对本系统进行功能可靠性测试,查看是否能够正常完成图书馆管理系统的各项功能。

用户界面

图书管理系统测试课程设计

软件功能测试

图书管理系统测试课程设计

软件安全可靠性

图书管理系统测试课程设计

三、测试方案

3.1 测试方法

系统测试是将经过集成测试后的软件,作为计算机系统的一个部分,与计算机硬某些支持软件、数据和人员等系统元素结合起来,在实际运行环境下对计算机系统进行一系列的严格有效的测试来体现软件的潜在问题,保证系统的运行。

系统测试应该由若干个不同测试组成,目的是充分运行系统,验证系统各部件是否都能正常工作并完成所赋予的任务。这里所谓的系统不仅仅包括软件本身,而且还包括计算机硬件及其相关的外围设备、实际运行时大批量数据、非正常操作(如黑客攻击)等。通常意义上的系统测试包括:

(1)压力测试:模拟实际应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件来测试系统的性能、可靠性、稳定性等。

(2)容量测试:预先分析出反映软件系统应用特征的某项指标的极限值。

(3)性能测试:通过测试确定系统运行时的性能表现,如得到运行速度、响应时间、占有系统资源等方面的系统数据。

(4)安全测试:检查系统对非法入侵的防范能力。系统安全设计的准则是,使非法入侵的代价超过被保护信息的价值。

(5)容错测试:主要检查系统的容错能力。当系统出错时,能否在指定时间间隔内修正错误并重新

3.2 程序流程图

四、测试过程

4.1 测试项目名称及测试内容

测试1

名称:系统操作登陆注册用户测试

目的: 测试系统操作界面。

内容: 账号口令输入、合理性检查、合法性检查,系统操作界面显示控制

测试2

名称:图书信息管理界面测试

目的: 测试图书管理系统操作功能。

内容:图书管理界面显示控制。

4.2 测试工具

图书管理系统测试课程设计

五、测试结果

5.1 注册测试结果

(1)输入用户名:123456,密码:123,测试结果如图:

(2)输入用户名:fad1,密码:456,测试结果如下:

(3)输入用户名:73469,密码:1563,测试结果如下:

5.2 登录测试结果

(1)输入用户名:fad1,密码:123,测试结果如下:

(2)输入用户名:189,测试结果如下:

(3)输入已经注册的用户名:123456,密码:123,测试结果如下:

5.3 退出系统测试结果

5.4能力

图书管理系统测试课程设计

六、分析

6.1 缺陷和限制

一个更完美的图书管理系统,应提供更为便捷与强大的信息查询功能,如相应的网络操作及服务,由于开发时间和计算机数目有限,该系统并未提供这一功能,对信息的保护,手段仅限于设置用户级别,以及提供数据文件的备份,比较简单,不能防止恶意的破坏,安全性能有待进一步完善。

6.2 评价

本软件到达预定目标,可以交付使用。

6.3测试资源消耗

(1)系统运行环境:Windows XP系统

(2)系统开发平台: Microsoft Visual C++ 6.0

(3)数据库管理系统软件: Microsoft SQL Server 2005

(4)系统测试用时:一天

七、参考资料

【1】《软件工程导论》(第五版),张海藩编著,清华大学出版社,2008年2月第5版

【2】软件测试与Junit实践,王东刚编著,人民邮电出版社

【3】人事管理系统项目开发计划,软件开发小组

【4】用户操作手册(初稿),软件开发小组

【5】软件工程导论----第四版张海藩编著,清华大学出版社

八、附录

#include <iostream>

#include <string.h>

#include <string>

#include <fstream>

using namespace std;

void add_zhuce() //实现注册用户

{

string name,code,code1;

fstream outfile5("D:\\dd.txt",ios::out|ios::app); //以写方式打开文件

if(! outfile5)

cout<<"打开文件失败!"<<endl;

else

{

cout<<"请注册用户\n";

cout<<"请输入您的用户名:";

cin>>name;

fstream infile6("D:\\dd.txt",ios::in); //以读方式打开文件

if(! infile6)

{

cout<<"打开文件失败!"<<endl;

return;

}

string a[100][2]; //定义一个string类型的二维数组,用来保存从文本内读取的信息

int line=0;

memset(a,0,sizeof(a)); //将数组清空

while(!infile6.eof()) //文件不为空的条件设置

{

infile6>>a[line][0]>>a[line][1]; //文件流读取数据

line++;

}

for(int i=0;i<line;i++)

{

if(a[i][0]==name)

{

cout<<"此用户已存在!谢谢使用本系统注册用户界面!欢迎下次使用!"<<endl;

exit(0);

}

}

outfile5<<name<<" ";

cout<<"请输入您的密码:";

cin>>code;

cout<<"请再次输入您的密码:";

cin>>code1;

if(code!=code1)

{

cout<<"您两次输入的密码不一致!谢谢使用本系统注册用户界面!欢迎下次使用!"<<endl;

exit(0);

}

else

outfile5<<code1<<endl;

}

cout<<"谢谢使用本系统注册用户界面!您已注册成功!"<<endl;

outfile5.close();

}

void welcome() //验证用户登陆,登陆成功显示欢迎信息

{

string name,code;

int mark=0;

fstream infile("D:\\dd.txt",ios::in);

if(!infile)

{

cerr<<"打开文件错误"<<endl;

return;

}

int line=0;

string a[100][100];

memset(a,0,sizeof(a)); //将数组清空

while(!infile.eof()) //文件不为空的条件设置

{

infile>>a[line][0]>>a[line][1]; //文件流读取数据

line++;

}

cout<<"用户名:";

cin>>name;

int m=-1;

for(int i=0;i<line;i++)

{

if(a[i][0]==name)

{

m=i;

mark=i;

break;

}

}

if(m==-1)

{

cout<<"该用户不存在,请注册用户"<<endl;

add_zhuce();

}

cout<<"密码:";

cin>>code;

for(int j=0;j<2;j++)

{

if(a[mark][1]==code)

{

cout<<"成功登入"<<endl;

break;

}

else

{

cout<<"密码错误,请重新输入"<<endl;

cout<<"密码:";

cin>>code;

}

}

}

void Readerinfo()

{

int b;

cout<<endl;

cout<<endl;

cout<<" --读者信息管理--"<<endl;

cout<<"\n";

cout<<" --------------------\n";

cout<<" - -\n";

cout<<" - 1. 添加读者信息 -\n";

cout<<" - 2. 修改读者信息 -\n";

cout<<" - 3. 删除读者信息 -\n";

cout<<" -0 . 退出 -\n";

cout<<" - -\n";

cout<<"\ --------------------\n";

cout<<"请输入您选择的数字<0-3>:";

cin>>b;

switch(b)

{

case 1: break;

case 2: break;

case 3: break;

case 0: break;

default: cout<<"输入数字错误!"<<endl;

}

}

void Bookinfo()

{

int a;

cout<<endl;

cout<<endl;

cout<<" --图书信息管理--"<<endl;

cout<<"\n";

cout<<" ----------------------\n";

cout<<" - -\n";

cout<<" - 1. 删除图书信息 -\n";

cout<<" - 2. 增加图书信息 -\n";

cout<<" - 3. 修改图书信息 -\n";

cout<<" - 4. 查询图书信息 -\n";

cout<<" - 0. 退出 -\n";

cout<<" - -\n";

cout<<" --------------------- \n";

cout<<"请输入您选择的数字<0-4>:";

cin>>a;

switch(a)

{

case 1:break;

case 2:break;

case 3:break;

case 4:break;

case 0:break;

default: cout<<"输入数字错误!"<<endl;

}

}

void ReadBook()

{

int c;

cout<<endl;

cout<<endl;

cout<<" --图书借阅管理--"<<endl;

cout<<"\n";

cout<<" -------------------\n";

cout<<" - -\n";

cout<<" - 1. 图书借阅 -\n";

cout<<" - 2. 图书归还 -\n";

cout<<" - 0. 退出 -\n";

cout<<" - -\n";

cout<<" -------------------\n";

cout<<"请输入您选择的数字<0-2>:";

cin>>c;

switch(c)

{

case 1: break;

case 2: break;

case 0: break;

default: cout<<"输入数字错误!"<<endl;

}

}

void InfoSum()

{

int c;

cout<<endl;

cout<<endl;

cout<<" --图书信息统计--"<<endl;

cout<<"\n";

cout<<" ------------------------\n";

cout<<" - -\n";

cout<<" - 1. 图书总量统计 -\n";

cout<<" - 2. 按图书类别统计 -\n";

cout<<" - 3. 图书借阅排行 -\n";

cout<<" - 4. 读者借阅排行 -\n";

cout<<" - 0. 退出 -\n";

cout<<" - -\n";

cout<<" ------------------------\n";

cout<<"请输入您选择的数字<0-4>:";

cin>>c;

switch(c)

{

case 1: break;

case 2: break;

case 3: break;

case 4: break;

case 0: break;

default: cout<<"输入数字错误!"<<endl;

}

}

void System_maintenance()

{

int c;

cout<<endl;

cout<<endl;

cout<<" --图书信息系统维护--"<<endl;

cout<<"\n";

cout<<" ---------------------\n";

cout<<" - -\n";

cout<<" - 1. 读者类别设置 -\n";

cout<<" - 2. 图书类别设置 -\n";

cout<<" - 3. 用户管理 -\n";

cout<<" - 4. 罚金标准设置 -\n";

cout<<" - 0. 退出 -\n";

cout<<" - -\n";

cout<<" ---------------------\n";

cout<<"请输入您选择的数字<0-4>:";

cin>>c;

switch(c)

{

case 1: break;

case 2: break;

case 3: break;

case 4: break;

case 0: break;

default: cout<<"输入数字错误!"<<endl;

}

}

void Please()

{

welcome(); //验证用户登陆,登陆成功显示欢迎信息

int chiose;

cout<<"\n\n";

while(1)

{

cout<<" --欢迎使用图书信息管理系统--"<<endl;

cout<<"\n";

cout<<" ------------------------------------\n";

cout<<" - -\n";

cout<<" - -\n";

cout<<" - 1.读者信息管理 2.图书信息管理 -\n";

cout<<" - 3.图书借阅管理 4.信息统计 -\n";

cout<<" - 5.系统维护 0.退出系统 -\n";

cout<<" - -\n";

cout<<" - -\n";

cout<<" -------------------------------------\n";

cout<<"请输入您选择的数字<0-4>:";

cin>>chiose;

switch(chiose)

{

case 1: Readerinfo(); break;

case 2: Bookinfo(); break;

case 3: ReadBook(); break;

case 4: InfoSum(); break;

case 5: System_maintenance(); break;

case 0: cout<<"\t\t--欢迎下次使用本系统--"<<endl; exit(0);

default: cout<<"输入数字错误!"<<endl;

}

}

}

void main()//主函数

{

//system("color 3F");

int w;

cout<<" -------------------\n";

cout<<" - -\n";

cout<<" - 1.用户登录 -\n";

cout<<" - 2.用户注册 -\n";

cout<<" - 0.退出系统 -\n";

cout<<" - -\n";

cout<<" -------------------\n";

while(1)

{

cout<<"请输入数字<0-2>:";

cin>>w;

switch(w)

{

case 1:Please(); break;

case 2:add_zhuce(); break;

case 0:exit(0);

default: cout<<"输入数字错误!"<<endl;

}

}

}

相关推荐