根据公安部门隶属的交管局的官方数据显示,截至到2020年1月底,机动车驾驶人数量超过4.63亿人,增长率维持在9.9%左右。传统的驾校理论考核方式的步骤极为繁琐,而且效率低下。但随着现如今互联网科技的革新,驾校理论考试的领域十分迫切的需要更加简洁、更加高效的方式,以便捷现如今人们快节奏的生活。因此,设计一款基于微信小程序的驾校理论考试系统将会改进人们传统的驾校理论考试的方式,以此来实现更加高效的驾校理论考试方法。
随着现今社会的高速发展,微信以及微信小程序的优势和普及使得驾校理论考试系统的开发成为必需。本项目设计的基于微信小程序的驾校理论考试系统主要是借助微信小程序实现学习点的学习、在线视频的观看、模拟考试以及错题回顾等功能。
本项目采用的后台语言为java语言,数据库系统为MYSQL数据库,并且是基于C/S的架构,因此采用自顶向下的结构化的系统分析方法,阐述了一个功能全面的驾校理论考试系统的开发过程、操作流程及其核心的技术。
本项目首先进行了课题研究现状的简述,研究工作的使用价值,理论意义以及自己需要解决的问题。接下来就是对系统需求分析的功能进行概述,系统流程的详细描述,后台连接的数据库的设计以及系统功能的实现及测试工作。
1.1课题的背景与意义
根据公安部门隶属的交管局的官方数据显示,截至到2020年1月底,机动车驾驶人数量超过4.63亿人,增长率维持在9.9%左右。传统的驾校理论考核方式的步骤极为繁琐,而且效率低下。但随着现如今互联网科技的革新,驾校理论考试的领域十分迫切的需要更加简洁、更加高效的方式,以便捷现如今人们快节奏的生活。因此,设计一款基于微信小程序的驾校理论考试系统将会改进人们传统的驾校理论考试的方式,以此来实现更加高效的驾校理论考试方法。
随着网络时代的到来,移动媒体终端的小型化,各种各样的微型媒体终端层出不穷。从MSN、QQ、人人网到博客、微博、微信等新媒体的普及,微媒体资源不断的成熟,逐渐成为网络微学习的存在以及发展的物质基础。现如今微信已经成为新媒体代表中的新秀。本项目提出的基于微信小程序的驾校理论考试系统不仅可以实现移动化、小型化、广泛化的学习,还可以弥补现实生活中人们因为时间问题所产生的局限性。
在微信小程序上进行驾校理论考试系统不仅能够让人物利用碎片化的时间来学习,还能够加强学习的互动性,从而提高人们的学习效果。本项目以驾校理论考试系统为例,将微信小程序与驾校理论学习及考试相结合,从而突破时间与空间上的双重限制,使人们通过微信小程序就能轻松得掌握所有的驾校理论知识内容。
微信小程序它是一种不需要用户下载,安装即可使用的一款应用程序,它实现了用户随时随地,触手可及的梦想,用户只需要扫一扫或者搜索一下即可打开应用,同时它也体现了用完即走的理念,因此用户不用关心是否安装太多应用,从而导致手机速度减慢的问题。本项目的研究意义具体有以下几点:
(1)实现跨平台,与安卓、苹果、小米手机无关,与手机的相关硬件设备无关,也与手机的操作系统无关,只要能运行微信就能用。
(2)解决社会上实际的需求。用户经常希望可以在手机上学习驾校考试的内容,可以随时随地的进行学习。从上述这些特点可以总结出,需要在充分了解微信小程序的特点以微信小程序为平台,充分利用其提供的app设计出依托微信小程序的驾校考试系统,并用技术手段去实现,满足人们日常生活中进行考试学习的需求。
(3)云存储。用户的数据都存在云服务器上,用别人手机也能看到自己的数据。
1.2开发环境分析
1.2.1 HTML语言简介
HTML是一种超文本标记语言,同时它也是一种标识性的语言。它包含了一系列的标签。通过这些标签HTML就可以将网络上的文档格式进行统一,使原本分散的Internet资源连接成为一个完整的逻辑整体。
HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字、图片、视频、音乐、表格、链接等。因此页面内可以包含链接、图片文件、音乐文件、视频文件等非文字元素。
HTML功能:
(1)支持标题,文本,表格。
(2)支持链接到其他的在线信息。
(3)支持远程服务。
(4)支持文件,视频以及音频剪辑,并直接包含一个表的其他应用程序。HTML标记实际上是一个文本文件转换为一系列的组合。
一个HTML文档可以分为以下几部分:
<HTML>
<HEAD>
<TITLE>页</title>
</HEAD>
<BODY>
该网页的内容
</BODY>
</HTML>
其中:
<HTML>……</HTML>:这表明,它是一个HTML文件
<HEAD>……</HEAD>:这是在网页显示的第一部分
<TITLE>…</TITLE>:标题页
<BODY>…</BODY>:正文页
1.2.2 Java语言简介
Java语言是完全面对对象的编程语言,面对对象,形象的说就是我改让谁来做,相对于面向过程的我改怎么做来说,面对对象思维方式是一种更符合人们思考习惯的思想。封装是将对象的属性和方法尽可能地隐藏起来,使得外界并不知道是如何实现的,外界能通过接口进行访问,继承是指每个类都会有一个父类,子类会拥有父类的方法,final修饰的类不能被继承,继承实现了代码的重用,能够提高软件的开发效率,也是多态的前提。
Java语言主要用来编写程序的后台,系统中的实体类,服务类以及接口都是由JAVA语言编写的,通过配置文件连接数据库。最终实现从数据库中查询系统相关信息并进行管理。
Java语言擅长开发互联网类应用和企业级应用,现在已经成为互联网中最有影响力的编程语言之一。
1.2.3三层框架简介
为了能够更好的降低系统各层之间的耦合度,三层架构程序设计模式油然而生,三层架构的目的就是更好地解耦,三层架构设计模式采用了面向抽象编程的思维。也就说是上一层对下一层之间的调用,是通过接口来实现的。而下一层作为上一层真正的服务提供者,它成为了下一层接口的实现类。整套流程中的接口是相同的,实现类却是可以随意可以更换的。这样,就实现了层与层之间的解耦合。
1.2.4 HBuilder X简介
HBuilder是DCloud推出的一款可以支持HTML5得Web开发的IDE。HBuilder的程序编写用到了Java语言、C语言、Web以及Ruby。HBuilder的本身是由Java语言编写而成的。它基于Eclipse,所以顺其自然地兼容了Eclipse的插件。HBuilder最大的特点就是快,这是HBuilder的最大优势,他可以通过完整的语法提示以及代码的输入法、代码块等,大幅度提升HTML、js、css的开发效率。
1.2.5 IntelliJ IDEA简介
IDEA的全称为IntelliJ IDEA,它是java编程语言开发的集成环境。IntelliJ被公认为业界之中最好的java开发工具之一,尤其是在智能代码助手方面、自动代码提示方面、重构方面、J2EE支持方面、各类版本工具方面、JUnit方面、CVS整合方面、代码分析方面以及创新的GUI设计方面的功能可以说是非常优秀的。
IDEA是JetBrains公司旗下的产品,它的旗舰版本还可以支持HTML,CSS,PHP,MySQL,Python等技术的开发。它的免费版本只支持Python等少数语言的开发。
1.2.6 MySQL数据库简介
MySQL是一款关系型数据库管理系统,MySQL有着它独特的特点,这些特点使他成为目前最流行的RDBMS之一,MySQL与其他数据库如等相比,它的体积小、并且速度快。重点是它符合本次毕业设计的真实环境,这也是选择它的主要原因。经过许多年地发展,MySQL数据库让许多中小型的企业青睐。
MySQL数据库具有以下特点:
(1)可以在C和C++中使用和测试,以确保源代码的编译器的便携性和灵活性。
(2)支持多线程。
(3)算法优化,提高搜索速度。
(4)可以应用于TCP/IP,ODBC和JDBC数据库,并提供连接。
1.2.7微信开发者工具简介
微信公众平台又简称为公众号。它的曾命名还有官号平台、媒体平台、微信公众号,但最终定位为微信公众平台。
微信公众平台是一种作为第三方的移动程序提供的接口,使得用户可以将第三方的程序内容发布给自己的好友或者分享至自己的朋友圈当中,第三方内容则借助着微信平台获得群众更加广泛的关注与传播。从而形成一种主流的线上与线下同步进行的微信互动营销方式。
正如代表着微部落的线上与线下同步进行的微信互动营销方式,它率先的提出标准的在行业当中通用的模板以及用户可以进行深定制的微信平台的开发理念相结合。形成了线上与线下同步进行的微信互动营销方式的一个开放应用平台。这无疑让我们产生了一种对微信公众平台后续发展更大的期望。
1.3国内外研究现状
1.3.1国内研究现状
如今微信已经成为了亚洲地区用户群体最大的移动即时社交通信软件,并且现在微信的用途已经不止只是进行简单的社交这么简单,现如今它已经包含了生活、支付、娱乐、媒体等人们生活中经常用到的各种服务。
微信之父张小龙曾经表示:现在有太多的人做微信公众号而非APP,于是导致了微信公众号变成了现在最普遍的媒体化平台,但是我们的本意并非如此,我们想要提供服务而不只是传播推广信息,于是就有了微信小程序。在手机APP层出不穷且手机存储能力有限的今天,微信小程序作为一种轻度云端应用正好符合了目前人们的需求。
第一个微信小程序于2017年1月问世,便是利用微信官方提供的服务接口而生的最新的应用技术。微信的这项功能是开放申请的,无论是个人还是政府、媒体或其他组织都可以申请注册并开发小程序,并且微信官方提供了一套专门的开发工具给开发者。微信的小程序和订阅号、服务号和公众号是并行体系,它们有些像,但又不一样。
基于微信小程序的驾校理论考试系统在设计过程中,需要综合考虑各种因素,为用户提供内容完整、使用学习资源方便的方式。基于微信小程序的驾校理论考试系统的移动学习资源推送流程,具体方法如下:
首先,学习者选择学习的主体,把整个学习资源主要推基于的学习主体的确定。
第二,根据学习主体,进一步了解用户的学习需求、知识水平、学习特点以及学习兴趣。
第三,嵌入相应的学习情境,提炼相关的学习资源。可在微信小程序上表达多样的学习资源形式。
在微信小程序上拥有多种多样的学习资源的表现形式,例如文本文字、图片、音频文件、视频文件等,基于学习者的理解,微信小程序可以根据学习者的需要推送各种微资源。并且配备有文字、图片、语音、视频、图形、短信等6种资源应用类型,他们皆可以通过微信小程序进行编辑。
1.3.2国外研究现状
随着现如今信息化社会的进一步发展,如何有效的进行信息管理是当今管理科学,信息科学交叉融合的最新理论成果之一。并且随着移动互联网以及移动通信网络和即时通信工具的快速发展,全球手机上网用户的不断提升,还有微信小程序的不断完善,使得人们能够触手可及的微信小程序变得至关重要。同时这也为高等教育提供了一种新的教学平台。
微信小程序是一种新的媒体移动通信工具,如果用于移动学习课程,不进可以提高学习灵活性,构建更加良好的自主学习和协作学习环境,还可以提高学习效果。因此现如今的高校越来越重视网络教学,特别是翻转课堂和MOOC的出现,加剧了高校网络教学的发展。
微信小程序既不需要下载也不需要安装就可以使用,用户只需要扫描一下二维码或者在微信中搜索微信小程序的名字,就可以在微信小程序中使用它的全部应用功能。并且它不会像传统应用那样占用那么多的内存。因为微信小程序是一种不用下载就能使用的应用,所以也是一项创新,经过将近两年的发展,已经构造了新的微信小程序开发环境和开发者生态。
微信小程序也是这么多年来IT行业里一个真正能够影响到普通程序员的创新成果,已经有超过150万的开发者加入到了微信小程序的开发,与我们一起共同发力推动微信小程序的发展。微信小程序应用数量超过了一百万,覆盖200多个细分的行业,日活用户达到两个亿,微信小程序还在许多城市实现了支持地铁、公交服务。微信小程序发展带来更多的就业机会,2017年小程序带动就业104万人,社会效应不断提升。根据腾讯在2017年第三季度发布的最新季度财报,微信月活跃账户有9.8亿个,同比增长15.8%。现在拥有10多亿月活跃用户,使其成为中国第一个达到10亿活跃用户的互联网产品。在移动互联网的大船上,微信已经成为真正的“国家第一应用”。因此微信小程序有更广阔的空间和平台。
微信小程序的开发框架基于米娜框架,米娜是一个网络通信应用程序框架,基于java技术,框架的特点是使用java技术,异步输入和输出支持TCP/UDP协议,用户选择线程模型根据实际需求,从而实现多线程模型应用程序,还可以提供一个java对象序列化服务,虚拟机管道通信服务,MINA可以快速开发高性能和高扩展线网络通信应用。与IOS和ANDROID应用相比,微信小程序更容易开发,价格也更便宜。
1.4研究内容
通过对系统的需求分析,设计出了基于微信小程序的驾校理论考试系统,主要的工作有:
(1)了解系统的工作流程,撰写出基于微信小程序的驾校理论考试系统的需求分析。
(2)根据系统具体的需要,分析出基于微信小程序的驾校理论考试系统的功能框架结构。
(3)根据系统的需求分析,设计出基于微信小程序的驾校理论考试系统的结构图。
(4)根据系统的功能分析,编写出基于微信小程序的驾校理论考试系统的开发技术文档。
(5)编写基于微信小程序的驾校理论考试的代码。
(6)进行基于微信小程序的驾校理论考试的单元测试。
2.需求分析与可行性分析
2.1需求分析
(1)根据本系统所需要使用的前台、后台技术,对这些技术进行研究和分析,从而得出基于微信小程序的驾校理论考试系统的大概模型。
(2)根据所要解决的问题,确定系统要完成的功能。
(3)根据研究和分析的技术对要完成的功能进行验证,确定功能的可实现性。
2.2可行性分析
2.2.1技术可行性
基于微信小程序的驾校理论考试系统主要包括前端应用程序的开发,基于C/S结构,因为基于C/S模式的系统的开发已发展日趋成熟。对于应用程序的开发要求具备功能要完备、使用应简单等特点。后台应用程序主要采用java语言技术,后台数据库选择MySQL数据库,并且要求建立一个数据高完整性、高安全性、高稳定性的库,所以基于微信小程序的驾校理论考试系统的开发技术具有很高的可行性。
2.2.2操作可行性
基于微信小程序的驾校理论考试系统的界面易于操作,采用最常见的界面窗口,通过微信端进行访问操作,只要用户使用过微信就都能进行访问操作。综上所述,基于微信小程序的驾校理论考试系统在操作上是非常简单的,具有易操作性、易交互性的特点,因此本系统在操作方面完全具有可行性。
2.2.3经济可行性
基于微信小程序的驾校理论考试系统所需要的各种硬件和软件在市场上都很容易购买,此外程序在开发人力、财力上要求都不高,而且此系统不是很复杂,开发周期短,所以本系统在经济方面具有较高的可行性。
2.2.4法律可行性
基于微信小程序的驾校理论考试系统是我自己设计的微信小程序,具有很大的实际意义。开发环境软件和使用的数据库都是开源代码,因此对这个系统进行开发与普通的系统软件设计存在很大不同,没有侵权等问题,因此本系统在法律方面完全具有可行性。
2.3系统用例图
2.3.1用例图
UML是开发者对客观事物进行建模的标记,同时它也是为开发者了解系统需要什么样的功能和整个流程是什么样的做的前期工作。现在我们就对本驾校考试系统进行UML建模分析。
基于微信小程序的驾校理论考试系统主要实现了以下功能:
(1)用户方面:知识学习、在线视频、模拟考试、个人中心以及学习时长的记录等功能。用户用例图如2-1所示:
图2-1用户用例图
(2)管理员方面:知识更新、在线视频更新、模拟考试题库更新、用户信息管理等功能。管理员用例图如2-2所示。
图2-2管理员用例图
2.3.2用户注册用例
用例名称:用户注册。
参与的执行者:管理员,用户。
前置条件:用户名未被其他人所使用。
基本路径:用户输入自己的用户名、密码等信息。
可选路径:1.若用户名已被其他用户所注册,则不能完成注册。
2.管理员需要对该用户进行审核,审核通过方可登录。
2.3.3用户登录用例
用例名称:用户登录。
参与的执行者:用户。
前置条件:用户已完成注册。
基本路径:用户输入自己的用户名、密码。
可选路径:用户输入的信息不正确的话则不能登录成功。
2.3.4用户管理用例
用例名称:用户管理。
参与的执行者:管理员。
前置条件:管理员登录后台。
基本路径:管理员点击“用户管理”模块,选择需要删除的用户信息进行删除操作。
2.3.5知识点管理用例
用例名称:知识点管理。
参与的执行者:管理员、用户。
前置条件:管理员登录后台、用户登录系统。
基本路径:1.管理员将知识点信息添加到系统中。
2.用户在知识点页面可以查看到相信的知识点信息。
可选路径:1.当管理员在添加知识点信息的时候,如果管理员输入的知识点信息有误,那么管理员可以点击重置,对输入有误的知识点信息进行修改操作。
2.管理员可以对添加成功的知识点信息进行修改、删除操作。
2.3.6小视频管理用例
用例名称:小视频管理。
参与的执行者:管理员、用户。
前置条件:管理员登录后台、用户登录系统。。
基本路径:1.管理员将完整的小视频添加到系统中。
2.用户在页面可以查看小视频。
可选路径:1.当管理员在添加小视频信息的时候,如果管理员输入的小视频信息有误,那么管理员可以点击重置,对输入有误的小视频信息进行修改操作。
2.管理员可以对添加成功的小视频信息进行修改、删除操作。
2.3.7考试题目管理用例
用例名称:考试题目管理
参与的执行者:管理员,用户
前置条件:管理员登录后台、用户登录系统。
基本路径:1.管理员点击“添加考题”,输入考题名称,选择考题类型,填写其他必要的信息。
2.用户在考题测试界面可以进行自我检测。
可选路径:1.当管理员在添加考题信息的时候,如果管理员输入的考题信息有误,那么管理员可以点击重置,对输入有误的考题信息进行修改操作。
2.管理员可以对添加成功的考题信息进行修改、删除操作。
3.用户可以进行自我检测。
3.基于微信小程序的驾校理论考试系统概要设计
3.1系统功能结构
用户从微信平台登录进入驾校理论考试系统,登录后进入主页页面,页面展示知识点列表,点击列表可以查看知识点的详细信息;用户进入在线视频模块查看视频列表,点击列表可以查看视频的内容,在线播放视频进行学习;用户进入模拟考试模块,点击模拟考试按钮进行考试,答题完毕之后,系统可以自动记录错题信息,并将错题记录到错题库当中,方便用户在错题回顾模块中进行复习;用户进入个人中心可以管理自己的基本信息以及浏览学习时长的记录。根据上述分析,得出基于微信小程序的驾校理论考试系统的功能结构,如图3-1所示:
图3-1系统功能结构图
3.2数据库设计原则
数据库是计算机信息系统的基础。信息的收集、整理、存储、检索、更新、加工、统计和传播等操作必须在数据库管理系统的支持下才能进行。目前,数据库就是微信系统的关键与核心部分。因此数据库开发的优劣对整个系统的质量和速度有着直接影响。
在概念设计中,通常用四种方法:自顶向下、自底向上、逐步扩张、混合策略,以它为骨架集成由自底向上策略中设计的各局部概念结构。
3.3数据库E-R图设计
(1)用户信息E-R图,用户信息实体属性包括账号、电话、头像、姓名、密码、性别、添加时间,如图3-2所示:
图3-1用户信息E-R图
(2)管理员信息E-R图,管理员信息实体为微信小程序中管理员的属性信息,属性包括密码、电话、账号、姓名、添加时间,如图3-3所示:
图3-2管理员信息E-R图
(3)题目类型信息E-R图,用户自我测试中题目的基本属性,属性包括名称、类别、添加时间,如图3-4所示:
图3-3题目类型信息E-R图
(4)题目信息E-R图,用户自我测试中题目的基本属性,属性包括题目类别、题目内容、答案、编号、图片、编号A、B、C、D,如图3-5所示:
图3-4题目信息E-R图
(5)错题信息E-R图,用户自我测试中答错的题目的基本属性,属性包括用户ID、答错题目的ID、时间,如图3-6所示:
图3-5错题信息E-R图
(6)知识信息E-R图,知识点信息实体为微信小程序中显示的知识点信息,属性包括知识点名称、知识点内容、编号,如图3-7所示:
图3-6知识信息E-R图
(7)视频信息E-R图,小视频信息实体为微信小程序中显示的在线小视频,属性包括内容、编号、小视频名称、缩略图、需要上传的视频文件,如图3-8所示:
图3-7视频信息E-R图
(8)学习记录信息E-R图,记录用户的学习痕迹的基本属性,属性包括用户ID、知识点ID、时间,如图3-9所示:
图3-8学习记录信息E-R图
(9)基于微信小程序的驾校理论考试系统整体E-R图如图3-10所示:
图3-10基于微信小程序的驾校理论考试系统整体ER图
3.4数据表
3.4.1 tb_user表
如下表3-1所示,该数据表为“用户信息表”,存储与用户信息相关的各个数据库字段。在My SQL数据库中,字段名称为“tb_user”,字段说明为“主键ID”,且为主键,性质唯一。
表3-1 tb_user表
字段名数据类型说明字段描述
id varchar(55)主键id主键,不为空
username varchar(55)账号可为空
nickname varchar(55)姓名可为空
head varchar(55)头像可为空
xb varchar(55)性别男或女
pass varchar(255)密码可为空
tel varchar(255)电话可为空
time date添加时间可为空
3.4.2 tb_manager表
如下表3-2所示,该数据表为“登录信息表”,存储与登录信息相关的各个数据库字段。在My SQL数据库中,字段名称为“tb_manager”,字段说明为“主键ID”,且为主键,性质唯一。
表3-2 tb_manager表
字段名数据类型说明字段描述
id varchar(255)主键id主键,不为空
username varchar(55)账号不为空
nickname varchar(55)姓名不为空
pass varchar(55)密码不为空
tel varchar(55)电话不为空
time date添加时间可为空
3.4.3 tb_news表
如下表3-3所示,该数据表为“知识表”,存储与学习知识信息相关的各个数据库字段。在My SQL数据库中,字段名称为“tb_news”,字段说明为“主键ID”,且为主键,性质唯一。
表3-3 tb_news表
字段名数据类型说明字段描述
id varchar(55)主键id主键,不为空
title varchar(255)新闻标题可为空
content longtext新闻内容可为空
time date添加时间可为空
3.4.4 tb_video表
如下表3-4所示,该数据表为“视频表”,存储与视频信息相关的各个数据库字段。在My SQL数据库中,字段名称为“tb_video”,字段说明为“主键ID”,且为主键,性质唯一。
表3-4 b_video表
字段名数据类型说明字段描述
id varchar(55)主键id主键,不为空
uid varchar(55)用户id可为空
pic varchar(255)图片可为空
video varchar(255)视频名称可为空
title varchar(255)名称可为空
time date添加时间可为空
3.4.5 tb_dic表
如下表3-5所示,该数据表为“题目类型表”,存储与题目类型相关的各个数据库字段。在My SQL数据库中,字段名称为“tb_dic”,字段说明为“主键ID”,且为主键,性质唯一。
表3-5 tb_dic表
字段名数据类型说明字段描述
id varchar(55)主键id主键,不为空
name varchar(66)字典名称可为空
type varchar(28)字典类型可为空
time date添加时间可为空
3.4.6 tb_tm表
如下表3-6所示,该数据表为“题目信息表”,存储与题目信息相关的各个数据库字段。在My SQL数据库中,字段名称为“tb_tm”,字段说明为“主键ID”,且为主键,性质唯一。
表3-6 tb_tm表
字段名数据类型说明字段描述
id varchar(55)主键id主键,不为空
jx varchar(255)科目(科目一、科目四)可为空
km varchar(255)解析可为空
pic varchar(255)图片可为空
xxa varchar(255)A选项可为空
xxb varchar(255)B选项可为空
xxc varchar(255)C选项可为空
xxd varchar(255)D选项可为空
answer varchar(255)答案可为空
nddj varchar(255)难度等级可为空
type varchar(255)题目类型可为空
title varchar(255)题目内容可为空
time date时间可为空
3.4.7 tb_ct表
如下表3-7所示,该数据表为“错题表”,存储与错题相关的各个数据库字段。在My SQL数据库中,字段名称为“tb_ct”,字段说明为“主键ID”,且为主键,性质唯一。
表3-7 tb_ct表
字段名数据类型说明字段描述
id varchar(55)主键d不为空
uid varchar(255)用户id可为空
tid varchar(255)错题id可为空
time datatime时间可为空
3.4.8 tb_xxjl表
如下表3-8所示,该数据表为“学习记录表”,存储与学习记录相关的各个数据库字段。在My SQL数据库中,字段名称为“tb_xxjl”,字段说明为“主键ID”,且为主键,性质唯一。
表3-8 b_xxjl表
字段名数据类型说明字段描述
id varchar(111)主键id主键,不为空
uid varchar(255)用户id可为空
tid varchar(255)浏览过的知识点以及视频的id可为空
time datetime时间可为空
4.基于微信小程序的驾校理论考试系统详细设计
4.1系统功能设计
4.1.1系统功能概述
针对用户和管理员两大用户,主要实现以下功能:
用户:用户可以进行账号的注册、知识点的在线查看、小视频的在线观看、通过系统随机生成的题库进行自我测试、进行错题回顾以及查看自己的学习记录等功能。
管理员:管理员可以进行用户信息的管理(增删改)、知识点的更新(增删改)、小视频的管理(增删改)、模拟题库的题目更新(增删改)等功能。
4.1.2系统功能结构
基于微信小程序的驾校理论考试系统主要实现了知识学习、在线视频、模拟考试以及个人中心等功能模块。
(1)用户的个人中心包括个人信息、错题回顾、学习记录等模块。
(2)管理员用户主要管理用户信息、知识点、小视频以及模拟题库的更新。
4.2系统流程设计
基于微信小程序的驾校理论考试系统开发中时,首先进行需求分析,进而对系统进行总体的设计规划,设计系统功能模块,数据库的选择等,本系统的开发流程如图4-1所示:
图4-1系统开发流程图
4.3用户功能设计
4.3.1用户注册功能设计
用户注册模块流程为,进入网页,在注册界面输入注册时要填写的信息,若输入正确,则注册成功,若输入错误,则需重新输入,用户注册功能流程图如图4-2所示:
图4-2用户注册流程图
4.3.2用户登录功能设计
用户登录模块流程为,在网站首页登录模块处,输入用户名、密码,点击登录。若该账号已注册且审核通过,则登录成功,否则失败,用户登录功能流程图如图4-3所示:
图4-3用户登录流程图
4.3.3知识点信息功能设计
知识点信息模块流程为,点击知识点信息模块,则可以查看知识点的具体信息,若当前知识点的界面被管理员删除,则用户无法再进入该界面进行查看,知识点信息功能流程图如图4-3所示:
图4-3知识点信息流程图
4.3.4小视频信息功能设计
小视频信息模块流程为,点击小视频信息模块,则可以查看小视频的具体内容,若当前小视频的界面被管理员删除,则用户无法再进入该界面进行查看,小视频信息功能流程图如图4-4所示:
图4-4小视频信息流程图
4.3.5查看知识点信息功能实现
查看知识点模块流程为,在微信小程序中点击知识点模块,则可以查看微信小程序中所有知识点的具体信息,查询知识点功能流程图如图4-5所示:
图4-5查看知识点流程图
4.3.6查看小视频信息功能实现
查看小视频模块流程为,在微信小程序中点击小视频模块,则可以查看微信小程序中所有小视频的具体内容,查询小视频功能流程图如图4-5所示:
图4-6查看小视频流程图
4.3.7模拟测试功能实现
模拟测试模块流程为,在微信小程序中点击在线模拟测试,则可以进行试题的检测,当用户的作答出现错误时,错误的试题将进入错题库。模拟测试模块功能流程图如图4-7所示:
图4-7模拟测试流程图
4.3.8学习记录功能实现
学习记录模块流程为,在微信小程序中点击个人中心中的学习记录,则可以进行学习记录的查看,其中又分为两个部分,一个是知识点的学习记录,另一个是小视频的学习记录。学习记录模块功能流程图如图4-8所示:
图4-8学习记录流程图
4.4管理员功能设计
4.4.1知识点管理功能实现
知识点管理模块流程为,管理员登录后台管理后,可以对知识点信息进行管理,知识点管理功能流程图如图4-9所示:
图4-9知识点管理流程图
4.4.2小视频管理功能实现
小视频管理模块流程为,管理员登录后台管理后,可以对小视频信息进行管理,小视频管理功能流程图如图4-10所示:
图4-10小视频管理流程图
4.4.3考试题库管理功能实现
考试题库管理模块流程为,管理员登录后台管理后,可以对考试题目信息进行管理,考试题目管理功能流程图如图4-11所示:
图4-11考试题目管理流程图
4.4.4用户信息管理功能实现
管理员个人后台模块流程为,管理员登录系统后,可以查看用户信息,并对用户信息进行编辑或者删除,管理员个人后台功能流程图如图4-12所示:
图4-12管理员管理流程图
5.基于微信小程序的驾校理论考试系统功能实现界面
5.1用户功能实现
5.1.1用户注册功能实现
用户想要在本系统中实现各自功能,首先需要进行账号的注册,注册用户经管理员审核后可以登录系统,在首页登录模块处,输入用户名、密码,点击登录,如图5-1所示。
图5-1用户注册界面
用户注册模块实现关键代码如下:
formSubmit:function(e)//将表单中的数据提交到Web服务器
{
var that=this;//在调用request之前就已经把this复制了一份保存在that变量中
wx.request//微信小程序的客户端与Web服务器端交互的接口
({
url:’http://localhost:8088/user/msave’,//只是一般的链接指向代码,连接到管理员后台界面中的用户管理界面
data://赋予所有HTML元素嵌入自定义数据属性的能力,并可以通过脚本与HTML之间进行专有数据的交换
{
head:that.data.picurl,//获取输入的头像
username:e.detail.value.username,//获取输入的账号
nickname:e.detail.value.nickname,//获取输入的姓名
pass:e.detail.value.pass,//获取输入的密码
tel:e.detail.value.tel,//获取输入的电话
xb:e.detail.value.xb,//获取输入的性别
xy:e.detail.value.xy//获取输入的的添加时间
},
success:function(res)//function括号里面的res相当于是一个参数-对象
{
if(res.data.code==”200″)//res.data.code就是function对象里面的属性,可以在控制台输出打印查看res的值
wx.showToast//显示消息提示框
({
title:’成功’,//提示的内容
duration:2000,//提示的延迟时间
icon:’success’,//图标
complete:function()//接口调用结束的回调函数(调用成功、失败都会执行)
{
wx.navigateBack//关闭当前页面,返回上一页面或多级页面
({
delta:1//返回1页,如果delta大于现有页面数,则返回到首页
})
}
});
else
wx.showToast
({
title:’失败’,//提示的内容
duration:2000,//提示的延迟时间
icon:’success’,//图标
complete:function(){}//接口调用结束的回调函数(调用成功、失败都会执行)
});
}
})
},
onReady:function(){},//生命周期函数–监听页面初次渲染完成
onShow:function(){},//生命周期函数–监听页面显示
onHide:function(){},//生命周期函数–监听页面隐藏
onUnload:function(){},//生命周期函数–监听页面卸载
onPullDownRefresh:function(){},//页面相关事件处理函数–监听用户下拉动作
onReachBottom:function(){},//页面上拉触底事件的处理函数
onShareAppMessage:function(){}//用户点击右上角分享
5.1.2用户登录功能实现
用户可以根据用户名以及密码信息登录系统,如果没有账号可以进行注册操作。应用JAVA编程语言中的JDBC和AJAX技术实现比对用户所填写的账号和密码是否与数据库所存储的信息一致,并在未填写内容或某项内容出错时提示用户,如图5-2所示。
图5-2用户登陆界面
用户登录模块实现关键代码如下:
formSubmit:function(e)//将表单中的数据提交到Web服务器
{
var that=this;//在调用request之前就已经把this复制了一份保存在that变量中
wx.request//微信小程序的客户端与Web服务器端交互的接口
({
url:’http://localhost:8088/user/login’,//只是一般的链接指向代码,连接到管理员后台界面中的登录界面
data://赋予所有HTML元素嵌入自定义数据属性的能力
{
username:e.detail.value.username,//获取输入的账号
pass:e.detail.value.pass},//获取输入的密码
success:function(res)
{
if(res.data==”500″)
{
wx.showToast

({title:’登录失败’,duration:2000,icon:’success’})}
else
{app.globalData.user=res.data;
console.log(app.globalData.user);}}})},
5.1.3知识点信息查看功能实现
知识点/文章信息的查看:用户可以在知识学习模块查看知识列表,点击列表可以查看知识点的详细信息。用户可以查看知识的详情信息,页面展示知识的标题以及内容信息,如图5-3所示。
图5-3知识点信息查看界面
知识点信息查看模块实现关键代码如下:
onLoad:function(options)//生命周期函数–监听页面加载
{
var that=this;//在调用request之前就已经把this复制了一份保存在that变量中
wx.request//微信小程序的客户端与Web服务器端交互的接口
({
url:app.globalData.url+’news/getby’,
data://传递给云函数的参数,在云函数中可通过event参数获取
{id:options.id},
success:function(res)
{
that.setData//微信小程序开发中使用最频繁的接口
({
obj:res.data//组件的内部数据
})
wx.request//微信小程序的客户端与Web服务器端交互的接口
({
url:app.globalData.url+’xxjl/msave’,
data://传递给云函数的参数,在云函数中可通过event参数获取
{
uid:app.globalData.user.id,
tid:that.data.obj.id}})}})},
5.1.4小视频内容查看功能实现
小视频内容的查看:用户可以查看视频列表,点击列表可以查看视频的详细信息用户可以查看视频的详细信息,点击播放按钮可以观看视频,如图5-4所示。
图5-4小视频内容查看界面
小视频信息查看模块实现关键代码如下:
onLoad:function(options)//生命周期函数–监听页面加载
{
var that=this;//在调用request之前就已经把this复制了一份保存在that变量中
wx.request//微信小程序的客户端与Web服务器端交互的接口
({
url:app.globalData.url+’video/getby’,
data://传递给云函数的参数,在云函数中可通过event参数获取
{id:options.id},
success:function(res)//function括号里面的res相当于是一个参数-对象
{
that.setData//微信小程序开发中使用最频繁的接口
({obj:res.data})//组件的内部数据
wx.request//微信小程序的客户端与Web服务器端交互的接口
({
url:app.globalData.url+’xxjl/msave’,
data://传递给云函数的参数,在云函数中可通过event参数获取
{
uid:app.globalData.user.id,
tid:that.data.obj.id
}
})}})},
5.1.5模拟考试功能实现
考题模拟测试:用户可以进行模拟考试,可以根据题目信息,点击输入答案按钮,页面弹出答案选择或是录入页面,答题完毕后,页面会显示答题正确或是错误,如图5-5所示。
图5-5模拟考试模块界面
模拟考试模块实现关键代码如下:
onLoad:function(options)//生命周期函数–监听页面加载
{
var that=this;//在调用request之前就已经把this复制了一份保存在that变量中
that.setData
({
kid:options.id//关键词id,选用模板时需要
})
wx.request//微信小程序的客户端与Web服务器端交互的接口
({
url:app.globalData.url+’tm/getkstm’,
data://传递给云函数的参数,在云函数中可通过event参数获取
{
kid:that.data.kid
},
success:function(res)//function括号里面的res相当于是一个参数-对象
{
that.setData
({
list:res.data
})
wx.showToast//显示消息提示框
({
title:’已获取题目,请开始答题’,
})
that.setData
({
id:that.data.list[that.data.index].id,
sx:that.data.list[that.data.index].sx,
title:that.data.list[that.data.index].title,//在控制台中显示题目内容
answer:that.data.list[that.data.index].answer,//在控制台中显示题目答案
xxa:that.data.list[that.data.index].xxa,//在控制台中显示A选项
xxb:that.data.list[that.data.index].xxb,//在控制台中显示B选项
xxc:that.data.list[that.data.index].xxc,//在控制台中显示C选项
xxd:that.data.list[that.data.index].xxd,//在控制台中显示D选项
type:that.data.list[that.data.index].type,//在控制台中显示题目类型
pic:that.data.list[that.data.index].pic//在控制台中显示图片
})
if(that.data.type==’选择’)
{
that.setData
({
hyxs:false
})
}
else
{
that.setData
({
hyxs:true
})
}
}
})
5.1.6错题回顾功能实现
错题回顾:用户可以在错题回顾模块重新解答在模拟考试中做错的题目信息。所有用户使用界面,如图5-6所示。
图5-6错题回顾模块界面
错题回顾模块实现关键代码如下:
onLoad:function(options)//生命周期函数–监听页面加载
{
var that=this;//在调用request之前就已经把this复制了一份保存在that变量中
that.setData({type:options.type})
wx.request//微信小程序的客户端与Web服务器端交互的接口
({
url:app.globalData.url+’tm/getsjct’,
data://传递给云函数的参数,在云函数中可通过event参数获取
{uid:app.globalData.user.id},
success:function(res)//function括号里面的res相当于是一个参数-对象
{
that.setData
({
id:res.data[0].id,
title:res.data[0].title,//获取题目内容
answer:res.data[0].answer,//获取答案
xxa:res.data[0].xxa,//获取A选项
xxb:res.data[0].xxb,//获取B选项
xxc:res.data[0].xxc,//获取C选项
xxd:res.data[0].xxd,//获取D选项
type:res.data[0].type,//获取题目类型
pic:res.data[0].pic//获取图片
})
if(that.data.type==’选择’)
{
that.setData
({
hyxs:false
})
}
else
{
that.setData
({
hyxs:true
})
}
}
})
5.1.7学习记录功能实现
学习记录:用户可以在错题回顾模块重新解答在模拟考试中做错的题目信息。所有用户使用界面,如图5-7所示。
图5-7学习记录模块界面
学习记录模块实现关键代码如下:
onLoad:function()//生命周期函数–监听页面加载
{
var that=this;
that.setData
({
vurl:app.globalData.url//这是让javascript在命令行或浏览器中的行为相同的一次尝试
})
},
onShow:function()//生命周期函数–监听页面显示
{
var that=this;wx.request
({
url:app.globalData.url+’xxjl/getnews’,
data:
{uid:app.globalData.user.id},
success:function(res)
{
that.setData({list:res.data});//List是java容器中最常用的顺序存储数据结构之一
}
});
}
5.2管理员功能实现
5.2.1管理员后台登录功能实现
管理员可以根据用户名以及密码信息登录系统。应用JAVA编程语言中的JDBC和AJAX技术实现比对用户所填写的账号和密码是否与数据库所存储的信息一致,并在未填写内容或某项内容出错时提示用户,如图5-8、5-9所示。
图5-8管理员后台管理登录界面
图5-9管理员后台管理界面
管理员登录模块实现关键代码如下:
public class ManagerController extends BaseController<Manager>//管理员登录
{
public void login()//定义一个login方法
{
String username=getPara(“username”);//把传进来的参数赋值给变量username
String pass=getPara(“password”);//把传进来的参数赋值给变量password
Manager m=Manager.dao.findFirst(“select*from tb_manager where username=?”,username);//连接数据库,定访问数据库当中的tb_manager表
System.out.println(“1”);//将内容输出到屏幕,并且换行打印1
if(m!=null)//如果查询结果为空
{
if(m.getStr(“pass”).equals(pass))//从m中提取出记录中的pass字段,并且和传入的参数pass做比较
{
System.out.println(“2”);//将内容输出到屏幕,并且换行打印2
setAttr(“error_msg1″,””);//为error_msg1属性赋值,并没有返回值
setAttr(“error_msg2″,””);//为error_msg2属性赋值,并没有返回值
setSessionAttr(“m”,m);//设置会话属性
render(“/pages/them4/index.html”);
}
else
{
System.out.println(“3”);//将内容输出到屏幕,并且换行打印3
setAttr(“error_msg2″,””);
setAttr(“error_msg1″,”密码不正确”);//为error_msg1属性赋值,并返回密码不正确
render(“/pages/them4/login.html”);
}
}
else
{
System.out.println(“4”);//将内容输出到屏幕,并且换行打印4
setAttr(“error_msg2″,””);
setAttr(“error_msg1″,”账号不存在”);//为error_msg1属性赋值,并返回账号不存在
render(“/pages/them4/login.html”);
}
}
}
5.2.2知识点管理功能实现
知识点/文章信息的管理:管理员可以管理发布的知识点信息,用户可以在小程序中观看详细的内容,如图5-10所示。
图5-10管理员后台知识点管理界面
知识点管理模块实现关键代码如下:
public class NewsController extends BaseController<News>//管理员管理知识点信息
{
Override
public void mgetAll()//定义一个mgetAll方法
{
renderJson(News.dao.find(“select*from tb_news”));//连接数据库,定访问数据库当中的tb_news表
}
public void getby()//定义一个getby方法
{
renderJson(News.dao.findById(getPara(“id”)));//调用News.dao.findById函数,并返回一个json格式的数据
}
}
5.2.3小视频管理登录功能实现
小视频内容的管理:管理员可以管理视频信息,用户可以在小程序中观看视频,如图5-11所示。
图5-11管理员后台视频管理界面
小视频管理模块实现关键代码如下:
public class VideoController extends BaseController<Video>//管理员管理小视频信息
{
Override
public void mgetAll()//定义一个mgetAll方法
{
renderJson(Video.dao.find(“select*from tb_video”));//连接数据库,定访问数据库当中的tb_video表
}
public void getby()//定义一个getby方法
{
renderJson(Video.dao.findById(getPara(“id”)));调用Video.dao.findById函数,并返回一个json格式的数据
}
}
5.2.4考试题目管理功能实现
考试题目/题库的更新:管理员可以管理题目信息,可以执行添加,修改以及删除操作,如图5-12、5-13、5-14所示。
图5-12管理员后台科目管理界面
图5-13管理员后台题目管理界面
图5-14管理员后台题目管理界面
考试题目管理模块实现关键代码如下:
package cn.jsjwxg.controller;
import cn.jsjwxg.entity.Dic;
import cn.jsjwxg.entity.Tm;
import cn.jsjwxg.util.ExcelDcUtil;
import cn.jsjwxg.util.ExcelRead;
import com.alibaba.fastjson.JSONObject;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
public class TmController extends BaseController<Tm>//管理员管理题目信息
{
Override
public void toadd()//定义一个toadd方法
{
setAttr(“list”,Dic.dao.find(“select*from tb_dic”));//连接数据库,定访问数据库当中的tb_dic表
render(“/pages/”+getModelClass().getSimpleName()+”/add.html”);
}
public void getkstm()//定义一个getkstm方法
{
renderJson(Tm.dao.find(“select*from tb_tm order by rand()limit 10”));//连接数据库,定访问数据库当中的tb_tm表
}
Override
public void toget()//定义一个toget方法
{
setAttr(“list”,Dic.dao.find(“select*from tb_dic”));//连接数据库,定访问数据库当中的tb_dic表
setAttr(“id”,getPara(“id”));
render(“/pages/”+getModelClass().getSimpleName()+”/add.html”);
}
public void to_user_zw_dr()定义一个o_user_zw_dr方法
{
render(“/pages/Tm/user_upload_zw.html”);
}
5.2.5用户管理功能实现
用户的管理:管理员可以管理用户信息,可以执行添加,修改以及删除操作,如图5-15所示。
图5-15管理员后台用户管理界面
用户管理模块实现关键代码如下:
public class UserController extends BaseController<User>//管理员管理用户信息
{
public void login()//定义一个login方法
{
String username=getPara(“username”);//把传进来的参数赋值给变量username
String pass=getPara(“pass”);//把传进来的参数赋值给变量pass
User m=User.dao.findFirst(“select*from tb_user where username=?”,username);//连接数据库,定访问数据库当中的tb_user表
if(m!=null)//如果查询结果为空
{
if(m.getStr(“pass”).equals(pass)){renderJson(m);}
else{renderJson(“500”);}}
else{renderJson(“500”);}}
6.基于微信小程序的驾校理论考试系统测试
6.1测试的意义
系统测试是软件设计的最后一道工序,也是非常重要的一步。用于检查软件的质量、性能、可靠性等是否符合用户需求。一套严谨的、规范的、完善的测试过程将大大提高软件的质量、可信度、可靠性,降低软件的出错率,降低用户风险系数。通常系统测试包括:功能测试,安全测试,可用性测试,性能测试、兼容性测试等方面。
软件要进行正式的应用前,一定要经过许多次的测试,主要测试软件的内容是否和最初的设计符合,目前所有的功能是否好用,信息的展示是否正确,页面的展示是否美观,系统的操作是否简便,是否符合用户操作网站的习惯。如果系统无法通过测试,则该系统无法进行应用,系统可以经过测试,测试出许多的缺陷,从而进行完善,让系统更加的具有使用价值。
为了使本程序运行更加稳定,我对它进行了全面的测试,其中测试分为二部分,一种是界面测试;另一种功能测试。
首先我们来说界面测试,界面测试是为了使程序在不同的操作平台上能够运行界面,并且能够保持原来的风格。经测试程序运行正常,运行界面上的字体图片等设置都能够保持得非常好。不出现字体变形等情况!
其次进行功能测试。该系统测试采用的是单元测试,集成测试,完善性测试等多种方式进行测试。
6.2测试的方法
系统测试(System Testing)是对整个系统的测试,将硬件、软件、操作人员看作一个整体,检验它是否有不符合系统说明书的地方。这种测试可以发现系统分析和设计中的错误。如安全测试是测试安全措施是否完善,能不能保证系统不受非法侵入,还能正常地工作。
(1)单元测试:将系统分为各个大模块,一个模块、一个模块的进行测试,主要测试模块内的功能是否符合要求。
(2)循环测试:将测试后的内容,再次进行测试,应用不同的形式进行测试。
(3)集成测试:将整个系统统一的进行测试,根据各个业务的联通,测试数据的流通是否正确。
6.3测试用例
6.3.1注册模块测试
用户打开微信小程序首页,点击“用户注册”,在页面中输入必要的信息,点击提交,登录成功。具体测试用例如表6-1所见:
表6-1用户注册模块测试用例
用例编号测试用例描述操作过程及数据预期结果测试结果
1用户注册用户点击页面中“用户注册”,输入要注册的信息输入成功通过
2提交信息点击提交信息提交至管理员处通过
6.3.2登录模块测试
注册用户经管理员审核后可以登录系统,在首页登录模块处,输入用户名、密码,点击登录,登录成功。具体测试用例如表6-2所见:
表6-2用户登录模块测试用例
用例编号测试用例描述操作过程及数据预期结果测试结果
1输入正确的用户名密码遵循系统既定规则填写用户名(hjx)、密码(123456)后点击“确定”开始登录系统成功登录系统,跳转到系统主页通过
2输入错误的用户密码遵循系统既定规则填写用户名(hjx)、和错误的密码(123654)后点击“确定”开始登录系统系统提示登录失败,并进入错误提示通过
3空用户名密码循系统既定规则后填写空用户名、和空的密码后点击“确定”开始登录系统系统提示登录失败,并进入错误提示通过
6.3.3知识点模块测试
6.3.3.1用户知识点模块测试
用户点击首页知识点模块,可以查看知识点的详细信息,点击信息标题可以查看全部信息,具体测试用例如表6-3所见:
表6-3用户查看知识点模块测试
用例编号测试用例描述操作过程及输入数据预期结果测试结果
1查看知识点页面用户在首页点击“知识点”进入知识点页面通过
2查看知识点信息页面中显示知识点信息,用户可以查看知识点信息显示在页面中通过
6.3.3.2管理员知识点模块测试
管理员可以在后台管理中对知识点信息进行管理操作,点击“知识点管理”,则可以查看所有知识点信息,可以进行添加、删除、修改等操作,具体测试用例如表6-4所见:
表6-4管理员管理知识点模块测试
用例编号测试用例描述操作过程及输入数据预期结果测试结果
前置条件:管理员登录个人后台
1查看知识点模块管理员点击“知识点管理”进入知识点管理模块通过
2添加知识点信息点击“添加”,输入要添加的信息,点击提交知识点信息添加成功通过
3修改知识点信息在要修改的信息处点击“修改”,输入修改后的信息,点击“提交”知识点信息修改成功通过
4删除知识点信息在要删除的信息处点击“删除”,知识点信息删除成功通过
6.3.4小视频模块测试
6.3.4.1用户小视频模块测试
用户点击首页在线视频模块,可以查看小视频的详细内容,点击信息标题可以查看全部视频,具体测试用例如表6-5所见:
表6-5用户查看小视频模块测试
用例编号测试用例描述操作过程及输入数据预期结果测试结果
1查看小视频页面用户在首页点击“在线视频”进入小视频页面通过
2查看小视频信息页面中显示小视频内容,用户可以查看小视频内容显示在页面中通过
6.3.4.2管理员知识点模块测试
管理员可以在后台管理中对小视频内容进行管理操作,点击“小视频管理”,则可以查看所有小视频信息,可以进行添加、删除、修改等操作,具体测试用例如表6-6所见:
表6-6管理员管理小视频模块测试用例
用例编号测试用例描述操作过程及数据预期结果测试结果
前置条件:管理员登录个人后台
1查看小视频模块管理员点击“小视频管理”进入小视频管理模块通过
2录入视频信息点击添加按钮,填写视频信息,点击确定按钮提示录入成功通过
3修改视频信息点击列表操作栏中的修改链接,改动信息后,点击确定按钮提示修改成功,视频信息变化通过
4删除视频信息点击列表操作栏中的删除链接提示删除成功,列表刷新通过
6.3.5小视频模块测试
6.3.5.1用户自我测试模块测试
用户点击首页模拟测试模块,可以查看考题的详细内容,点击信息标题可以进行自我检测,具体测试用例如表6-7所见:
表6-7用户自我测试模块测试
用例编号测试用例描述操作过程及输入数据预期结果测试结果
1查看模拟测试页面用户在首页点击“模拟测试”进入模拟测试页面通过
2查看错题是否进入错题库分别答对打错一道题答错的题在错题库中出现通过
6.3.5.2题目管理模块测试
管理员可以在后台管理中对题目信息进行管理操作,点击“考题管理”,则可以查看所有题目信息,可以进行添加、删除、修改等操作,具体测试用例如表6-8所见:
表6-8题目管理模块测试用例
用例编号测试用例描述操作过程及数据预期结果测试结果
前置条件:管理员登录个人后台
1点击新增,填写正确的题目信息按照系统流程填写题目相关信息后点击确定系统提示保存成功,题目信息保存到数据库通过
2点击修改,填写错误题目内容信息按照系统流程将商品的不可为空信息填写为空后点击确定系统报错,跳转到保存失败界面通过
3点击新增,填写空的题目信息按照系统流程点击新增后,不填写任何内容点击确定系统报错,跳转到保存失败界面通过