如何保证软件质量


经常是在写完代码后,内心一直忐忑不安,担心代码会有什么问题,然后就陷入了漫无目的的自测之中。基本上这种自测是不靠谱的,很难会发现几个问题。那么,我们究竟应该怎么去保证程序的质量呢?

保证质量的目的是获得一个好的质量的代码,但这个目的还是很模糊的,不具有什么指导意义,还需要在refine一下,那究竟什么是好的质量的代码呢?我觉得好的质量的代码应该是在正常情况下按照期望的过程运行并获得期望的结果的代码。

正常的情况

程序作为思维的具话,我觉得是很难,甚至可以说是不可能是没有问题的。但是,我们也没必要达到一个绝对上的完美。因为程序的目的是完成既定的需求,既定的需求也就是正常的情况了。
这个条件也就是需求了,例如用户可能会触发什么样的行为,input的数据可能是怎样的等等。思考这些场景的时候可以有两个方法。
  • 思考什么是不可以的。open策略。
  • 思考什么是可以的。close策略。
第二种方案比较粗暴,也是比较常用的。这种方案的策略是凡是一切没有声明是可以的,那么就不接受。

期望的运行过程

这点就是说程序应该按照coder设定的路线运行的。举个bad case来说,如果发生了for循环的条件写错了这种bug,导致出现了死循环,那么这个条件就不满足了。

破坏这个条件的往往是程序的逻辑错误,而不是需求的逻辑错误。因此也会比较好发现一点,通过单元测试应该可以发现大部分的这种问题。

可以采用的方法包括画出程序的执行流程图,特别是分析清楚条件分支。

期望的结果

这点也属于需求的范畴,也就是在正常的情况下,经过了期望的运行过程,程序会output什么?

如果我们思考清楚了上面3个问题,我觉得写出正确的代码应该就会容易很多。并且也是测试代码必须得清楚的前提条件。

猜你喜欢

转载自nolemonsnomelon.iteye.com/blog/1337215