软件开发中的测试人员

时间:2009-02-08 10:36:32

标签: testing project product

在我的公司,我们开发了一个软件产品。到目前为止,我们还没有任何测试人员,所以基本上开发人员都是测试人员,当然还有客户和用户(不好)。

我们的团队现在由4名开发人员组成,我们主要使用Cruisecontrol,Flex,ASP.NET,IIS,MSSQLServer和WebORB。我敦促管理人员聘请测试人员,但我想知道测试人员在软件开发方面是否正常。所以:

  1. 产品(或大型项目)开发中是否需要测试人员?
  2. 测试人员是否只进行测试工作?或者你可以期望开发人员或图形设计师测试一周的一半时间吗?
  3. 哪里可以找到优秀的测试人员(我认为没有软件开发测试的学位)?
  4. 技术团队的项目经理是否负责测试所有内容?
  5. thx,Lieven Cardoen

    ps:Thx,Vinay,我们确实有单元测试,但实际上,单元测试无法涵盖测试人员可以使用的内容。

10 个答案:

答案 0 :(得分:7)

1)产品(或大型项目)开发中是否需要测试人员?

是。有人需要负责评估何时进行了足够的测试,并确定哪些错误需要修复或可以发货,因为有解决方法。

2)测试人员是否只进行测试工作?您是否期望开发人员或图形设计师能够测试一周中的一半?

测试人员经常进行客户支持工作或与客户合作开发需求。测试人员可以充当客户的内部声音......如果他们与客户进行足够的互动,就应该感受到对于从开发中获得合适的优质产品的责任感,他们知道客户会想要。

3)在哪里可以找到好的测试人员(我认为没有软件开发测试的学位)?

我打赌某处有学位。我们拥有的很多测试人员都是计算机科学大学的学生,他们在大学的最后一年回国之前已经在工业界做了一年。

4)技术团队项目经理的任务是测试一切吗?

不一定。这取决于团队有多大,如果它很小,那么是的,有人可以加倍并做两个角色。对于更大的项目,这些人是不同的人。


请记住。拥有测试人员并不是开发人员/程序员在编写代码或创建单元测试时不测试代码的借口。开发人员仍然有责任开发优质产品。他们不应该试图通过指责测试人员找不到它来为他们创造的错误找借口。

答案 1 :(得分:3)

关于乔尔测试的第10个问题:

http://www.joelonsoftware.com/articles/fog0000000043.html

应该告诉你需要知道的一切。 :)

答案 2 :(得分:2)

最好让团队中有测试人员。我们开发人员在测试时无法获得如此多的缺陷,但如果测试人员对其进行了测试,那么在发布缺陷之前他就会发现很多缺陷。

最好还有单元测试用例。当我们开发一个新功能时,我们只需要更新测试用例并运行它。

答案 3 :(得分:2)

两种情况都需要测试人员。即使您的开发是测试驱动的,我认为测试人员的角色通常关注项目的外部需求 - 项目是否提供了满足要求的预期产品?

我发现在大型企业环境中,您通常会在呼叫中心或那些提供客户服务的人身上找到好的测试人员。他们通常对业务流程,问题和要求有非常深刻的理解。

在这样的环境中,我们经常让测试人员在后端系统中构建真实的测试用例,有时甚至是开发人员编写的集成测试。我们已经取得了巨大的成功,让开发人员询问测试人员的数据/方案,以测试基于CI的自动化测试。

可以期望其他角色参与测试。我真的认为每个人都应该专注于质量和测试,但不幸的是每个人都不能负责。

答案 4 :(得分:2)

  1. 从某种程度上来说,绝对(我说约10名开发人员)。

  2. 测试人员也可以进行构建和集成工作。在较小的小组中,开发人员必须进行测试,因为没有其他人可以进行测试。

  3. 好问题。也许你的一些开发人员喜欢测试。

  4. 不,特别是当项目变大时。

  5. 我参与了一个大型项目(数百名开发人员),在我们的团队中大约有50名。我们的团队有一个集成和测试两三个全职人员和一群学生。

答案 5 :(得分:2)

  1. 大规模,是的。但是,有许多不同的测试方法和类型。这些包括用户,回归,单元和集成测试。尽可能多地尝试和自动化。查看Selenium(IDE),Molydbenum,使用场景和敏捷开发。

  2. 开发人员或设计师应该决定他们是否符合验收标准,但如果他们测试自己的工作,那就像在你坐下来之前编写自己的考试一样。在我看来,测试其他开发人员工作的开发人员并没有好多少。

  3. 说不上

  4. 我认为项目经理没有时间进行严格的测试。这真的是一个专业测试人员的工作,他们知道勤奋并且可以与项目经理互动。

答案 6 :(得分:2)

  
      
  1. 产品(或大型项目)开发中是否需要测试人员?
  2.   
  3. 测试人员是否只进行测试工作?你能期待的吗?   开发人员或图形设计师   测试一周的一半?
  4.   
  5. 你在哪里可以找到好的测试人员(我想没有学位   软件开发测试)?
  6.   
  7. 是否需要对技术团队负责人进行测试   一切?
  8.   

1 - 当你有>产品开发时10位客户:地狱是的。必要。在大型项目中也是如此。你小的时候可以吝啬,但是一旦超过一定的规模,更新(例如)全世界100个顾客的痛苦就会超过一个测试人员的工资。

