走在耙子上:知识测试开发中的 10 个严重错误

走在耙子上:知识测试开发中的 10 个严重错误
在注册新的机器学习高级课程之前,我们会对未来的学生进行测试,以确定他们的准备程度,并了解他们到底需要提供什么来准备该课程。 但出现了一个困境:一方面,我们必须测试数据科学方面的知识,另一方面,我们又无法安排一次完整的4小时考试。

为了解决这个问题,我们在数据科学课程开发团队中部署了一个 TestDev 总部(看起来这只是一个开始)。 我们向您列出了开发知识评估测试时遇到的 10 个陷阱。 希望在线学习的世界在此之后会变得更好一些。

Rake 1:未能明确定义测试目标

为了正确定义目标并创建将这些目标考虑在内的测试,在规划阶段我们必须回答几个问题:

  1. 我们实际上在检查什么? 
  2. 测试将在什么环境中进行以及使用什么机制? 在这种环境下有哪些限制? 同一点将使您了解将进行测试的设备的技术要求,以及内容的技术要求(如果测试是从手机上进行的,即使在小屏幕上,图片也应该可读,它应该可以放大它们等)。
  3. 测试需要多长时间? 您需要考虑用户参加测试的条件。 会不会有什么情况需要他中断测试过程然后再继续?
  4. 会有反馈吗? 我们如何形成并交付它? 您需要收到什么? 测试执行和反馈之间是否存在时间滞后?

在我们的例子中,回答了这些问题后,我们定义了以下测试目标列表:

  1. 测试应显示未来的学生是否准备好学习该课程以及他们是否拥有足够的知识和技能。
  2. 测试应该给我们反馈材料,指出学生犯错误的题目,以便他们提高知识。 下面我们将告诉您如何编写它。

Rake 2:未能为专家测试编写者制定技术规范

为了编写测试项目,让测试知识领域的专家参与进来非常重要。 而对于专家来说,您需要一份合格的技术规范(描述),其中包括测试主题、所测试的知识/技能及其水平。

专家不会为自己做这样的技术规范,因为他的工作是提出任务,而不是测试的结构。 而且,即使在教学过程中,也很少有人专业地开发测试。 这是在一个单独的专业——心理测量学中教授的。

如果您想快速熟悉心理测量学,那么在俄罗斯有 暑期班 对于所有感兴趣的人。 为了进行更深入的研究,教育研究所 硕士 和研究生院。

在准备技术规范时,我们会为专家(或者更好的是,与他一起)收集测试的详细描述:任务主题、任务类型、任务数量。

如何选择任务类型:确定主题后,我们决定哪些任务最能测试这个主题? 经典选项:开放式任务、多选或单选任务、匹配等(不要忘记测试环境的技术限制!)。 在确定并指定任务类型后,我们为专家提供了现成的技术规范。 您可以将其称为测试规范。

Rake 3:没有专家参与测试开发

当让专家沉浸在测试开发中时,不仅要向他表明“工作范围”,而且要让他参与开发过程本身,这一点非常重要。

如何使与专家的合作尽可能有效:

  • 提前做好准备,花一些时间讨论测试开发和心理测量学的科学知识。
  • 将评估者的注意力集中在创建有效且可靠的评估工具上,而不是问题列表上。
  • 解释他的工作包括一个准备阶段,而不仅仅是任务本身的发展。

一些专家(由于他们的性质)可能认为这是对他们自己工作的测试,我们向他们解释,即使我们创建了出色的任务,它们也可能不适合特定的测试目标。

为了使该过程快速进行,我们与专家一起准备了一个主题覆盖范围(知识和技能)表,这是测试规范的一部分。 正是这张表使我们能够准确地解决问题并确定我们要测量的内容。 在每种具体情况下,它的编译方式可能略有不同。 我们的任务是检查一个人对之前基础课程的知识和技能的理解程度,以便了解他对学习新课程的准备程度。

Rake 4:认为专家“最了解”

更好地了解该主题。 但它并不总是解释清楚。 检查作业的措辞非常重要。 写下清晰的说明,例如“选择 1 个正确的选项”。 在 90% 的情况下,专家会以他们自己理解的方式准备问题。 没关系。 但在把考试交给考生之前,一切都需要检查和梳理,以便考生准确理解自己的要求,而不会因为误解任务文本而犯错误。

为了避免对任务的双重解释,我们建立了“认知实验室”。 我们要求目标受众参加测试,大声说出他们的想法并详细记录。 在“认知实验室”,你可以“发现”不清楚的问题、错误的措辞,并获得测试的第一反馈。

Rake 5:忽略测试执行时间

讽刺模式:开
当然,我们的测试是最好的,每个人都梦想能通过! 是的,一共4个小时。
讽刺模式:关闭

当有一个可以检查的所有内容的列表时,最重要的是不要这样做(乍一看这听起来很奇怪,不是吗?)。 你需要狠狠地剪裁,与专家一起识别关键知识和技能(是的,一些技能也可以在测试中得到检验)。 我们查看任务类型并估计目标完成时间:如果一切仍然超过合理限制,我们就会削减它!

