程序写代码就像造一座大楼,包含有地基、楼层、窗户等。而且现在的软件开发,大多是团队合作,多人的合作产出都符合设计要求,势必需要合适的开发流程,需要更多的项目管理的技巧和方法。这就要求软件开发者尽可能多地在软件测试阶段发现bug,而不是交付之后。
另外Bug分很多类,一类是对用户来说不能正常使用,能被用户感知到的错误。一类是用户能正常使用,但是有各种异常的错误。一类是使用没有任何问题,但是不符合产品预期的问题。
1、对用户来说不能正常使用,能被用户感知到的错误。
其中一种情况是程序员和测试人员的问题,所有功能在上线前,工程师和QA人员应该测试,回归完功能。能被用户感知到使用流程有问题的话,一定是相关人员能力或者线上意识某一方面欠缺,也是最不能容忍的。
2. 用户能正常使用,但是在用户看不到的地方有各种异常的。
一个功能模块几乎不可能是独立的,它必然牵扯到其他模块。这个时候可能虽然有错误,但是只要不影响主要流程,我们依然可以正常使用。但这个时候对于外部依赖的异常处理,很考验工程师的能力。
3. 使用没有任何问题,但是不符合产品预期
这个更多的是研发和产品经理对于需求理解的不一致。因为文字是有二义性的,况且人和人对相同文本的理解本来就可能出现偏差,这就导致了需求理解的不一致,最终导致了线上产品不符合预期。对于内部人员来说,这个也算BUG。