软件测试人员的职责:

  测试的目的是保证软件能够正确的完成用户期望的功能,并且不会给用户造成不必要的损失,保证软件达到需要的质量要求。所以,测试人员的责任并不仅仅是“找Bug”而已。
  1、确定什么才是正确的行为,特别是定义边界行为的正确性

  要确定软件运行是正确的首先要知道什么是“正确的”,这本身是测试人员的重要职责之一。需求工程师和项目经理不可能一次将产品在所有情况下的行为都定义出来,甚至不能想到所有的情况。这种时候测试人员的职责是尽量想到所有可能出现的情况,并且和需求工程师、项目经理和开发人员一起确定所有条件下的行为。这是测试人员的职责,也是权利,不要说测试只是在项目中后期才参与产品的“跟班”。

  重要的是尽量保证软件是“指哪打哪”而不是“打哪指哪”(跑到了一种行为发现没定义过,然后根据程序的反应来定义)

  2、了解“用户”如何使用软件,并且确定“用户”使用的时候不会遇到重要的Bug

  很多项目都会遇到这样的抱怨“为什么产品测试的时候没有问题,拿到客户那里一用出问题”。原 因其实在于测试人员没有按照用户的方式来测试软件。测试人员需要了解究竟用户是怎样使用软件的,用户使用软件是的环境是什么样的(什么操作系统,多少内存,服务器负载多大,等等等)。测试人员必须要了解需求,了解行业,了解用户,然后把测试用例定义成用户真正使用软件的时候会出现的情况。只有这样才能 有效的找到用户在意的 Bug,而不是大量无关紧要的问题。

  3、定义产品的质量要求

  很多企业里面,测试又被称为QA(Quality Assurance)??质量保证。所以测试人员大的权利和义务是制定产品要达到的质量标准。P1的Bug少于多少,P2的Bug少于多少,无故障运 行时间多少,需要服务承受的压力不低于多少,测试的代码覆盖率有多少……而这些标准需要制定的既满足客户对质量的要求,又不会过于严格而导致开发时间过 长,这里面的学问可大着呢。

  更重要的是,测试人员要能够在项目过程中负责的坚持这些标准,并且获得开发人员和管理层的支持。不能够因为进度等原因随意让步,因为产品质量烂,负责的是你,到时候什么借口都没有用。

  4、保证测试的质量,给大家安全感

  可以这么说,软件开发过程中大的焦虑来自对产品现实情况的无知,不论是开发团队,管理团队还是销售团队。而测试的重要职责是随时让所有人了解现在情况时好时坏,有多好(多糟)。所以测试人员要保证随时掌握产品的质量。因此测试要频繁的进行,持续的进行,尽快的反馈。

  5、保证测试的效率,不要影响产品的开发进度

  除了质量,效率在测试中也很重要。如果开发者3天做出来的修改需要1个月才能测试完,肯定没法满足大家的需要。所以要想尽办法,在短的时间内跑多的测试(至少也是能够保证产品质量的测试)。你出一个build,我出一个测试报告!

  可以说4、5条是发挥测试人员聪明才智的领地。自动化测试,自动化结果分析,测试平台,一切测试有关的基础发明都是为了这个目的。

  简单的说

  软件测试工程师:

  1、根据软件设计需求制定测试计划,设计测试数据和测试用例;

  2、有效地执行测试用例,提交测试报告;

  3、准确地定位并跟踪问题,推动问题及时合理地解决;

  4、完成对产品的集成测试与系统测试,对产品的软件功能、性能及其它方面的测试。