本周的软件工程的课上对软件工程中的测试进行了讲解,众所周知,咱们在编程之中会常常遇到bug,这些bug有多是隐性的,也有可能显而易见的,不管是在特殊环境下才能重现的软件的bug仍是显性的漏洞,只要影响到用户的体验或者致使软件不能正常工做的话,那这个漏洞就要进行修复。软件的bug是多种多样而且没法避免的,可是咱们在编写代码时候能够经过自己技能的提升来减小咱们编写的代码中的bug的出现率,老师在课堂上讲了最近波音737max坠机的例子,就是经过波音737的坠机来代表,不管是多么完美的测试,终究仍是不能代替实际上的效果,就例如说飞机由10W个零件组成,可是若是每一个零件的合格率是99.99999%的话,那么最终这架飞机的合格率又是多少呢?经过几率的运算咱们能够算出最终的结果差很少在30%左右。那么类比到咱们的代码之中,若是咱们每行代码的正确率是99%,那么写10000行都正确的几率又是多少?这个概率小的可怜。而实际的开发过程当中,代码一旦出现错误的话,那么每每都须要花费大量的时间去修改,若是这个错误不易被发现的话,那么这个时间又得翻上几番。在这种状况下,对于代码的正确性,还有软件的测试就显得格外重要。软件的测试过程当中,是要求对错误进行预判,因此不只仅是找出代码中的错误,还要认识到其中的根本错误,在这个前提下,软件测试的意义才能显现出来。编程
上述是我对前两节课老师所讲的软件测试的看法,后两节课是对以前统计英文单词的那个实验进行二次开发,找出一个文本里面的英文单词接龙的最长组合。此次实验的过程当中,并无想象中的那么好作,看着周围的同窗用一节课就完成了,直到第二节课才草草完成的我对这个过程进行了反思,为何别人能用1节课就完成而我得用两节。以后分析以为应该是没有储存本身的代码库的缘由,就例如在C++中的开发过程当中我积累了不少本身的代码仓库,对于一些特定功能的实现只须要从以前已经写好的代码仓库中拿出来运用就行,这样能够大大节省开发的时间,对于这种状况,我将以前的一些项目中的文件的可用代码概括为一个Java开发的代码仓库,准备接下来利用计时的方法,用这个代码仓库再将以前在课上用两节课才能草草开发的实验从新编写一遍。由于别人可以在1小节课上就开发完成,我相信只要经过努力本身也能够作获得。测试
在本周的软件工程上,我对其最大的领悟是:在开发过程当中伴随着测试,一步要一测试。而在实际的开发过程当中药懂得积累代码仓库。开发
接下来我会计时着去从零用此次概括的代码仓库去从新编写一个单词的接龙实验。软件