1)测试分析能力
  测试分析是根据软件需求的设计,结合项目各方面情况,编写软件测试需求和制定测试策略。测试分析能力考验测试人员的能力,是高级测试经理区别于一般测试工程师的地方,也是测试人员能够影响、引导和驱动开发组的地方(否则测试会被开发人员牵着鼻子走)。
  测试分析能力不是一朝一夕得来的,需要长期实践工作中去培养。
  2)测试计划能力
  测试计划能力反应的是项目管理能力,所以一个好的测试经理一定具备较强的项目管理能力。软件测试是软件工程中的重要部分,测试也需要用工程的方法科学地组织和管理,所以制定测试计划需要掌握软件测试过程模型。
  3)测试设计能力
  测试设计是根据测试需求进行测试方案设计和测试用例开发的过程。软件测试主要是根据测试方案和测试用例来执行的,所以一套简洁高效的测试用例是做好测试的关键所在。测试设计人员核心、关键、重要的能力测试工程师必须掌握测试方案设计的过程和方法,精通测试用例的设计方法。
  4)测试执行能力
  测试执行能力是动手能力,是测试人员发现bug的重要环节。动手能力除了包括“技术关”中要求的系统安装、环境配置等技术能力外,还包括直接与测试相关的测试数据准备、具体测试执行、测试结果检查、缺陷发现、判断、记录、分析定位、报告总结编写等能力。这些工作繁琐又繁重,需要测试人员保持精力集中、思维敏捷。如何在测试过程中找到一些高效的办法,对测试人员来说是一个很大的挑战。
  能力强高级别的测试执行能力还包括随机测试的探索测试能力,即在测。测试用例之外进行延伸性的探索测试,从而发现日常测试工作中找不到的bug。这有时需要灵感,但更多是趋于经验直觉去判断。这也是高级测试和普通测试人员的力的区别。
  5)管理关
  我们在这里只谈作为一个测试工程师的管理关。很多测试人员认为自己只是个小小测试员,管理的事跟自己不相关。其实管理不是经理们的专利,测试工程师也需具备某些管理能力。测试工程师的管理能力主要体现在两个方面:团队协作和个人管理。软件测试工作的特点包括受支配的、被动的、涉及面很广,需要和不同部门的其它团队成员打交道。这些特点要求测试工程师应具备较强的团队协作精神,测试工程师要更积极主动地开展工作,做好沟通和协调工作。具体体现在以下方面的沟通能力:
  (a) 与项目成员的沟通协作
  从上面我们看到测试工程师需要学习和了解的知识很多,有些是通过看资料,操作运行软件获得,但更多的信息需要与项目成员交流才能得到。所以测试工程师在与开发人员协作过程中,要有自信,即要坚持原则,又要灵活应变,这些都需要通过工作磨练才能做到。
  (b)与测试经理的沟通
  与直接上级测试经理沟通很重要。仔细领会测试经理交待的测试任务,不理解的要问,进到任务和要求明确,不折不扣地完成任务,并及时向测试经理报告完成情况;遇到问题时要主动汇报,不让问题停滞在自己手中,自己决定不了的事,不要擅自作主,要通过汇报和协商的方式确定。这些都是基本的工作方法和要求。
  (c)个人工作管理
  管理好自己的时间和任务,提高个人生产能力。个人的时间和精力是有限的,而测试任务是并发和繁重的,如何提高个人生产力需要计划好自己的时间,把大计划分成小计划逐步去完成。
  总之测试工程师的管理关是一个长期自我修练的过程。通过自我修炼形成:有责任心、主动积极进取的工作态度、耐心、细致、规范、沟通、计划、总结、改进等。