【1414软工助教】单元测试 得分榜

题目

结对编程2——单元测试

作业完成情况

班级共29人,本次作业 27 人提交,2 人未提交。
未提交原因为:忘记在博客园班级博客里提交,但博客有准时提交。

总得分映射到百分制的排名

得分情况

博客 Coding 个人项目1 结对项目1 案例分析 结对项目2 总分 映射到[50-100]
092 092 5.2 8.5 9.75 5.1 28.55 89
093 093 3.2 9.5 6 3.81 22.51 76
094 094 6.6 9 4.75 2.81 23.16 77
095 095 1 8.5 3 3 15.5 61
096 096 7.4 8.5 10.5 4.63 31.03 94
097 097 4.6 8 11 3.5 27.1 86
098 098 6.4 8 11.5 4.44 30.34 93
099 099 2.6 8.5 8.25 2.69 22.04 75
100 100 5.2 8.5 13 1.94 28.64 89
101 101 5.6 10.5 13.5 3.88 33.48 100
102 102 4.4 10.5 6.5 1.63 23.03 77
103 103 4.4 10.5 -2 1.44 14.34 58
105 105 4.6 2.5 7.75 0.31 15.16 60
106 106 6.6 10.5 4.5 1.38 22.98 77
107 107 7.2 10.5 6 5 28.7 89
108 108 3 0 7.25 0.31 10.56 50
109 109 5.2 10 3 2.63 20.83 72
110 110 5.8 9 4 6.25 25.05 81
111 111 5 9 3 2.56 19.56 70
112 112 4.4 8.5 6 5.25 24.15 79
113 113 5.4 9 -1 2.06 15.46 61
114 114 4.6 9 6.75 3.31 23.66 78
115 115 5.6 6 4.75 0.94 17.29 65
116 116 4.4 7 4 0.94 16.34 63
117 117 4.8 9 4.75 2.31 20.86 72
118 118 5.6 7.5 5.75 2.94 21.79 74
119 119 1.6 2.5 11 0.31 15.41 61
120 120 3.2 9.5 9.25 5 26.95 85
121 121 1.4 11 4 1.94 18.34 67

评分标准

需求分析(1分)

需求分析(特指测试)应该覆盖的点为:

  • 整数和分数的加减乘除
  • 式子格式错误
  • 大的数据
  • 分母为 0 错误
  • 提醒用户

作业要求原文:

通过单元测试代码,测试加减乘除功能。
通过单元测试代码,测试计算类对于各种参数的支持:
a. 输入是有错误的,例如 “1 ++ 2”,
b. 在数值范围是 -1000 .. 1000 的时候,传进去 “10000 + 32768”,
c. 或者是 “ 248 / 0” 怎么办?
d. 怎么告诉函数的调用者 “你错了”? 把返回的字符串定义为 “-1” 来表示?
e. 那么如果真的计算结果是 “-1” 又怎么处理呢?

需求分析评分标准:

  1. 照抄作业上的要求得0分
  2. 用自己的话说,但说不全的得0.5分
  3. 用自己的话说,并且说得比较全的得1分

描述单元测试的每个环节(2分)

  1. 测试用例及结果总分为 1.5 分
    • 有给出测试用例,但没有覆盖需求分析各个点的,扣0.5分
    • 没有给出结果的,扣0.5分
    • 给出结果,但不是全部结果的,扣0.25分
  2. 遇到的问题及解决方案总分为 0.5 分
    • 如果说出遇到的问题及解决方案的,得0.5分
    • 如果说出遇到的问题但没有给出解决方案,得0.25分
    • 如果没有遇到问题但没有说“没有遇到问题”的,不得分

代码覆盖报告(1分)

  1. 没有给出截图不得分
  2. 代码有错误处理,给出截图是 100% 得 1 分
  3. 代码没有错误处理,给出截图是 100% 得 0.5 分
  4. 给出截图不是 100% ,但没有说明为什么 ,得 0.5 分
  5. 给出的截图是测试类本身的覆盖率,而不是被测试类的覆盖率,得 0 分
  6. 覆盖报告的工具无法正常运行:给出解决的进度及请求帮助得0.5分;只尝试解决的得0.25分。只说明无法正常运行得0分

小结(1分)

  • 是否发现了程序计算模块的问题
  • 是否给予改进

小结评分标准:

  1. 如果没有发现问题,但没有明确说明“没有发现问题”的,该部分得分不超过 0.5 分
  2. 如果发现问题但没有给予改进,得 0.5 分
  3. 有说发现问题,且给予改进。但没有说对哪部分进行了改进,得 0.5 分。

