个人兴趣、收入水平、晋升空间、再就业难易度。
首先来看个人兴趣。
兴趣是决定大家在一个行业或职位上能走多远的重要因素。如果你对编程很感兴趣,且对自己的能力有信心。那显然软件开发更适合你。相对来说自动化测试对编程能力的需求小于软件开发,挑战和锻炼空间也不是很大。
但反过来说,你会写程序,但是觉得编程挺烧脑,很复杂的框架或程序也没有信心驾驭。这种情况下,选择自动化测试就比较明智,这样不会有太大压力,或者职业耗竭感。
再看收入
从国内的软件行业来看,大部分企业的薪资水平是这么排序的:开发>自动化测试>手工测试。外企主要是按照职级来定工资,开发的工资略高于测试,但总体来讲没有明显差异。所以如果你是编程小能手,做开发的收入会高些。
其次是晋升空间
无论是开发、自动化测试、还是手工测试,走的都是技术这条线。大家看一般公司对技术线的职级大概会有如下划分:工程师、高级工程师、架构师、首席架构师等等。仔细品一下,这些职级主要是针对开发岗的。即便是号称机会均等、人性化的外企,也是如此,HR或者老板会讲,测试岗也有机会走到架构师这个级别,但是纵观公司,能走到这些级别的基本上都是杰出的开发,几乎很难见到测试人员。
最后说再就业难易度
说白了就是,市场开发了多少这样的岗位?虽然说自动化测试最近几年越来越热,但是相比开发来讲,这个岗位的需求人数明显偏少。这就意味着,如果有一天你要跳槽,做开发的相对更容易找到新工作。
综合上面四个因素,如果你自认编程能力还不错,做开放,未来的收入和发展空间可能更好些。但是,兴趣很重要!这也是为什么把兴趣放到首位的原因,假如你对编程的兴趣不足,逼着自己往开发这条路走,长远看,后期会动力不足,个人的职业体验也差。