浅谈软件测试

这个博客启用了5年3个月,第一次才正式写博客,一来是之前一直没什么经验,一直停留在看的阶段,不知道写什么;二来是,懒。。。 从事软件测试工作快四年,只能说还算

这个博客启用了5年3个月,第一次才正式写博客,一来是之前一直没什么经验,一直停留在看的阶段,不知道写什么;二来是,懒。。。

从事软件测试工作快四年,只能说还算是个新人,但是对测试也有一些自己的看法,软件测试,感觉上并没有开发那么高端大气,人们总觉得写代码才牛X,测试工作谁都能干,我也是这么认为的,测试工作确实谁都能干,开发能干,而且针对自己开发的功能,测试起来要比测试测得更全面,所以测试工程师这个职位的意义何在呢,怎样才能体现作为测试工程师的价值呢?这个问题我一直都在思考。

1、业务:

开发不会去从整个产品出发,去了解产品的业务流程。开发只关注自己开发的功能模块,最多再多了解一些需要他们对接的模块,整体业务层面他们不会去做了解,所以测试应该更重点的去了解业务,并且要对业务了如指掌,这样,可以从业务上分析哪个环节容易出现错误,从而更有力度的去测试容易出问题的点,并且出现问题之后可以快速的定位到出问题的相关业务功能,协助开发快速解决问题,毕竟测试的时间也是有限的,要在有限的时间内测试出更多的bug,保证产品的质量才是测试的价值所在。

2、技术:

第一点中也有提到,测试的时间是有限的,如何提高测试效率也是测试的价值所在,现在纯手工黑盒测试已经渐渐少了,随着各种自动化测试工具、框架的出现,自动化测试已经是未来的主流方向,虽然自动化测试不能完全取代手工测试,但是手工测试的所占比重一定会越来越少,所以如果一个测试不会写代码,那么他也注定要被时代所淘汰,这里的代码并不是开发功能所需要的代码(像c、java,当然会更牛X),这里的代码更倾向于python、shell等脚本语言,脚本语言可以帮助测试,提高测试效率,比如linux下产品的一个进程,是否有内存泄漏,难道测试的时候要一直top看着?再比如某个bug,复现时间很长,想要抓住问题出现时的时间点、及时抓取该时间点时的相关日志进行分析,防止日志被循环覆盖,也要一直看着?NONONO,你可以用shell,一个命令或者是一个简单的循环,就可以协助测试。说到协助测试,就不得不说说python了,python跨平台,无论是windows、linux、mac都可以用,而且功能强大,语法简单,开发效率快,python有很多协助测试的功能库,比如操作excel的csv、xlrd、xlwt,linux的paramiko,自动化的pywinauto、selenium等等,特别适合测试使用。

3、多面手:

测试不仅仅包含功能测试,还有许多种测试类型,比如性能测试、安全性测试、可行性测试等等,作为一个测试人员,你可以精通一方面,但是其他方面也需要了解。

这里没有提到作为一个软件测试工程师所必备的一些技能,比如设计测试用例方法,等价类啊边界值啊因果图啊这些,毕竟这些太基础了,如果一个测试不会这些东西,那估计也接触不到性能测试啊自动化测试啊这些更高端的东西了。

其实,周围有很多同事、朋友会看不起测试,觉得测试没什么技术含量,没有什么钱途,甚至很多测试自己都觉得测试没什么钱途,我刚刚工作的时候也有过这种困惑,但是经过这些年的工作和思考,我觉得并不是,存在即是合理,存在即有价值,只要你有价值,你有拿得出手的东西,你有很快就能做好的事情但是别人却做不来的,就不会有人看不起你,当然看不起测试的开发都不是好开发,看不起测试的测试我就不说什么了。。。

要时刻保持一颗上进心。

当然,做人何必太认真。。。

标签: 软件测试 博客