今天,有笔者私信问我,老师请问一下什么是软件测试,我给他的回复是,你这个问题着实把我问住了,听到这样的答复,隔着屏幕似乎也感受到他愣了一下,随即问到:老师你不是做测试工作的吗?这个问题很难吗?的确,作为概念来说真的不难,但现在随便找一个工作5年+的人,他也不能很清晰的描述清楚什么是软件测试。本着承担起老师这个称呼的想法,也为了满足本骚年心中的些许虚荣感,经过了一个通宵各种资料的查找和对比之后,结合工作中的理解和经验,总结出了以下的定义,时间仓促,其中不足,希望大家帮忙指正。
想理解清楚软件测试,那么作为小白同学来说,要先搞清楚什么是软件?提到这个,所有的人都说,老师这个不用说,我们都清楚什么是软件。此情此景我只问一句,你确定?
我们简单看下度娘对于软件的定义,看看你对于软件的理解是多么的片面!!!
百度定义:软件是计算机程序、程序所用的数据以及有关文档资料的集合。软件又可以分为两大类:系统软件和应用软件。这样讲解太官方了,太书面了,我们找一些具体的生活实例来理解。
系统软件:我们生活中所使用的Windows系统(99.99%的电脑都是这个系统)、Linux、Dos系统等等,皆属于定义中提到的系统软件。
应用软件:应用软件是 计算机用户为了解决某些具体问题而购买、开发或研制的各种程序或软件包。我们经常使用的360浏览器、微信、支付宝、手机淘宝、12306等等各类网站和APP都属于应用软件。作为一些想转行加入软件测试行业的同学们,在这里老师可以提醒你一句,你们如果入行之后,90%都是在做应用软件的测试工作,所以要对应用软件的概念着重掌握。
在理解清楚了什么是软件之后,我们再来看一下什么叫测试?其实在生活之中,我们每个人都在做测试的工作。嗯?老师你是说真的吗?没错,举个例子,如果你的手机坏了,你要去买一个新的手机,那么你会考虑手机的哪些因素?
停,不要捂嘴笑了,来看老师要说的重点。
通过这张图我们可以分析清楚,男女生买手机的不同关注点,那么我们可以理解为他们每个人对于手机的需求,去购买手机的时候自然会针对我们自己所关注的需求点进行验证,只有符合我们需求的手机,我们才会去购买,这就是一个最基本的测试工作。
生活中针对手机的挑选如果是一个普通的测试工作的话,针对软件进行测试,就是明确对于软件的需求,然后针对这些已知的需求进行验证的过程。但是对于我们来说,这样的软件测试定义很明显是不够用的,那么总结一下这个定义。
百度百科和IEEE定义:为了发现程序中的错误而执行程序的过程。
根据定义和个人工作中的理解,总结了以下几点
1:为了发现开发人员在开发中存在的代码以及逻辑错误
2:检验产品完成是否满足需求文档中的要求
3:提升用户的产品体验
相信老师总结的这些,在初期软件测试工作中使用是没有任何问题的,但是学无止境,进入软件这个行业就意味着一直都在学习,希望大家也能在后续的工作和学习中为老师的文章进行不断地完善和修改,自己学习的同时也可以让老师共同进步,合作共赢。