原标题:软件测试到底在测啥?看完这篇,你就懂!
软件测试到底在测啥?看完这篇,你就懂!
如今,软件测试工程师的年薪从数万到六、七十万不等,究竟是什么值得软件公司付出这么高的薪资?软件测试工程师都在测试哪些东西?具体要从哪里入手?测试哪些项目?大家一定很好奇。
下面我们就拿测试工作中3种最常见的测试类型来举例,为你进行简单、直白的说明介绍。
功能性测试-Functionality
所谓功能测试就是测试软件的功能,尤其是软件可能出错的功能。要求软件测试工程师对被测试的软件有很好的了解,尤其要能发现软件中各种意想不到的问题,比如:
. ATM机上取过钱,账户上却不扣款
. 输入了不正确的日期格式,也可以成功提交
. 网络银行上转账的超链接打不开
. 手机上正在听音乐时,来电不提示
. 地铁公交卡刷卡后,扣款不成功
. 手机APP无法正常启动
总而言之,我们在使用软件的时候,发现的任何功能性的问题,都属于此类问题。
当然,也有人会产生一种错觉,认为这个工作并不难。要知道,发现一、两个问题的确很简单,但是要把所有问题都找出来,那绝对是天大的难事,更离不开一整套有系统、有逻辑的工程方法。假如有人能真的把京东、淘宝上所有的bug都统统找到,百万年薪简直唾手可得。
安全性测试-Security
近几年,大家可能时常会听到“某某网站的客户数据发生泄露”之类的新闻。远的不说,拼多多被恶意人员利用软件中的漏洞,盗走了以千万计的优惠券,就是典型的安全性测试没有测试充分。
在安全测试过程中,测试人员最关心的是:SQL注入、口令认证、加解密技术、权限管理、安全日志等方面的测试。如果安全测试不过关,就可能导致:某支付宝账户的余额被恶意转走、CSDN网站用户600万数据泄漏、手机上的联系人信息被窃取、某网站首页被恶意篡改等等类似问题。
简单来说,没做好安全性测试,就相当于你离开了家,仅仅把门关上了,虽然上锁了,但是却没有锁好,小偷不用钥匙就能打开你家的门锁,任意使用,甚至带走你家里的物品。所以,为了防止小偷进入,我们测试工程师就要去验证每一把锁是否被锁好了。这显然是个很重要的技术活。
著名的美国公司谷歌,就有悬赏找漏洞的奖励计划,我们在这里摘录一段新闻报道:
“Google是当今网络上最具统治力的互联网公司。它从当初一个简单的搜索引擎进化成为现在的一个各种媒介的综合体,它的触角遍及每个家庭和每台移动设备。这种前所未有的规模也造成了它无所不在的安全风险。
Google最关注的漏洞类型有SQL注入、跨站脚本、跨站请求伪造和远程代码执行。发现这些漏洞的研究人员,将获得Google安全团队的充分认可并进入Google名人堂。”
说到Google悬赏计划,还不得不提,前几个月闹得沸沸扬扬的20万“Android安全悬赏”项目。据外媒Venturebeat报道,自2010年推出所谓的“Android安全悬赏”项目以来,谷歌已经向1000多名安全研究人员支付了共计900多万美元赏金,单单去年就支付了300多万美元。
软件测试工程师到底值不值钱?你心里应该有点数了吧。
性能测试-Performance
如果一个软件,在一个用户使用的时候,软件安然无恙,但是100万人使用的时候,软件就出现了问题,那可能是……性能测试的锅。
以前在双11活动期间,阿里巴巴需要大量的技术人员值夜班,就是为了防止因为全民网购,流量过大,导致淘宝崩溃。如果把性能测试做好了,系统崩溃的可能性就会小很多,而性能测试工程师就是做这个工作的。
在性能测试过程中,测试人员往往最关心:系统资源,cpu、内存、io读写、并发用户数、最大数据量、响应时间、处理成功率。性能测试发现的问题,通常是在大并发量下产生的,比如:网页半天打不开,反应很慢;应用程序运行太久占用内存很大;软件系统崩溃;Android手机运行不流畅,经常卡顿等等。
想通过性能测试,找出软件性能上的问题并不容易,如果能够定位到问题所在,朋友,恭喜你,年薪几十万都是小意思。
当然,除了以上3种测试类型,还有兼容性,易用性,可移植性等等诸多测试特性,不是短短一篇文章就能够完全囊括的。