2 - 是的,支持工作也有一些重叠。开发人员应该进行基本测试 - 它有效吗? - 但是由测试人员来完成详尽的,端到端的,奇怪的用例类型测试。我认为这样做浪费了开发人员的时间。平面设计师不应该测试 - 好吧,他们用户测试,我希望,但这甚至在它到达开发人员之前。

3 - 一些开发人员成为优秀的测试人员。一些支持人员成为优秀的测试人员。除此之外 - 只需随意找到它们。广告。没有学位,但有些迂腐的人,可以为自己坚持下去,并且更多地了解最终环境如何结合在一起,而不是每行代码如何运作。

4 - 没有。 PM将项目结合在一起,并协调测试人员,开发人员等,技术负责人应该知道,领导技术团队。不测试。

显然,角色之间存在泄漏。有时,每个人都应该进行一些测试,但这更多是为了在RTM之前获得最大覆盖率,而不是每天或每周。

单元测试是一个很好的开始,因为它们可以捕获逻辑错误,但不能指望它们能够捕获疯狂的用户交互,或者仅在您的应用运行72小时后才出现的问题+ - 单元测试永远不会永远抓住这些。您的客户会,但是您不会长期拥有客户:)

顺便说一句,我“去过那儿,做过那件事”。我已经对客户进行了测试,并在同一产品的不同阶段(由一家大公司购买的初创公司)拥有适当的测试人员。一旦我们有测试人员,产品就会变得更加稳固,而且客户也更加满意(此外,很难在世界各地的400个网站上推出一个小的关键补丁 - 在发货之前抓住它!)

答案 7 :(得分:2)

永远不要低估专家的价值。

大多数不是测试人员的人,特别是开发人员,不喜欢测试,也不会做得好。如果你要求平面设计师或开发人员花一半的时间进行测试,那么你最多会失去50%的优秀设计师/开发人员的输出,并获得50%的差,昂贵的测试人员。在最坏的情况下,你会完全失去它们,因为它们会找到更适合工作的地方。

对于开发人员来说,他们通常太靠近代码而无法客观地测试它。他们将根据他们对内部的了解做出假设。开发人员测试他们自己的代码特别糟糕。

项目经理应负责确保所有内容都经过测试,但他们不应自行完成。他们没有足够的时间或必要的专业知识。

我之前曾在一家咨询公司工作过。我们没有专业测试人员,而是使用目前没有项目的顾问。他们都没有任何测试专业知识,因此他们中的大多数都不是很好的测试人员。我们会收到诸如“系统不再工作”或我个人最喜欢的错误报告:应用程序的屏幕截图显示它有多慢(快速运行的应用程序的屏幕截图看起来没有任何不同)。他们也会滥用错误跟踪系统(或完全绕过它以支持他们自己的家庭酿造Excel传播)。这是一场噩梦。

答案 8 :(得分:1)

我认为测试者(可以)带来的是对产品的全新眼光。我发现在运行软件时我很可能会遵循快乐的道路,无论是通过UI交互还是利用我编写的类。当你知道某些事情应该如何运作时,以错误的方式做事,以一种无意的方式来运用产品或者按顺序尝试事情,以至于没有人知道它是如何工作的,这有点不自然。做。

我对你的问题的回答如下:

  1. 是。测试是必要的,因此需要某种测试人员。通常情况下,单元测试会遇到很多低级问题,但可用性测试和“需求”测试确定它是否符合光面小册子中的声明。如果你声称你的软件是'X',那么测试人员的部分工作就是确保它确实是'X'。我们让测试人员在我通常不使用的平台上发现了一些问题。很早就能找到这些问题。

  2. 也许。我们在内部交叉测试我们的产品,但也有一个单独的测试组。我们倾向于(内部)找到问题的大部分,但全职测试人员有时会发现我们可能从未发现的事情。如果您在开发和测试之间分配时间,则需要明确的是测试不是事后的想法。如果我在开发过程中负担过重,并且很难花费必要的时间来测试您的产品,那么作为测试人员,我不会那么有效。如果您希望开发人员成为测试人员,那么时间管理是必不可少的。

  3. 不确定。组织中的某些组(例如,IV和V组)仅进行测试。我怀疑有很多人没有业务或渴望编写软件,但可以测试产品。我上一份工作中的一些最好的测试人员根本没有编写任何代码。

  4. 取决于你的项目,但一般来说我会说不。责任是在我的商店散布的东西。领导不负责所有测试。我们都有责任。

  5. 无论如何,这是我的两分钱。

答案 9 :(得分:1)

每个人都会说测试人员是必需的,这是政治上正确的答案。但测试人员只是质量保证工具箱中的众多工具之一。您可以在没有测试人员的情例如,我想知道Stackoverflow是否有测试部门?

测试人员将衡量开发人员生成的代码的质量。但质量测量的可用性无助于提高质量。

测试人员不是免费的。您必须更改开发以交付给测试团队而不是客户。这可能导致客户和开发人员之间的脱节:测试人员可能会发现客户无关心的错误,并忽略对客户非常重要的错误。此外,您还必须创建和维护一个单独的测试环境。

优秀的测试人员将帮助您更好地发展,尤其是更顺畅地发布。但你的里程会有所不同。

P.S。在一家大公司,测试人员必不可少:他们可以实现责任转移。说一个错误导致客户伤害 - >执行官很不高兴。在这一点上,执行官已准备好为你的团队做些讨厌的事情。通过测试团队,您可以将责任推卸给测试团队,测试团队将责任推卸给您。妥协推出:您引入新流程,测试团队雇用更多测试人员,而高管表示他亲自改进了东西。