看以前代码的感受(1分)

  • 良好的设计
  • 编码规范
  • 必要的注释

评分标准:

  1. 说设计重要,但没有说明之前的设计有哪些缺陷的,扣 0.25 分
    除非之前的设计很好,或者同学明确指出他们认为之前的设计没有问题。如果是这样,不扣分。
  2. 说代码规范重要,但这次作业代码不规范的,扣 0.5 分
    如果明确说能看懂之前的代码,不扣分。
    如果给出两人的代码规范文档,并且不符合规范的部分没有在文档上给出相应要求。如果是这样,不扣分。
  3. 说注释重要,但这次作业代码没有合理的注释,则扣 0.25 分

结对,两个人的 commit(0分)

  • 两人对同一个文件修改过

commit 评分标准:
出现以下情况任意一种的,Coding部分得分减一半。

  1. 两人各自上传一整份代码(文件名相同)
  2. 测试代码的文件和模块化的文件只有一个人commit

这部分在详细分数中,数字 1 表示符合要求,数字 2 表示不符合要求

fork 助教的代码(0分)

  • 已经提供给同学们四个版本的空壳函数,分别为 JAVA,C++,Python,C#

评分标准:

  1. 没有 fork 则 Coding 部分得分 减一半

这部分在详细分数中,数字 1 表示符合要求,数字 2 表示不符合要求

将计算相关的代码放到新创建的 Calculator 类

  1. 如果将生成表达式的方法或者其他跟计算无关的代码写到Calculator里,得0分

将 Calculator 类的代码模块化(0分)

  1. 加减乘除放在同一个方法用分支处理,得0分。

以下为测试部分

没有出现Assert的,测试部分得0分

正确的输入能否达到预期(0.5分)

  1. 每个方法如果只有一个测试用例,得0分

错误的输入能否提示用户(0分)

  1. 包含需求分析中给出的所有例子,得 1 分
  2. 没有包括所有例子, 得 0.5 分
  3. 没有错误处理,得 0 分

大数字的处理(0.5分)

  1. 没有测试 32768 级别或以上的数据则得 0 分

除0运算、分母为0(0.5分)

  1. 各 0.25 分

混合运算测试(0.5分)

  1. 没有对混合运算测试得 0 分
  2. 混合运算输入后进行处理,或者提示用户无法处理,得0.5分

覆盖所有路径(0分)

  1. 包含全部错误处理且覆盖率 100% 得 1 分
  2. 没有包含全部错误处理且覆盖率 100% 得 0.5 分
  3. 没有包含全部错误处理且覆盖率没有 100% 得 0.25 分
  4. 没有错误处理且覆盖率 100% 的 0.25 分
  5. 没有错误处理且覆盖率没有 100% 则 0 分

小数的位数可控(0.5分)

  1. 当结果为小数时,要能够控制只保留两位小数作为输出。如果不能控制,得0分

助教说

  1. 很抱歉这次这么晚才发分数出来。我最近波动较大,影响到了助教的助教工作,很抱歉。
    记一次失败的面试
    这是我最近写的一篇博客,希望这个惨痛的经历能够对你们有所帮助。也希望同学们在即将到来的人生分叉口上,能够谨慎做出选择,避免陷入我这样尴尬的境地。
  2. 本次作业其实题目本身就有问题,很多地方都没有说清楚。同学们的得分也因此普遍较低。
  3. 这次细化了评分标准,把很多细节列出来。如果同学们对自己的分数有异议,可以向我提出,我会在仔细比较之后给出合适的处理。
  4. 还有一篇 作业博客高分指南 ,有兴趣的同学可以看看。

评分明细

