个人项目总结
问题来源: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
个人项目得分明细
项目 |
测试用例 |
单项满分 |
1074 |
5028 |
1122 |
1197 |
1113 |
1163 |
1218 |
1195 |
博客 |
算法 |
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 |
项目 |
测试用例 |
1038 |
1183 |
1050 |
1217 |
1056 |
1216 |
1041 |
1053 |
1035 |
博客 |
算法 |
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 |
个人排行榜
个人得分情况