为了减少体积,您还可以尝试(仔细)在一项任务中测试两种技能。 在这种情况下,很难理解这个人为什么会犯错误,但如果做得正确,两种技能都可以得到考虑。 重要的是要确保这两种技能对应于同一知识领域。

Rake 6:没有考虑评分系统

通常,在编写评估测试时,他们使用经典的评分系统,例如,简单的任务 1 分,困难的任务 2 分。 但这并不普遍。 仅基于测试结果的分数总和并不能告诉我们太多信息:我们不知道这些分数是针对哪些任务获得的,我们只能确定正确任务的数量。 我们需要准确了解考生所展示的技能。 此外,我们希望向他们提供有关哪些主题需要改进的反馈。

毕竟,我们正在做一个测试,将人们分为准备好和未准备好完成课程的人;我们会建议一些人通过免费培训来准备课程。 对我们来说重要的是,这个群体只包括那些真正需要它并做好准备的人。

我们在我们的情况下做什么:我们在测试开发人员的工作组中确定需要识别哪些人群(例如,准备好学习,部分准备好),并形成这些人群的特征表,表明哪些技能和知识将与准备学习培训的群体相关。 通过这种方式,您可以制定此类测试任务的“难度”。

Rake 7:仅自动评估结果

当然,评估应该尽可能客观,因此一些学生材料是自动评估的,“按键” - 与正确答案进行比较。 即使没有专门的测试系统,也有很多免费的解决方案。 如果您了解编写脚本的原理,那么您就可以使用 Google 表单和表格结果做任何您想做的事情。 如果某些任务是由专家检查的,那么我们需要考虑在不提供有关考生信息的情况下向专家提供答案。 并思考如何将专家测试的结果融入到最终的评估中。

我们最初想用代码制作几个开放式任务,专家根据预先制定的标准评估解决方案,我们甚至准备了一个系统,将测试参与者的个人答案导出到专家的特殊表格中,然后将结果导入到包含评估计算的表格。 但在与目标受众代表、产品经理和教育设计师讨论后,我们认为进行技术访谈并获得即时专家反馈和对代码以及个人问题的讨论,对于参与者本身来说会更加有效和有用。

现在专家验证了测试的完成情况,并澄清了一些问题。 为此,我们准备了技术面试的问题指南和评估标准。 在技​​术面试之前,考官会收到应试者的答案图,以帮助他选择要问的问题。

Rake 8:不解释测试结果

向参与者提供反馈是一个单独的问题。 我们不仅需要告知测试分数,还需要提供对测试结果的理解。
这些可以是: 

  • 参与者犯了错误但正确完成的任务。
  • 参与者犯错误的主题。
  • 他在参加考试的人中的排名。
  • 参与者级别的描述,例如与专家级别的描述一致(基于职位空缺的描述)。

在我们测试的试点启动过程中,我们向那些想要加入该计划的人以及结果展示了一系列需要改进的主题。 但这肯定不理想,我们会改进并提供更好的反馈。

Rake 9:不要与开发人员讨论测试

也许最尖锐的耙子就是“按原样”将测试、描述和评分标准发送给开发人员,这让人特别不舒服。
具体需要讨论什么:

  • 问题的出现、结构、图形的位置、正确答案的选择是什么样的。
  • 分数是如何计算的(如果需要),是否有任何附加条件。
  • 反馈是如何生成的,在哪里获取文本,是否有额外的自动生成的块。
  • 您需要收集哪些额外信息以及在什么时间收集(相同联系人)。

为了避免误解,我们要求开发人员编写 2 到 3 个不同的问题,以便他们可以在编写测试本身之前了解它们的样子。

Rake 10:无需测试,直接上传到生产环境

3次,伙计们,测试应该由不同的人检查3次,或者更好的是,每次检查3次。这个真理是用血汗和代码行像素得出的。

我们的测试检查以下三项:

  1. 产品 - 检查性能、外观、机械测试。
  2. 测试开发人员 - 检查任务文本、任务顺序、测试工作形式、任务类型、正确答案、可读性和图形的正常查看。
  3. 任务的作者(专家)以专家的身份检查测试的保真度。

实践中的一个例子:仅在第三次运行时,任务的作者发现有 1 个任务仍保留旧版本的措辞。 之前的诸位也都积极统治。 但当测试被编码时,它看起来与最初想象的不同。 很可能需要纠正某些内容。 需要考虑到这一点。

小心地绕过所有这些“耙子”,我们创建了一个特殊的 Telegram 中的机器人,测试申请人的知识水平。 任何人都可以在我们准备下一个材料时对其进行测试,我们将在其中告诉您机器人内部发生了什么,以及它之后会变成什么。

走在耙子上:知识测试开发中的 10 个严重错误
您可以通过参加 SkillFactory 在线课程从头开始获得受欢迎的职业,或者在技能和薪水方面进行升级:

更多课程

来源: habr.com

添加评论