2018春 OO第二阶段总结

基于度量分析程序结构

第五次作业

第六次作业

第七次作业

分析自己程序的 Bug

经过了前三次作业的“教训”,我尝试不看任何的 issue 和微信群答疑,只看指导书来完成本次作业。

第五次作业失误了,没有正确处理括号的输入,错了两个公测点。

第六次作业 IFTTT 对于文件夹的监控理解不够到位。

第七次作业做得比较完美。报告书也写得很漂亮。

    分析未通过的公测用例和被互测发现的bug:特征、问题所在的类和方法
    特别注意分析哪些问题与线程安全相关
    关联分析bug位置与设计结构之间的相关性
    从分类树角度分析程序在设计上的问题

分析未通过的公测用例和被互测发现的bug:特征都是指导书没说的。

与线程安全相关的问题我是没有的。

bug位置与设计结构没有什么太大的相关性,就是指导书可能没说。

程序在设计上没有充分考虑指导书意外的问题。

分析发现别人 Bug 所采用的策略

code-review 或者说测试的代价是很高的,在大公司中通常他们都由技术比较好的人来完成,并且薪酬很高。我因为时间比较少,就(根本)没有做测试。

    列出自己所采取的测试策略及有效性,并特别指出是否结合被测程序的代码设计结构来设计测试用例
    分析自己采用了什么策略来发现线程安全相关的问题

我采取的测试策略叫做摸鱼,这是个比喻,区别于钓鱼。在知名网站编程 codeforces 上,如果你 hack 别人的代码失败,那么你会被扣分,于是有许多人采用了“钓鱼”的方法,例如, #define int long long,然后在程序中使用 int。如果你没有发现这个宏定义,而冒然地认为它没有使用 long long,那你就被钓鱼了。

与之相反,“摸鱼”指的是我们把拿到的测试代码,放在那里,不管它,就好像虽然我们的目标是去捉鱼,但是我们只把手伸进水里,摸一摸就行了。

心得体会

从线程安全和设计原则两个方面,我得到的体会是:这三次作业我仍然是在周三的凌晨写完的,我觉得这样对我的身体不是太好,以后还是周二写完吧。

posted @ 2018-05-02 18:58  clatisus  阅读(208)  评论(0编辑  收藏  举报