两人同时使用互动答题,怎样核对答题记录没有串号

2026-10-23

把每条答案绑定到稳定会话ID、题目ID和一次提交ID,再用两个会话交错提交、重试和结束来核对归属。只看总分相加正确不够:两个人的答案互换后,总分仍可能碰巧相同。

先固定哪些条件

只使用匿名测试会话和虚构题目,不录入真实姓名或联系方式。明确会话从入场、点击开始还是登录产生,结束与过期后如何处理迟到答案;本文只给数据隔离验收,不推荐答题赛制。

按这个顺序取证

  1. 先固定题库版本与标准答案,建立会话A和B,给每次提交唯一submission_id。记录客户端会话、服务端保存会话、题目、答案、计分和接收时间,不能仅用触点ID或当前位置代替业务会话。

  2. 按A答Q1、B答Q1、A答Q2、B重试Q1、A结束、B答Q2的顺序执行。加入相同提交ID重复发送与旧会话迟到答案,检查幂等、结束状态及题目版本;重复请求不应重复加分。

  3. 分别导出A、B明细,以题号和提交ID逐行勾稽,再独立重算分数。UI展示、导出CSV和后台记录应一致;如果采用共享数据库或缓存,验证键是否包含会话标识,不能只按题号覆盖。

合成示例:输入怎样对应结果

合成夹具设Q1正确选B、Q2正确选C,每题10分;A两题都对共20,B先错后对共10,重复提交S3不再加分。附件的本地核对脚本按提交ID去重、按会话累计并断言结果,它不访问数据库,也不能证明服务端已经实现隔离。

提交会话/题目答案期望计分
S1A/Q1BA加10
S2B/Q1AB加0
S3与重试A/Q2CA仅加10一次
S4B/Q2CB加10

下载后怎样使用

下载合成输入CSV、空白记录CSV、可打印测试协议与完整字段JSON,另有本地只读核验脚本。先用合成输入熟悉字段,再复制空表填写自己的环境、测试时间和证据路径;不要把示例行改成真实项目名称后当作测量结果。协议中已经列出准备条件、顺序、通过条件、失败记录和复核人位置,可按本项目约定填写后打印。

将脚本和synthetic.csv放在同一目录,用 python verify.py 执行;脚本只读取合成输入,断言通过表示该示例的计算与预期一致,不代表现场或产品通过。

失败、误判与下一步

让前端传来的分数直接入库,或以最后操作的用户变量给答案归属,都可能产生串号。发现不一致先冻结测试记录,按提交ID找首次错配点;不要直接修改最终总分,明细不修正会在再次导出时恢复错误。

通过后继续测试会话过期、重开一局和断线重连,分别确认旧答卷是否可追溯且不会进入新一局。

本篇取证范围:已执行合成CSV去重与计分;实际双人操作、后端并发、断线重连和持久化未测。

Quiz公开页提供题型、限时计分和定制入口;本篇双会话交错与幂等用例仍需在指定版本验证,不根据宣传页推断后端已经通过隔离或并发测试。

关联入口与一级出处

基础背景见多人PK与大屏抢答玩法怎么设计?赛制、组网与控场全解。项目上下文可从触摸互动专题进入,需对接工程时看Quiz答题交付与定制。

来源核对日期:2026-10-23。规范支持相应机制,表内输入和数值为本文合成演示;厂商声明仍须在指定版本与配置上验证。

需要展厅软硬件方案或定制开发?

加微信,把这一页发到你手机上

扫码加站长企业微信,会自动把这一页的链接发给你。问软件授权、报价,或者现场遇到问题,也可以直接聊。

去留微信

留言讨论

评论发布后会被人工复核,违规内容将被删除。

    还没有人评论,来说说你的看法

    如果发表没有反应,可以前往联系我们告诉我们。

    这个页面有问题?

    提交时会附带当前页面地址和浏览器信息,帮助我们定位问题。不填联系方式即为匿名。