【1414软工助教】单元测试 得分榜
题目
作业完成情况
班级共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” 又怎么处理呢?
需求分析评分标准:
- 照抄作业上的要求得0分
- 用自己的话说,但说不全的得0.5分
- 用自己的话说,并且说得比较全的得1分
描述单元测试的每个环节(2分)
- 测试用例及结果总分为 1.5 分
- 有给出测试用例,但没有覆盖需求分析各个点的,扣0.5分
- 没有给出结果的,扣0.5分
- 给出结果,但不是全部结果的,扣0.25分
- 遇到的问题及解决方案总分为 0.5 分
- 如果说出遇到的问题及解决方案的,得0.5分
- 如果说出遇到的问题但没有给出解决方案,得0.25分
- 如果没有遇到问题但没有说“没有遇到问题”的,不得分
代码覆盖报告(1分)
- 没有给出截图不得分
- 代码有错误处理,给出截图是 100% 得 1 分
- 代码没有错误处理,给出截图是 100% 得 0.5 分
- 给出截图不是 100% ,但没有说明为什么 ,得 0.5 分
- 给出的截图是测试类本身的覆盖率,而不是被测试类的覆盖率,得 0 分
- 覆盖报告的工具无法正常运行:给出解决的进度及请求帮助得0.5分;只尝试解决的得0.25分。只说明无法正常运行得0分
小结(1分)
- 是否发现了程序计算模块的问题
- 是否给予改进
小结评分标准:
- 如果没有发现问题,但没有明确说明“没有发现问题”的,该部分得分不超过 0.5 分
- 如果发现问题但没有给予改进,得 0.5 分
- 有说发现问题,且给予改进。但没有说对哪部分进行了改进,得 0.5 分。
看以前代码的感受(1分)
- 良好的设计
- 编码规范
- 必要的注释
评分标准:
- 说设计重要,但没有说明之前的设计有哪些缺陷的,扣 0.25 分
除非之前的设计很好,或者同学明确指出他们认为之前的设计没有问题。如果是这样,不扣分。 - 说代码规范重要,但这次作业代码不规范的,扣 0.5 分
如果明确说能看懂之前的代码,不扣分。
如果给出两人的代码规范文档,并且不符合规范的部分没有在文档上给出相应要求。如果是这样,不扣分。 - 说注释重要,但这次作业代码没有合理的注释,则扣 0.25 分
结对,两个人的 commit(0分)
- 两人对同一个文件修改过
commit 评分标准:
出现以下情况任意一种的,Coding部分得分减一半。
- 两人各自上传一整份代码(文件名相同)
- 测试代码的文件和模块化的文件只有一个人commit
这部分在详细分数中,数字 1 表示符合要求,数字 2 表示不符合要求
fork 助教的代码(0分)
- 已经提供给同学们四个版本的空壳函数,分别为 JAVA,C++,Python,C#
评分标准:
- 没有 fork 则 Coding 部分得分 再 减一半
这部分在详细分数中,数字 1 表示符合要求,数字 2 表示不符合要求
将计算相关的代码放到新创建的 Calculator 类
- 如果将生成表达式的方法或者其他跟计算无关的代码写到Calculator里,得0分
将 Calculator 类的代码模块化(0分)
- 加减乘除放在同一个方法用分支处理,得0分。
以下为测试部分
没有出现Assert的,测试部分得0分
正确的输入能否达到预期(0.5分)
- 每个方法如果只有一个测试用例,得0分
错误的输入能否提示用户(0分)
- 包含需求分析中给出的所有例子,得 1 分
- 没有包括所有例子, 得 0.5 分
- 没有错误处理,得 0 分
大数字的处理(0.5分)
- 没有测试 32768 级别或以上的数据则得 0 分
除0运算、分母为0(0.5分)
- 各 0.25 分
混合运算测试(0.5分)
- 没有对混合运算测试得 0 分
- 混合运算输入后进行处理,或者提示用户无法处理,得0.5分
覆盖所有路径(0分)
- 包含全部错误处理且覆盖率 100% 得 1 分
- 没有包含全部错误处理且覆盖率 100% 得 0.5 分
- 没有包含全部错误处理且覆盖率没有 100% 得 0.25 分
- 没有错误处理且覆盖率 100% 的 0.25 分
- 没有错误处理且覆盖率没有 100% 则 0 分
小数的位数可控(0.5分)
- 当结果为小数时,要能够控制只保留两位小数作为输出。如果不能控制,得0分
助教说
- 很抱歉这次这么晚才发分数出来。我最近波动较大,影响到了助教的助教工作,很抱歉。
记一次失败的面试
这是我最近写的一篇博客,希望这个惨痛的经历能够对你们有所帮助。也希望同学们在即将到来的人生分叉口上,能够谨慎做出选择,避免陷入我这样尴尬的境地。 - 本次作业其实题目本身就有问题,很多地方都没有说清楚。同学们的得分也因此普遍较低。
- 这次细化了评分标准,把很多细节列出来。如果同学们对自己的分数有异议,可以向我提出,我会在仔细比较之后给出合适的处理。
- 还有一篇 作业博客高分指南 ,有兴趣的同学可以看看。
评分明细
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 |