操作系统词汇在线测试平台的实现

简介:

开发起因

谢老师有一个操作系统测评软件,需要安装客户端,不太方便,于是前段时间突发奇想想做一个web版的,主要是熟悉一下如何用python开发网站。

web版的有如下优点:

  • 不用安装任何客户端软件,打开浏览器就能在线测试
  • 数据库放在云端,增加安全性
  • 基于web,跨平台
  • 更方便地统计所有用户的成绩
  • 方便用户获取自己的排名

需求分析

需要实现的功能:

前端:

    首页:选择题目难度
测试页面:展示题目,提供输入框,显示剩余时间,时间到自动提交,防止复制,防止粘贴
成绩及答案页面:显示得分,排名,以及错题的正确答案

后台:

   数据库部分:题目入库,题目检索,获取答案,成绩入库,获取排名
web页面部分:为测试页面提供题目,时间等数据,接收用户数据,判断用户答案是否正确,计算成绩,返回排名与正确答案,错误处理,纠错功能,自动删除输入空格,输入字母自动转大写

实现方案:

  • 后台编程语言:python。因为python是一门全能语言,既能处理数据库应用,还能方便得处理事物联系,比如计算成绩。web模块也很强大
  • 前台实现:主要是html,通过css美化,用javascript来实现计时和自动提交动作。
  • web框架:web.py。这是一个轻量级的web框架,可以很方便地构建小型web服务器并对外提供服务,一个类就是一个页面,每个页面有POST和GET两种方法。可以很方便获取用户输入
  • 数据库:sqlite数据库,因为这个程序用到的数据很少,sqlite数据库采用单个文件来存放,管理方便,python自带其模块,使用也很简单,查询速度方面也是比较给力的。
  • 模板引擎:jinja2。jinja2模板可以很方便的嵌入到html中,还可以实现一些判断,循环等操作来动态生成html代码。

具体实现

首先是题目入库,连接数据库,建表,从文本文件读取题目数据写入数据库。当web服务器启动后,初始页一个静态页面,可以选择题目难度,通过GET方法告诉服务器题目难度,然后服务器从数据库里面随机选出6个题目,根据难度和空数确定时间,通过jinja2模板填充页面数据,并返回测试页面。测试者开始做题,时间到或者测试者手动提交都会将测试者的答案提交到服务器,然后服务器对答案依次进行判断,并统计正确个数和错误答案,根据正确个数确定成绩,在根据成绩获取在系统里面的排名,一并将上面的信息返回。后台自动保存用户的成绩信息。测试者可以选择再测一次或者重新选择题目难度。

程序代码

演示地址

存在问题

  • 在成绩页面点击浏览器后退按钮页面不能刷新
  • 排名页面只给出排名第几,没有具体排名列表
  • 页面还需要进一步美化
  • 没有提供后台管理页面
  • 如果用户禁用javascript则不能正常计时和自动提交(后台可以检测出来)

其他

  • 前台美工:zcz
  • 后台实现:ma6174

本文转自ma6174博客园博客,原文链接:http://www.cnblogs.com/ma6174/archive/2012/12/18/2822930.html,如需转载请自行联系原作者

相关文章
|
2月前
|
资源调度 测试技术 Linux
一款接口自动化神器—开源接口测试平台Lim(Less is More)
一款接口自动化神器—开源接口测试平台Lim(Less is More)
126 2
|
29天前
|
缓存 运维 Serverless
应用研发平台EMAS产品常见问题之测试检查更新没有反应如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
|
1月前
|
机器学习/深度学习 人工智能 监控
视觉智能平台常见问题之体验产品的美颜测试关掉如何解决
视觉智能平台是利用机器学习和图像处理技术,提供图像识别、视频分析等智能视觉服务的平台;本合集针对该平台在使用中遇到的常见问题进行了收集和解答,以帮助开发者和企业用户在整合和部署视觉智能解决方案时,能够更快地定位问题并找到有效的解决策略。
23 1
|
2月前
|
测试技术
Lim测试平台测试报告说明
Lim测试平台测试报告说明
32 2
|
2月前
|
SQL 测试技术 数据库连接
Lim接口测试平台-接口测试功能详解
Lim接口测试平台-接口测试功能详解
39 1
|
2月前
|
SQL 监控 测试技术
Lim测试平台变量使用规则介绍
Lim测试平台变量使用规则介绍
27 0
|
2月前
|
测试技术
使用Lim测试平台快速完成批量造数
使用Lim测试平台快速完成批量造数
31 1
|
2月前
|
SQL JSON 监控
Lim测试平台快速上手教程
Lim测试平台快速上手教程
38 0
|
2月前
|
测试技术 Linux 数据安全/隐私保护
如何远程访问Linux MeterSphere一站式开源持续测试平台
MeterSphere 是一站式开源持续测试平台, 涵盖测试跟踪、接口测试、UI 测试和性能测试等功能,全面兼容 JMeter、Selenium 等主流开源标准,有效助力开发和测试团队充分利用云弹性进行高度可扩展的自动化测试,加速高质量的软件交付,推动中国测试行业整体效率的提升。
|
3月前
|
存储 算法 Unix
操作系统丨测试(五)
操作系统丨测试(五)
61 0