第二次作业——提出三个问题

| 软件基础 | https://edu.cnblogs.com/campus/zjlg/rjjc20 |
| ---- | ---- | ---- |
| 这个作业的目标 | 提出三个问题并给出自己的理解 |
| 姓名-学号 | 施龙杰-2018339950071 |

第一个问题——在软件开发过程中Bug是什么?

来自构建之法P17:

什么是好的软件?一些同学认为,所谓好的软件没有缺陷(bug),所谓软件工程就是把软件中的Bug都消灭掉的过程。

我们熟知的Bug通常指漏洞,一般是在系统或者软件在使用过程中暴露出来的错误,而这些错误需要工作人员去排查,解决这个问题。所以,我们主要观念还是认为Bug就是“虫子”,是需要除掉的。我的理解是Bug并不完全是质量不合格和质量完美的界定条件,例如裤腿上的洞是Bug还是feature,裤子上有洞就是说质量不合格了,那么这到底是不合格,还是设计特点,这也就是关于什么是Bug的问题。“虫子”是要除掉的,而“肉芽”是可以忽略的,比如我们手机使用一些软件时会出现一些小问题,像是出现闪退的问题,或者有时候会突然出现不良广告,可以说前者就是“虫子”,必须要解决掉才能继续使用,后者可以说是“肉芽”,就是可以忽略的,出现就关掉就行了。某种程度来说都是质量不合格的,但是又有区别于可处理和必须处理。
我的困惑就是在软件开发过程中,什么情况可以说是Bug,而什么情况可以视Bug为“虫子”,什么情况可以视Bug为“肉芽”?

第二个问题——所有的单元测试都通过是不是就可以说这个单元是正确的?

来自构建之法P25

单元测试应该在最基本的功能/参数上验证程序的正确性。单元测试应该测试程序中最基本的单元一如在 C++/C#/Java中的类,在此基础上,可以测试一些系统中最基本的功能点( 这些功能点由几个基本类组成)。从面向对象的设计原理出发,系统中最基本的功能点也应该由一个类及其方法来表现。单元测试要测试API中的每一个方法及每一个参数。

根据以上一个“好的”单元测试的标准,我想知道是不是在最基本的功能/参数上测试通过了,就说明这个单元是正确的?还是说要继续找测试用例进行下一步的测试。
我不理解的是为什么在最基本的功能/参数上验证程序的正确性,万一最基本的功能/参数通过了,但是还可能存在其他问题这个要怎么解决。

第三个问题——如何正确的给予反馈?

来自构建之法P84:

“哪个人前不说人,谁人背后无人说”————在人背后对事主评点是人类的习惯。这些反馈大多会添油加醋,拐弯抹角地传到本人耳朵里,造成各种程度的误解。

我的问题是:如何正确高效地给予反馈。
我查了一些资料需要从下列六点来解决问题:
1、肯定和承认:开始给出反馈时,首先要肯定你们之间的关系并且解释为什么这对我们如此重要。
2、解释你的心意和目的:表明自己为什么希望给出反馈。
3、列出积极因素:分享一些积极面。
4、简明扼要地陈述谈话重点或关注的问题。
5、就重点事项和对方互动沟通。
6、肯定你们之间的关系并感谢他们花时间谈话.
我认为书上的三明治方面不够明确,很难说明自己的观点并且做出有效的反馈。对于我来说,可能就是做了一番无用功。把其中重要的观点分的更清楚,比较适合我。

posted on 2020-11-01 10:42  龍龘龘  阅读(141)  评论(0)    收藏  举报

导航