由于工作,我接触过上百个软件测试工程师,与他们或多或少共事过一段时间。而我面试过的软件测试工程师已达上千人了。因此,我从中总结出很多经验。

在我面试那些软件工程师的过程中,我曾无数次为看到优秀的软件测试天才而感到欣慰。但是现在,我想与你们分享的不是这些欣慰的事,而是悲哀。

有些演员充满潜力,却被关在无形的笼子里表演;摇滚明星自在飞扬,却被局限于一个小小的舞台。当我看到这些时,我会悲哀。

那么在软件测试中,什么才是最关键的呢?很多人从事了数年测试工作,这些工作遍及各个领域,但他们却进步缓慢。他们的知识储备和个人能力,别说增长了一倍,甚至连一半都没达到。

很抱歉,我有点太严厉了,但这是事实。

谁该为此负责?某种意义上讲,这是整个行业意识的问题。另外,还有公司政策和高管。然而应该负首要责任的,是测试工程师自己。

请再把上一段话读一遍。没错,就是你,也是我们。我们都是借口的受害者。(我并不是针对每一个人,但是我见过的大多数人都是如此)

下面是一些出现频率极高的借口。

  1. 访问的接口非常有限,所以不用控制测试环境。

我经常听到这个陈述借口:我们刚才已经对测试环境进行了只读访问。更有甚者:我们查看了日志,其他都没做。其余的工作都是开发团队或其他团队做的。

这份工作带给我们美妙的成果和收获的喜悦,而其中大部分却不是我们自己完成的。我们或许会为这感到高兴,但是这样对吗?

为什么你不应该控制你的测试环境?告诉我原因,并且你这么做能得到的最大的好处。

那么为什么你应该控制你的测试环境呢?下面是控制测试环境后,你可能得到的好处。

  1. 你可以完全控制测试环境,以确保其与实际生产环境完全相同或十分接近。
  2. 你了解使产品运转的所有相关组件,所有软件及其版本。相信我,随着时间的推移,你还会对它们的工作原理,局限性和潜在故障点有更多见解。
  3. 必要时,你至少可以进行一级访问。
  4. 由于设置是你自己控制的,你可以清楚地知道你正在进行哪些变更,建立哪些部署。因此,当产品即将上线时,你会更加自信。
  5. 你会学到更多知识,掌握你参与的全部过程。

 

现在明白了吗?如果你同意以上我所说,参与控制环境的过程是有利可得的,那么请继续往下看吧。

现在的问题是,你可以在你的团队中做出哪些改变,以达到上述目的呢?你具体需要做什么呢?

额,我不知道。我不了解你的团队,你的领导以及你的公司,所以我没办法帮你。我仅仅可以分享一些经验,也许会对你有帮助。你可以试着与开发人员或开发团队密切合作,观察他们是怎样工作的,都做了什么。

观察他们是怎样登录服务器的,怎样注销的,以及登录后他们做的任何事。一旦你学到一些知识,当小状况再次出现时,你就能说上几句话,给出一些建议了。

毋庸置疑,时间长了,你表现出来的这份自信会被开发人员,你的领导或上司注意到。这时,你就可以要求他们让你来控制环境了。试想,难道他们会不答应你吗?你展示出了出众的能力,他们会很乐意满足你的需求的。

相信我,他们有太多其他事情要去做。我希望如此。