个人项目

 一.   题目简介

 图书管理系统

 本系统主要实现对图书馆信息的管理,主要可以分为两大块:图书信息的服务系统和图书的综合管理系统。

 图书的使用对象是借阅者,例如学生,教师;管理者是图书馆的管理员。因此根据这些信息,本系统的主要功能就是:实现图书馆图书信息的管理和维护,如用户信息管理,图书馆规则维护,新书入库,整理图书,修改图书信息和进行查询等;以及服务系统的图书信息查询,图书的借出和归还等功能。图书信息管理系统能够为用户提供充足的信息和快捷的查询手段.

 

一、    源码的github链接

 

 https://github.com/xutiantian/Test   (代码在主分支master中)

 

二、    所设计的模块测试用例、测试结果截图

 

1.测试用例简介

 

主要是JUnit4测试,从系统产品的界面﹑架构出发。被测试对象主要包括,图书馆管理系统的注册,登录界面,借书,还书,续借以及查询等功能的测试。也用到回归测试方法。

 

在实际工作中,回归测试需要反复进行,需要通过自动测试来实现重复的和一致的回归测试。通过测试自动化可以提高回归测试效率。为了支持多种回归测试策略,自动测试工具应该是通用的和灵活的,以便满足达到不同回归测试目标的要求。

 

回归测试并不减少对系统新功能和特征的测试需求,回归测试包应包括新功能和特征的测试。如果回归测试包不能达到所需的覆盖要求,必须补充新的测试用例使覆盖率达到规定的要求。

 

用例图:

 

 

2.测试内容

 

测试1:名称:系统身份验证测试

 

目的:测试系统登录界面。

 

内容:用户名、密码、身份输入、合理性检查、合法性检查,系统操作界面显示控制

 

测试2:名称:借书测试。

 

目的:测试借书功能。 

 

内容:括借阅证号输入、合理性检查、合法性检查,借书对话显示控制, 图书书号提交、合理性检查、合法性检查,借书登记。

 

测试3:名称:还书测试。

 

目的:测试还书功能。

 

内容:还书对话框显示控制,图书书号提交、合理性检查、合法性检查, 还书登记。

 

测试 4:名称:图书库管理测试。

 

目的:测试图书库操作功能。

 

内容:图书库管理界面显示控制,图书库浏览,增加图书记录,删除图 书记录,编辑图书记录。

 

测试5:名称:图书查询、借阅证查询、借阅信息查询测试。

 

目的:测试图书查询、借阅证查询、借阅信息查询功能。

 

内容:图书查询对话框显示控制,借阅证信息查询对话框显示控制,借阅信息查询对话框显示控制,输入数据合理性检验、提交,图书查询结果显示,借阅证查询结果显示,借阅信息查询结果显示。

 

3. 测试过程中发现的缺陷

 

(1)需求定义不明确

 

需求文档中,存在功能定义错误,输入输出字段描述错误,输入输出字段限制定义错误,输入输出限制定义缺失这几种类型的缺陷。使得开发人员根据需求进行设计时,没有考虑相关功能的关联性,以及需求错误的地方,在测试过程中,需求相关的问题表现出来。需求做改正,设计必须跟着做改动,浪费时间和影响开发人员的积极性,降低开发人员对需求的任,可能会导致开发人员不按照需求进行设计而根据自己的经验来进行设计。

 

(2)功能性错误

 

功能没有实现,导致无法进行需求规定的功能的测试。功能实现错误,实现了需求未定义的功能,执行需求定义的功能时系统出现 错误。

 

(3)页面设计和需求不一致

 

页面设计没有根据需求进行,输入,出现字段文字错误,用户无法理解字段含义。页面设计没有完成需求规定的输入限制验证,导致用户可以输入错误的或者无效的数据,这些数据有可能会引起功能性错误。

 

(4) 多语言数据问题

 

系统中很多输入字段是通过调用数据字典的方式输入,但是现有系统中,很多数据字典的多语言信息没有完成,导致使用多语言的时候,显示空白字段。系统中很多地方使用多语言,由于多语言编码统一导致页面设计和数据设计使用语言编码不一致,由此引起的多语言数据无法显示的缺陷。

 

(5)页面设计易用性缺陷

 

页面设计不友好,系统中很多页面的输入字段无明确的输入提示,用户无法理解何种输入是正确的,但是用户输入错误后,系统提示出错,增加用户负担。提示信息错误,不同模块相同结果的提示信息不一致,用户操作后,相应的 提示信息不明确,引起用户误解。提示信息一致性,用户在不同页面执行相同的操作,提示信息不同。

 

