为每个用户创建随机测试问题的最佳方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为每个用户创建随机测试问题的最佳方法相关的知识,希望对你有一定的参考价值。

解决这个问题的最佳方法是什么?

如果我有一个包含很多问题的问题库,我需要进行一项测试,从该银行获取特定数量的问题,并为每个用户随机化问题。

我要这样做的方法是创建以下表格

银行(将存储银行名称和描述)问题(存储银行的问题,每个问题与具有外键bank_id的银行相关)答案(答案与question_id的每个问题相关)并且有一列可以知道答案是否正确)

我虽然制作新表并将它们称为assigned_questions和assigned_answers,但它们具有相同的问题和答案表内容,但它们是随机的并为每个用户指定。然后在记录用户或学生参加测试的分数后删除问题和答案。

答案

不要将您的问题复制到新表中。复制很糟糕

您可以从问题表中随机选择问题

例如:

SELECT question FROM questions
INNER JOIN answers ON answers.question_id = questions.answer_id
ORDER BY RAND()
LIMIT 10

更多随机选择:https://stackoverflow.com/a/12870681/3093731

以上是关于为每个用户创建随机测试问题的最佳方法的主要内容,如果未能解决你的问题,请参考以下文章

对生成随机输出的代码进行单元测试的最佳方法是啥?

在片段中添加 Viewpager

Android中每个片段的不同操作栏 - 最佳方法?

使用 PHPUnit 对具有多种用户类型的网站进行单元测试的最佳方法

为亚马逊 s3 上的每个视频商店创建缩略图的最佳方法是啥?

播放随机声音而不重复