https://www.bilibili.com/video/BV146421u7Hv/
演示视频:
1.1 网站模块的实现
1.1.1 网站的登录页面
本网站的主页简单只提供了一个登录信息,但是他同时具备密码验证功能,只有通过验证的用户才能成登录。如图4-1所示:
图4–1用户登录界面系统的主页设计
本网站的主页面左边有一个功能快捷导航。主要包含一下信息:会员信息管理、消费信息管理、会员信息查询、会员卡到期提醒、生日提醒管理。可以通过点击相应导航进行相关功能操作。在页面设计中考虑到用户操作的便捷性,在主页中并没有使用过多的操作按钮,只列出简单的主要功能操作按钮,其余的具体操作均出现在各个模块内,这样一来给用户一种容易上手使用的感觉,增加了操作的简洁性。在本页面上方有欢迎语和注销功能按钮,用户可以通过注销按钮安全退出本系统。。该页面的效果图如图4-2所示:
图4–2网站主页
1.1.2 会员卡管理设计
会员卡管理主要是对健身房的会员信息进行系统的管理,包括对会员卡的的添加,修改和删除管理。其主要代码如下所示:
其操作界面如图4-3所示:
图4–3会员卡管理界面
1.1.3 会员信息查询模块
本模块主要实现对会员信息的查询操作,可以通过姓名和卡号进行多条件的查询,。其代码如下所示:
其操作界面如图4-4所示:
图4–4支出管理界面
1.1.4 卡片到期提醒模块
本模块主要实现对即将到期的会员卡进行提醒,注意是在到期的前一天进行提醒,其代码如下所示:
其操作界面如图4-5所示:
图4–5物品信息管理界面
1.2 本章小结
编码与实现是一个系统的主体部分,它关系到一个系统能否正常运行,能否交付用户使用。在本章中,主要对该系统的各个功能部分的实现代码进行了整理,让用户对该系统有更进一步的认识。
2 系统测试与运行
2.1 测试概述
2.1.1 测试目的
软件测试就是在受控制的条件下对系统或应用程序进行操作并评价操作结果的过程,所谓控制条件应包括正常条件与非正常条件。软件测试的过程中应该故意地去促使错误的发生,也就是使事情在不应该出现的时候出现或者在应该出现的时候没有出现。从本质上说,软件测试是“探测”,在“探测”中发现软件的毛病。对健身房会员卡管理系统项目中所有软件测试活动中,根据前期生成的包括测试进度、资源、问题、风险以及其它组件的协调等进行评估,总结测试活动的成功经验以及不足,方便今后更好的进行测试活动,以便更好的对软件进行完善[9]。
2.1.2 测试原则
软件测试应该遵循一下几条原则:
(1)所有的测试都应追溯到用户需求。这是因为软件的目的是使用户完成预定的任务,满足其需求,而软件测试揭示软件的缺陷和错误,一旦修正这些错误就能更好地满足用户需求。
(2)应尽早地和不断地进行软件测试。由于软件的复杂性和抽象性,在软件生命周期各阶段都可能产生错误,所以不应把软件测试仅仅看做是软件开发的一个独立阶段,而应当把它贯穿到软件开发的各个阶段中去[10]。阶段就应开始进行测试工作,编写相应的测试计划及测试设计文档,同时坚持在开发各阶段进行技术评审和验证,这样才能尽早发现和预防错误,杜绝某些缺陷和错误,提高软件质量。测试工作进行得越早,越有利于提高软件质量,这是预防性测试的基本原则。
(3)在有限的时间和资源条件下进行完全测试找出软件所有的错误和缺陷是不可能的,软件测试不能无限进行下去,应适时终止。因为,测试输出量大、输出结果多、路径组合太多,用有限的资源来达到完全测试是不现实的。
(4)测试只能证明软件存在错误而不能证明软件没有错误,测试无法显示潜在的错误和缺陷,继续进一步测试可能还会找到其它错误和缺陷。
(5)充分关注测试的集群现象。在测试的程序段中,若发现的错误数目多,则残存在其中的错误数目也比较多,因此应当花较多的时间和代价测试那些具有更多错误数目的程序模块[11]。这和程序员的编程水平和习惯有很大关系。
(6)程序员应避免检查自己的程序。考虑到人们的心理因素,一方面自己揭露自己程序中的错误是件不愉快的事情,自己不愿意否认自己的工作;另一方面,由于思维定势,自己难以发现自己的错误。因此,测试一般由独立的测试部分或者第三方机构进行。
(7)尽量避免测试的随意性。软件测试是有组织、有计划、有步骤的活动,制定严格的测试计划,要严格按照测试计划进行,要避免测试的随意性。并把测试时间安排得尽量宽松,不要希望在极短的时间内完成一个高水平的测试。
(8)设计测试用例时应该考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况下要制造极端状态和意外状态,如网络异常中断、电源断电等情况。
(9)对测试错误结果一定要有一个确认的过程,一般由A测试出来的错误,一定要有一个B来确认,严重的错误可以召开评审会进行讨论和分析。
(10)回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多的错误出现的现象并不少见。
(11)妥善保存一切测试过程的文档,意义是不言而喻的,测试的重现性往往要靠测试文档。
(12)为了发现更多的错误让系统更加完善,设计测试用例时不但要选择合理的输入数据作为测试用例,而且要选择不合理的输入数据作为测试用例,使得系统能够应付各种状况。
(13)测试过程不但要求软件开发人员参与,而且一般要求有专门的测试人员进行测试,并且还要求用户参与,特别是验收测试阶段,用户是主要的参与者。
2.1.3 测试范围
健身房会员卡管理系统因为其自身的特殊性,测试仅依据用户需求说明书和设计文档需求进行系统测试,包括性能测试,功能测试,用户界面测试等,主要功能包括:会员卡信息管理,消费信息管理,卡片到期提醒管理,会员生日提醒等。对于性能测试,主要有容错性与易用性测试,用户界面测试主要是对系统界面进行一系列的检测,以保证系统的页面能够正确无误地传达信息。
2.2 测试内容
2.2.1 内容与功能测试
(1)检查整个页面的布局,检查是否完整。
(2)检查有无被覆盖的文字或其他显示对象。
(3)检查有无超出边界范围的控件。
(4)通读页面上所有文字,检查有无错字、漏字、拼写错误。
(5)在需要大量重复测试的页面,布局、显示方面只需要测一次。
检查页面上是否有功能缺漏,典型的功能是:
(1)登录功能;
(2)修改/删除功能;
(3)增加新事件功能;
(4)提交/重置功能
(5)注销功能
对每个功能,要求测试以下方面:
(1)检查输入域,包括有效输入和无效输入;
(2)选择不同的设置;
(3)检查功能是否正确实现;
(4)检查输出是否正常;
(5)检查所有功能/业务流程。
2.2.2 容错性与易用性测试
容错性测试和功能测试的一部分,可以检查系统对合法输入的处理能力,即检查在正常情况下功能是否能够实现,即为功能测试。检查系统对非法输入的处理能力,即检查在非正常情况下系统是否能够正确地处理,即为容错性测试[12]。其主要检查:
(1)用户输入出错时系统是否能够识别。
(2)系统是否能够处理所发生的错误而不会使功能失效。
(3)系统是否能够给用户以提示,说明发生的错误。
易用性测试主要检查:
(1)所使用的语言是否明白易懂;
(2)命令、提示、信息是否具有协调的含义;
(3)用户是否总是可以知道自己所处的位置;
(4)用户是否总是可以知道系统当前的状态;
(5)导航是否方便;
(6)操作是否方便;