Blog Blog部分总分 Coding 设置测试数据完善性 Coding部分总分 基础分总分 最终得分
基本信息 需求分析 单元测试环节 覆盖报告 小结 看以前代码感受 照片 commit记录 fork Calculator 类 模块化 正确的输入 错误的输入 大数字 除0运算、分母为0 混合运算测试 覆盖所有路径 小数的位数可控 互动迭代及其他
博客\分数 0 1 2 1 1 1 0.5 6.5 0 0 0.5 1 0.5 1 0.5 0.5 0.5 1 0.5 6 12.5 1 13.5
092 0 0.5 1 0 0.5 0 0.5 2.5 1 2 0.5 1 0.5 0.5 0 0.25 0 0.5 0 1.6 4.1 1 5.1
096 0 0.5 1 0 0 0 0.5 2 1 2 0.5 1 0.5 0.5 0 0.25 0 0.5 0 1.63 3.63 1 4.63
093 0 0.5 1 0.5 0 0 0.5 2.5 2 2 0.5 0 0.5 0 0 0 0 0.25 0 0.31 2.81 1 3.81
094 0 0.5 1 0.5 0 0 0.5 2.5 2 2 0.5 0 0.5 0 0 0 0 0.25 0 0.31 2.81 0 2.81
095 0 1 1 0.5 0 0 0.5 3 2 2 0 0 0 0 0 0 0 0 0 0 3 0 3
097 0 1 1 0.5 0.5 0 0.5 3.5 2 2 0 0 0 0 0 0 0 0 0 0 3.5 0 3.5
098 0 0.5 1.5 0 1 0.5 0.5 4 2 2 0 1 0.5 0 0 0 0 0.25 0 0.44 4.44 0 4.44
118 0 0.5 1.5 0 0 0 0.5 2.5 2 2 0 1 0.5 0 0 0 0 0.25 0 0.44 2.94 0 2.94
099 0 0 1 0 0 0.75 0.5 2.25 2 2 0 1 0.5 0 0 0 0 0.25 0 0.44 2.69 0 2.69
100 0 0 1 0 0 0 0.5 1.5 2 2 0 1 0.5 0 0 0 0 0.25 0 0.44 1.94 0 1.94
101 0 0 1.5 0.5 0 0.75 0.5 3.25 2 2 0.5 0 0.5 0.5 0 0 0.5 0.5 0 0.63 3.88 0 3.88
109 0 0 1.5 0.5 0 0 0 2 2 2 0.5 0 0.5 0.5 0 0 0.5 0.5 0 0.63 2.63 0 2.63
102 0 0.5 0 0 0 0.25 0.5 1.25 2 2 0.5 1 0 0 0 0 0 0 0 0.38 1.63 0 1.63
106 0 0.5 0 0 0 0 0.5 1 2 2 0.5 1 0 0 0 0 0 0 0 0.38 1.38 0 1.38
103 0 0 0.75 0 0 0 0.5 1.25 2 2 0 0 0.5 0 0 0 0 0.25 0 0.19 1.44 0 1.44
121 0 0 0.75 0 0.5 0 0.5 1.75 2 2 0 0 0.5 0 0 0 0 0.25 0 0.19 1.94 0 1.94
105 0 0 0.5 0.5 0 0 0 1 2 2 0.5 0 0.5 0 0 0 0 0.25 0 0.31 1.31 -1 0.31
119 0 0 0.5 0.5 0 0 0 1 2 2 0.5 0 0.5 0 0 0 0 0.25 0 0.31 1.31 -1 0.31
108 0 0 0.5 0.5 0 0 0 1 2 2 0.5 0 0.5 0 0 0 0 0.25 0 0.31 1.31 -1 0.31
107 0 0 2 0.25 0.5 0 0.5 3.25 1 2 0.5 0 0.5 0.5 0 0.5 0 0.5 0 1.25 4.5 0.5 5
120 0 0 2 0.25 1 0 0.5 3.75 1 2 0.5 0 0.5 0.5 0 0.5 0 0.5 0 1.25 5 0 5
115 0 0 0 0.25 0 0 0.5 0.75 2 2 0.5 0 0 0 0 0 0 0.25 0 0.19 0.94 0 0.94
116 0 0 0 0.25 0 0 0.5 0.75 2 2 0.5 0 0 0 0 0 0 0.25 0 0.19 0.94 0 0.94
110 0 0.5 1.5 0.5 1 0 0.5 4 2 1 0.5 1 0.5 1 0 0.5 0.5 0.5 0 2.25 6.25 0 6.25
112 0 0.5 1.5 0.5 0 0 0.5 3 2 1 0.5 1 0.5 1 0 0.5 0.5 0.5 0 2.25 5.25 0 5.25
111 0 0 1 0.25 0.5 0 0.5 2.25 2 2 0.5 0 0.5 0 0 0 0 0.25 0 0.31 2.56 0 2.56
113 0 0 1 0.25 0 0 0.5 1.75 2 2 0.5 0 0.5 0 0 0 0 0.25 0 0.31 2.06 0 2.06
114 0 0.5 1 0.5 0 0 0 2 2 2 0.5 0 0.5 0 0 0 0 0.25 0 0.31 2.31 1 3.31
117 0 0.5 1 0.5 0 0 0 2 2 2 0.5 0 0.5 0 0 0 0 0.25 0 0.31 2.31 0 2.31
posted @ 2017-04-12 20:49  schaepher  阅读(324)  评论(1编辑  收藏  举报