第一点,咱们的这个软件或者程序都是由开发做出来的,开发也是人,是人就有可能会有不完美的地方。
代码存在问题就会出现Bug,每个人都会有粗心大意的时候,犯错的时候,这都是不可避免的。
这就是为什么需要我们软件测试这样一个工作。
就是为了避免可能会出现的问题,在上线用户手上才被发现。因为对于Bug我们越早去发现,修复的成本就是越低的《软件测试的艺术》一书中有提到这个概念。
这个缺陷(Bug)的产生除了我们人为的因素之外,其实还有很多的一个因素,比如说需求文档的不完善,因为对于客户来说,他的描述需求是非常的宽泛不具像的。
如果说你想要去把客户所描述得很宽泛不具像的需求做出来,并且能够达到要求。在这个过程中我们要经过不断的沟通交流。
最好还要把这些文档写出来,否则的话在这个过程中间每个人的理解能力都是不一样的,有时候沟通你理解的是这个样子,我理解的可能就是另外一个样子,做出来肯定就不是客户想要的产品需求。
包括还有现在用户的需求是容易变更的(1.需求不断变化2.文档不完善3.沟通交流不够)这三个点是我们在工作中间最为常见的。尤其是一些创业型公司,流程不规范。
这三个点是会产生很多本来可以避免但却发生的一些比较严重的缺陷Bug
除了前面提到的三个点,还有现在的软件越来越复杂,还有本身软件或者硬件环境或者程序所导致的一些缺陷Bug
正是有这么多的原因会产生缺陷Bug,因此我们软件测试工程师的价值马上就体现出来了。
文章首发于公众号:程序员一凡,免费领取软件测试学习资料