关于软件测试的原则,有以下五点:
第一,测试应尽早进行,最好是能够在需求阶段就开始介入。
千里之堤毁于蚁穴,对于测试,如果越早介入,问题就能越早被发现,修改或者调整方向的成本就会越小。
测试在需求阶段就介入,最严重的错误,无外乎是系统不能满足用户的需求,但是如果按照传统的瀑布模型,等到软件开发完成之后再进行测试,那么,万一偏离了方向,纠正过来的成本将是巨大的。
第二,负责软件开发的人员应避免检查自己的程序。
当局者迷旁观者清,自己犯的错误,往往意识不到。
当我们还是学生年代的时候,自己写的作文,如果是自己检查,很难找到错误。主要是受到思维惯性的影响,觉得这样表达并没有错,甚至是错别字也无法辨别出来。而如果交给其他同学或者老师来帮你检查,效果就不一样了。
这时候,有人就有疑问了,单元测试不是由开发人员测试的吗?
对的,这就相当于自检。每一个模块的代码实现什么功能,具体是怎样的实现逻辑,开发者自身是最清楚的。由开发人员做单元测试,能够高效地修正一些低级错误。
另外,也是因为测试人员的编码能力不足,开展单元测试效率低。所以,需要开发人员进行自检,这样的代码才有质量保证,而测试人员的作用就是,在代码已有的质量上,提升一个质量级别。
第三,设计测试用例既要考虑到合法情况,也要考虑不合法情况。
开发界有一句话:永远不要相信用户的输入。