个人项目总结
问题来源:http://www.cnblogs.com/jiel/p/5852591.html
测试用例选择
在本次个人项目的测试中,测试用例是精心选择的,下面是我在考虑测试用例时的一些原则,希望对各位老师和同学有参考意义。
-b 北土城 海淀黄庄 | 7 | 1.北土城与海淀黄庄同在10号线上 |
| | 2.不换乘为最优方案 |
-b 天通苑北 雍和宫 | 11 | 1.天通苑北与雍和宫同在5号线上 |
| | 2.不换乘非最优方案 |
-b 海淀黄庄 朱辛 | 0 | 朱辛是一个不存在的站点,需要程序正确报错 |
-b 北京西站 知春路 | 9 | 1.北京西站与知春路不在同1条地铁线上 |
| | 2.两站之间换乘较少 |
-b 七里庄 望京 | 20 | 1.七里庄与望京不在同1条地铁线上 |
| | 2.两站之间换乘较多 |
-b 知春路 知春路 | 1 | 始发站与终点站相同测试 |
-b 3号航站楼 2号航站楼 | 2 | 1.机场单行线 |
| | 2.正常行驶测试 |
-b 2号航站楼 3号航站楼 | 3 | 1.机场是单行线 |
| | 2.反向换乘测试 |
-b 西直门 北京站 | 9 | 1.西直门到北京站存在多条相同换乘次数,经过站数相同的路线 |
| | 2.不全部输出视为不完整 |
-c 沙河 沙河 | 1 | 始发站与终点站相同测试 |
-c 天通苑北 宋家庄 | 23 | 1.天通苑北与宋家庄同属于5号线 |
| | 2.最优方案为0次换乘 |
-c 西直门 东单 | 9 | 1.西直门到东单不属于同1条地铁线 |
| | 2.最优方案为1次换乘 |
| | 3.存在多条线路均满足最优换乘 |
| | 4.多条线路经过站数不同 |
-c 沙河 三元桥 | 14 | 1.沙河到三元桥不属于同1条地铁线 |
| | 2.最优方案为2次换乘 |
| | 3.最优换乘线路与最优站数线路不同 |
-c 金台夕照 双桥 | 8 | 四惠与四惠同时属于2条地铁线,为特殊路段 |
-c 朱辛 沙河 | 0 | 错误站点测试 |
存在的问题
从同学们的作业中反映出一些共性的问题,下面大概说一下:
- 没有预先编译生成正确的exe文件。
- 一些同学有已经编译好的正确的exe文件,但是这些exe文件都藏在很深的子文件夹中,需要我努力寻找。
- 一些同学虽然有exe文件,但是有很多个版本:Debug,Release,x64/Debug 等等,需要不断试错才知道哪个是“成品”。
- 更多的同学没有exe文件,在Github上只有工程,这样就为我测试项目带来了一些麻烦:测试时我不仅要克隆每个人的项目,还要把这些项目在VS中打开,重新生成一遍解决方案。
- 甚至有一些同学在Github上的只有源代码文件,没有工程,我在测试的时候还得新建工程,比较浪费时间。
- 希望同学们不论作业中也好,以后做项目也好,最好能有一个专门放“成品”的地方,比如Github的releases。
- 对博客的重视程度不够。大部分同学还是把博客当成普通的作业,而非一个自我展示的舞台。从博客的结构、内容与排版上均能明显看出这两种思想的差异。鉴于同学们是第一次写博客,美中不足在所难免,希望有上进心的同学博客上多下下功夫。也请认为博客没有用,纯属浪费时间的同学思考一下:写出来让别人懂 和 只有自己能懂,两种层次是否一样?
- 对Git的使用存在误解。有不少同学在整个工程结束的时候才执行了唯一的一次
commit
& push
。这样使用Git是一种存在误解的行为:不是只有项目做得完美无缺才可以提交,在做项目的过程中就需要不断地 commit。希望大家勤提交,多提交,这样在需要回滚到某个版本时也比较方便。 - 测试用例是拍脑袋想出来的,而不是根据问题需求而写出来的。大多数同学博客里的测试用例就只是写了是什么,很少有同学写为什么。可能同学们会说:老师并没有要求我们写为什么呀!但是条理清晰,逻辑清楚的测试用例 和 随便选择的测试用例达到的效果完全不同。前者可能仅需要几个就可以覆盖全部情景,但后者很难做到这一点。测试用例也需要精心设计,这是在我们写程序的时候就该考虑的事情。
优秀博客推荐
http://www.cnblogs.com/hyperleopard/p/5883326.html
http://www.cnblogs.com/shhr/p/5878126.html
http://www.cnblogs.com/ChildishChange/p/5870188.html
个人项目得分明细
博客 | 算法 | 7 | 4 | 4 | 7 | 6 | 7 | 3 | 4 | 6 |
| 测试 | 3 | 2 | 2 | 2 | 2 | 3 | 2 | 2 | 3 |
| 优化 | 3 | 1 | 3 | 2 | 1 | 2 | 1 | 2 | 1 |
| PSP表格 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 |
工程 | 有编译好的exe文件 | 2 | 2 | 2 | 0 | 2 | 2 | 2 | 2 | 0 |
| Git管理代码 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
| 编译警告消除 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 0 |
功能 -b | subway.exe -b 北土城 海淀黄庄 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
| subway.exe -b 天通苑北 雍和宫 | 2 | 2 | 2 | 0 | 2 | 2 | 2 | 2 | 2 |
| subway.exe -b 海淀黄庄 朱辛 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 0 | 2 |
| subway.exe -b 北京西站 知春路 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
| subway.exe -b 七里庄 望京 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
| subway.exe -b 知春路 知春路 | 2 | 2 | 2 | 2 | 2 | 0 | 2 | 0 | 2 |
| subway.exe -b 3号航站楼 2号航站楼 | 2 | 0 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
| subway.exe -b 2号航站楼 3号航站楼 | 2 | 0 | 2 | 2 | 2 | 0 | 0 | 0 | 2 |
| subway.exe -b 西直门 北京站 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
功能 -c | subway.exe -c 沙河 沙河 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 1 |
| subway.exe -c 西直门 东单 | 2 | 0 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
| subway.exe -c 天通苑北 宋家庄 | 2 | 2 | 2 | 2 | 0 | 2 | 2 | 2 | 2 |
| subway.exe -c 金台夕照 双桥 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
| subway.exe -c 沙河 三元桥 | 2 | 2 | 2 | 2 | 0 | 2 | 2 | 2 | 2 |
| subway.exe -c 朱辛 沙河 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
鲁棒性 | 修改输入文件格式 或 删除文件 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 |
| 参数传递不够 或 超过范围 | 2 | 2 | 2 | 2 | 2 | 0 | 2 | 2 | 2 |
扣分项 | 文件使用绝对路径 | 2 | | | | | | | | 2 |
| 运行时间过长 | 1-4 | | | | | | | | |
| 不写Github项目地址 | 1 | | 1 | | | 1 | | | |
总分 | | 50 | 37 | 44 | 41 | 41 | 39 | 39 | 35 | 39 |
博客 | 算法 | 1 | 3 | 1 | 3 | 3 | 4 | 2 | 2 | 2 |
| 测试 | 2 | 2 | 2 | 3 | 2 | 3 | 2 | 2 | 2 |
| 优化 | 1 | 2 | 0 | 3 | 1 | 2 | 1 | 1 | 1 |
| PSP表格 | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 | 1 |
工程 | 有编译好的exe文件 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 |
| Git管理代码 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 |
| 编译警告消除 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
功能 -b | subway.exe -b 北土城 海淀黄庄 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
| subway.exe -b 天通苑北 雍和宫 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
| subway.exe -b 海淀黄庄 朱辛 | 2 | 1 | 2 | 2 | 0 | 2 | 1 | 2 | 0 |
| subway.exe -b 北京西站 知春路 | 2 | 2 | 1 | 2 | 2 | 2 | 2 | 2 | 2 |
| subway.exe -b 七里庄 望京 | 0 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
| subway.exe -b 知春路 知春路 | 2 | 0 | 0 | 1 | 1 | 1 | 2 | 2 | 2 |
| subway.exe -b 3号航站楼 2号航站楼 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
| subway.exe -b 2号航站楼 3号航站楼 | 2 | 2 | 2 | 0 | 2 | 0 | 2 | 2 | 2 |
| subway.exe -b 西直门 北京站 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
功能 -c | subway.exe -c 沙河 沙河 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 |
| subway.exe -c 西直门 东单 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
| subway.exe -c 天通苑北 宋家庄 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
| subway.exe -c 金台夕照 双桥 | 2 | 2 | 2 | 0 | 2 | 2 | 2 | 2 | 2 |
| subway.exe -c 沙河 三元桥 | 0 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 0 |
| subway.exe -c 朱辛 沙河 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 0 |
鲁棒性 | 修改输入文件格式 或 删除文件 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 0 |
| 参数传递不够 或 超过范围 | 2 | 2 | 0 | 2 | 2 | 2 | 2 | 2 | 0 |
扣分项 | 文件使用绝对路径 | | 2 | 1 | | | 2 | | | |
| 运行时间过长 | | 3 | | | | 2 | | | |
| 不写Github项目地址 | 1 | | 1 | | | | | 1 | |
总分 | | 31 | 32 | 27 | 38 | 35 | 35 | 37 | 37 | 29 |
个人排行榜
个人得分情况