# 微软内部资料告诉你:如何成为优秀的软件测试工程师(1)




坐我隔壁的同事之前在美国微软工作多年，这天他递给我一本打印的册子，应该是微软的内部资料，封面上写着：What makes a great software engineer? 如何成为优秀的软件工程师。想到测试工程师也是软件开发的一部分，这些经验应该是相通的，于是就翻了翻，看看有什么是值得借鉴的地方。


### 持续提升

持续提升是增加自我竞争力的最有效的方式。随着年龄的增长，我们的知识和技能应该也是逐渐增长的。

之前前端技术发展很快，新技术和概念层出不穷，当时就有人感叹，技术太多，学不动了。后面学不动了成了一个梗，大体是用来指代不愿意持续提升的技术人员。

如果持续想在技术路线上精进，那么学不动了这种心态是很危险的；其实就算以后你走的管理路线，持续学习也是必要的，新的思路技术以及理念层出不穷，哪怕细节没时间了解，那么大体的概念也是需要了解的。

自我提升应该是一种习惯，每天花一点时间，日积月累进步就会非常可观了。

那么什么会阻碍你自我提升呢？

* 心理上的拒绝。希望待在舒适区，不愿意主动改变；
* 实在是太忙了。曾经看过一个纪录片，说的是香港的富豪体验3天左右的最底层清洁工的生活。富豪在开始体验之前还很乐观，觉得凭借自己的商业头脑，应该可以想出办法改变命运，但最终富豪一天就放弃了，因为清早就起床，然后不停不息的忙着生存糊口，根本没有多余的精力去考虑其他的事情了。对于很多人来说，活着就已经让大家竭尽全力了。

老外特别喜欢谈论工作与家庭的平衡，在中国情况可能不太一样，我们可能需要平衡：工作，学习，以及家庭。

### open-minded

开放的心态。

对于新鲜的信息不排斥，不拘泥于陈见，拥抱变化。

### 执行力，不纸上谈兵

有一些同学说的多做的少，比如专门喜欢讨论技术方案，但缺不真正动手去做。

对于测试同学来说，这种情况相对比较少，做业务测试的时候往往开发都差不多完成了，对着现有的功能去测基本不会出现纸上谈兵的情况。不过也许有些情况下在做自动化测试和性能测试的时候我们会把大部分时间花费在调研和预研阶段，从而出现执行力不足的情况，这是需要去避免的。

### self-reliant

独立自主的完成任务，必要的沟通其实没有问题，但可以独立解决的问题和克服的困难还是要多靠自己。

### Self-reflecting

自省。

多反思才会多进步。

### 坚持

我们经常会遇到难题，这些难题只有坚持不懈才能去解决，而解决这些难题的过程其实就是提升，这也是在工作中提升的关键。

### 好奇心

好奇心会让你尽可能多的了解信息，从而为你以后的判断和工作积累足够的数据量。

### 匠人精神

对自己的产品感到骄傲，并且乐于磨练自己的心境和技能。

### Desires to turn ideas in to reality

渴望将想法变成现实，并在这一过程中感到享受。

### Willing to go into unknown

愿意步入未知，敢于冒风险去全新的领域接受挑战。

### 热情

对工作有热情才会带来高效和生产力。

### 专注

专注会带来意想不到的收获。

测试同学应该不需要专注在点来点去上，我们应该专注于质量管理，盲点识别和精通业务。

### 高效

效率越高，你就越有额外的时间来提升自己。

### 与组织目标对齐

这个很好理解，比如我个人兴趣是做自动化，但是团队的目标是先把产品上线再说，那么开始还是以功能测试为主，等以后条件成熟了，团队的目标变成了维护稳定的产品时再做自动化也不迟。

### 数据驱动

数据驱动包含两点，首先是定指标，然后是看懂这些指标。

对于测试同学来说一些质量数据的量化和解读都是非常有意义的，甚至可能直接影响到晋升等活动。

如果你在工作中完全没有用到数据，那么是时候开始接触这个概念了。


今天就暂时分享到这里，后面还有很多点，来日方长，以后娓娓道来。




原始封面

![课程图片](https://images.unsplash.com/photo-1470071459604-3b5ec3a7fe05?w=300)