4.测试结果截图

进度条是红颜色表示发现错误,具体的测试结果在进度条上面有表示“共进行了4个测试,其中1个测试被忽略,两个测试失败”。

在测试类中用到了JUnit4框架,自然要把相应地Package包含进来。最主要地一个Package就是org.junit.*。把它包含进来之后,绝大部分功能就有了。还有一句话也非常地重要“import static org.junit.Assert.*;”,我们在测试的时候使用的一系列assertEquals方法就来自这个包。

你要测试哪个类,那么你首先就要创建一个该类的对象。

   为了测试Calculator类,我们必须创建一个calculator对象。

注释说明

@Test:

表明该方法是一个测试方法

@Before:

使用了该元数据的方法在每个测试方法执行之前都要执行一次。

@After:

使用了该元数据的方法在每个测试方法执行之后要执行一次。

注意:@Before和@After标示的方法只能各有一个。这个相当于取代了JUnit以前版本中的setUp和tearDown方法,当然你还可以继续叫这个名字,不过JUnit不会霸道的要求你这么做了

@Ignore:

该元数据标记的测试方法在测试中会被忽略。同时可以为该标签传递一个String的参数,来表明为什么会忽略这个测试方法。比如:@lgnore("该方法还没有实现"),在执行的时候,仅会报告该方法没有实现,而不会运行测试方法。

 

 三.问题及解决方案、心得体会

 

通过这次设计真切地体会到设计的目的并不止于自己单纯任务的完成,而在于学习新的知识并掌握具体的方法,如何具体使用和具体应用你所学所用的语言。从而获得一种本领:就是融会贯通各种语言。回首整个开发设计过程,我学到了很多书本上学不到的东西。包括系统可行性分析、系统需求分析、系统概要设计、系统详细设计等方面的工作。在每个设计阶段我都能学到一些新知识,对我的动手能力提高很大。

 

通过本次实践,掌握软件测试的基本步骤和方法,掌握实际软件工程中与软件测试有关的相关文档的编制。深刻学习掌握了软件测试和软件测试过程的基本方法和基本技术。页面设计还有进一步改善的地方,我会在今后的学习工作中着重加强这方面的锻炼。其中包括:分析各种需求、完善各种功能、增加必要环节、对各部分及整体进行检测与维护。当然仍存在许多问题不能解决地尽善尽美,还需不断地继续与探索。在结束设计的同时也感到了劳动的艰辛与劳动成果的来之不易,明白了设计项目是给自己提供了一个锻炼、升华、提高、完善的机会。

1、  在设计的时候最好先 右击 项目名称 选择 Properties  选择 java Compiler 将Compiler compliance level 设置为较高的版本

2、  要使用JUnit4进行测试 一定要进行如下操作

右击项目的名称选择 Properties

打开的界面中选择 java Build Path 选项

 

 

 

然后单击画红框的按钮

 

选择JUnit 选项

 

单击Next 按钮 在弹出的界面中将JUnit library version 设置为 JUnit4

 

最后单击 Finish 按钮。

      通过这次设计真切地体会到设计的目的并不止于自己单纯任务的完成,而在于学习新的知识并掌握具体的方法,如何具体使用和具体应用你所学所用的语言。从而获得一种本领:就是融会贯通各种语言。回首整个开发设计过程,我学到了很多书本上学不到的东西。包括系统可行性分析、系统需求分析、系统概要设计、系统详细设计等方面的工作。在每个设计阶段我都能学到一些新知识,对我的动手能力提高很大。

      通过本次实践,掌握软件测试的基本步骤和方法,掌握实际软件工程中与软件测试有关的相关文档的编制。深刻学习掌握了软件测试和软件测试过程的基本方法和基本技术。页面设计还有进一步改善的地方,我会在今后的学习工作中着重加强这方面的锻炼。其中包括:分析各种需求、完善各种功能、增加必要环节、对各部分及整体进行检测与维护。当然仍存在许多问题不能解决地尽善尽美,还需不断地继续与探索。在结束设计的同时也感到了劳动的艰辛与劳动成果的来之不易,明白了设计项目是给自己提供了一个锻炼、升华、提高、完善的机会。

posted @ 2015-05-06 17:43  徐晓萌  阅读(253)  评论(5编辑  收藏  举报