小白转行软件测试入门第一课之什么是软件测试?

       今天,有笔者私信问我,老师请问一下什么是软件测试,我给他的回复是,你这个问题着实把我问住了,听到这样的答复,隔着屏幕似乎也感受到他愣了一下,随即问到:老师你不是做测试工作的吗?这个问题很难吗?的确,作为概念来说真的不难,但现在随便找一个工作5年+的人,他也不能很清晰的描述清楚什么是软件测试。本着承担起老师这个称呼的想法,也为了满足本骚年心中的些许虚荣感,经过了一个通宵各种资料的查找和对比之后,结合工作中的理解和经验,总结出了以下的定义,时间仓促,其中不足,希望大家帮忙指正。

       想理解清楚软件测试,那么作为小白同学来说,要先搞清楚什么是软件?提到这个,所有的人都说,老师这个不用说,我们都清楚什么是软件。此情此景我只问一句,你确定吗?

                                            小白转行软件测试入门第一课之什么是软件测试?

       百度定义:软件是计算机程序、程序所用的数据以及有关文档资料的集合。软件又可以分为两大类:系统软件和应用软件。这样讲解太官方了,太书面了,我们找一些具体的例子来理解。

       系统软件:比如说我们用的Windows、Linux、Dos系统等等,以目前国内的情况来说,我们所接触能够做系统软件的测试工作的情况基本为0。

       应用软件:计算机用户为了解决某些具体问题而购买、开发或研制的各种程序或软件包,比如说生活中常见的360、QQ、微信、支付宝、手机淘宝、12306等等各类网站。如果我们转行软件测试,那么我们最长接触的就是应用软件。

       理解清楚了什么是软件,我们再来看一下什么是测试?其实在生活之中,我们每个人都在做测试的工作。嗯?老师你是说真的吗?没错,举个例子,如果你的手机坏了,你要去买一个新的手机,那么你会考虑手机的哪些因素?

                                             小白转行软件测试入门第一课之什么是软件测试?

       通过这张图我们可以分析清楚,男女生买手机的不同关注点,那么我们可以理解为他们每个人对于手机的需求,去购买手机的时候自然会针对我们自己所关注的需求点进行验证,只有符合我们需求的手机,我们才会去购买,这就是一个最基本的测试工作。

       生活中针对手机的挑选如果是一个普通的测试工作的话,针对软件进行测试,就是明确对于软件的需求,然后针对这些已知的需求进行验证的过程。但是对于我们来说,这样的软件测试定义很明显是不够用的,那么总结一下这个定义。

        百度百科和IEEE定义:为了发现程序中的错误而执行程序的过程。

        根据定义和个人工作中的理解,总结了以下几点

               1:为了发现开发人员在开发中存在的代码以及逻辑错误

               2:检验产品完成是否满足需求文档中的要求

               3:提升用户的产品体验我相信,这样的定义不管你是转行之后的面试还是在企业中帮助别人做内训,都是没有问题的。当然,过程之中也需要大家帮助完善补充。