我怎么知道我是否可以成为一名优秀的软件测试人员?

时间:2009-06-10 11:52:39

标签: testing qa

我是一名寻找QA角色的开发人员。我知道开发人员和测试人员的心态根本不同。除了QA环境中的实践经验之外,还有其他方法可以确定我是否具备成为熟练测试人员的能力吗?

10 个答案:

答案 0 :(得分:12)

确定您是否是一名优秀测试人员的最佳方式:

1)你是有条不紊的吗?你可以每次重复相同的步骤,略有不同,以便运用不同的逻辑路径。

2)你是非常肛门保持。

其中任何一个都很好,两者都很棒。

答案 1 :(得分:9)

扩展GWLlosa的出色响应。

1 耐心

你必须拥有几乎无限的耐心,因为你将要做的很多事情都令人难以置信地令人沮丧(因为它被打破了)而且非常无聊。假设应用程序具有选项和状态,您将一遍又一遍地执行相同的事件序列。

2 彻底

关于开发人员的一个问题是,他们通常(希望)在检查之前测试他们自己的东西。在大多数情况下,这意味着应用程序可能在(或)正常情况下工作。但是,这通常是在开发人员机器上,并且他们通常一遍又一遍地使用相同的测试用例。您的工作是测试各种完全正常的看似测试用例,然后测试所有边缘情况,然后测试所有不可接受的情况。然后,如果应用程序具有不同的状态,您可能需要使用看似无关的差异再次检查所有这些内容(I.E.更改了计算器上的颜色方案,现在“+”按钮不起作用)。

3 有组织

你必须能够记录你的每一个动作。没有什么比让某人报告错误并且不知道它是如何发生或如何重现它更令人沮丧的了。可重现的问题容易解决1000倍,因为它们可以追溯到。复杂的应用程序,具有许多交织状态和屏幕,使得修复模糊错误变得非常困难,除非程序员首先知道如何生成错误。

4 创造力/移情

程序员通常是高级用户。一般来说两台计算机,特别是它们的程序。他们知道文件功能通常在文件菜单下,并且只需要按一次按钮,然后等待。 用户不了解这些内容。假设用户是愚蠢的,这不是你的工作,因为他们不是,但他们没有你的培训。因此,您需要能够理解他们的想法,然后尽快单击按钮100次。在很多应用程序中,这将生成100个结果,通常是BAD。

我知道一个应用程序,其中的指令是按“Shift-Enter”并按下L-Shift而不是R-Shift。它爆炸了。普通用户将单手输入,因此他们将99.9%使用L-Shift,任何人都不会绑定另一个移位。这就是为什么你也需要创造力。您需要能够适应几个不同的角色,并问自己如何使用该软件。然后过度使用该用例的每个部分。


最终,这些只是所需的一些技能。但正如你已经注意到的那样,这些都是很好的技能,所以培养它们从来都不是坏事。

干杯。

答案 2 :(得分:3)

您可以尝试测试一个开源项目:它们处于开发的所有阶段(成熟与否),并且还应该有规范。这样你就有机会与真正的开发人员,测试人员,错误跟踪系统等合作开展真正的项目。

答案 3 :(得分:3)

我赞同其他人说“喜欢破坏事物。”

在测试团队中,背景的多样性也很好。前开发人员经常帮助团队实现自动化,以前的客户支持人员可以成为用户对可用UI的权利的激烈捍卫者,等等。

Bret Pettichord撰写的文章Testers and Developers Think Differently对比了每个角色都有帮助的心态和特征。例如,它详细阐述了这些主题:

  • 好测试者
    • 实证
    • 观察到什么
    • 持怀疑态度的
  • 优秀的开发者
    • 理论
    • 如何设计
    • 信徒

以下是来自Cem KanerTesting Computer Software的注释,其中包含对测试人员有用的一些属性和技能:

  • 诚信,对质量的承诺
  • 经验参考框架与理论框架。测试作为微型实验。
  • 教育
  • 一些编程背景。有用,不是必需的。
  • 使用许多计算机和许多软件包的经验
  • 组合学知识。完全评估程序某些方面需要多少个测试用例?
  • 优秀的口头和书面沟通。
  • 善于猜错。
  • 快速抽象技巧。
  • 谜题很好。
  • 非常注重效率。
  • 能够兼顾许多任务。
  • 擅长安排
  • 细心的观察者,患者,注重细节。
  • 角色扮演的想象力。
  • 能够读写规范。

答案 4 :(得分:3)

我认为devinb给出了一些关于一些技能/品质的优秀答案,这些技能/品质往往会成为优秀的测试者。我要补充的另一个是:

强有力的沟通

测试人员经常在利益相关者的非技术愿望和编码员的技术实施细节之间进行翻译。能够双向翻译非常方便。同样,测试人员生成的主要产品是测试报告(包括错误和更广泛的,通常是书面和口头的)。能够有效地传达我们报告的(多个)消费者需要听到的内容是有效的关键。这包括清晰度和有用/非判断性语气,以促进合作关系。

确定方法

看看你的问题“还有其他方法可以确定我是否具备成为熟练测试人员的能力?”有了测试思维,我注意到我们的大多数答案都解决了“成为熟练的测试人员需要什么”的问题部分。我还想花一点时间来“确定方法”。

  1. 信息访谈与您尊重的测试人员(或您尊重的公司)。这可以让您提出更具体的问题 - 通过跟进 - 并针对您感兴趣的特定情境给出答案。 (以上所述的大部分内容通常都适用,但测试商业网络应用程序与嵌入式,生命关键型软件对视频游戏 - 都会给你不同的答案。
  2. 测试开源软件。我总是惊讶于很少有人试图闯入测试这样做。它将帮助您更多地了解测试内容,并构建可链接到的公共错误报告组合。选择您喜欢的活跃开发中的任何OS项目,并深入了解!
  3. 学习测试那里有很棒的书籍,博客和课程。不同的测试人员将指向不同的人,但在我看来,Cem Kaner&詹姆斯巴赫(书籍或博客)是一个很好的开始。在课程方面,软件测试协会的年度会员资格允许免费访问Black Box Software Testing series,这是一套由Kaner& amp; amp; amp; amp; Co.同事。
  4. 祝你好运!

答案 5 :(得分:2)

你真的不知道你是不是一个好的软件测试者,直到你成为一个。没有一种态度,一种背景,一种定义QAer的技能。

与成为优秀的开发者没有什么不同。你可以想象你会成为一个好人,因为你已经尝试了许多开发人员的事情。但是在你做完之前,你永远不会知道。

问问自己为什么要切换角色?什么吸引你参加QA角色?

如果您认为这样会更容易,或者您认为您的工作时间会更短,或者您认为自己会得到更多报酬,或者您认为每个人都会爱你 - 那么质量保证角色可能不适合您。

如果您因为作为开发人员而不太成功而考虑转向质量保证 - 那么质量保证角色可能不适合您。

或者,它可能都会成功,你永远不会知道!我认识QA中来自各种不同背景的人。

正如已经建议的那样,让自己进入一个可以执行该角色的项目(无偿或付费)。然后,只有这样,你才会知道你是否喜欢它,并且对它有任何好处。

祝你好运!

答案 6 :(得分:1)

除了通常的细节导向,拥有脚本知识和对业务领域有深刻理解之外,我认为可以使您成为优秀的软件测试人员,特别是如果该软件针对的是狭隘领域中训练有素的专业人员。一些示例可以是监视患者心率的程序或者与战区中的自主移动机器人通信的程序等。受过训练的医疗专业人员的使用情况可能与不存在的情况相比有所不同。

答案 7 :(得分:1)

沟通是关键。 知道如何撰写有效的错误报告至关重要。

清除标题

重现问题的最小,可量化步骤

图片

预期和观察到的结果(我喜欢当我没有得到预期的结果!!!!)

这是一篇很棒的文章:

http://itscommonsensestupid.blogspot.com/2008/07/tips-to-write-good-bug-report.html

答案 8 :(得分:0)

您觉得测试是关键还是必须要做的事情?您目前是否为自己的代码编写测试?在编写测试时,您是否在考虑新测试时遇到困难?当你看别人的代码时,你能看到那里的错误吗?您是否能够确定一组测试(无论是否具有完全覆盖范围)是否实际测试了所有可能的路径和行为?您是否愿意比您已经知道的更多地了解测试?您是否愿意被那些仅仅容忍测试并且不接受测试的人暗中鄙视,也许是害怕?你最喜欢的颜色是什么:绿色还是红色? (提示:正确答案是绿色!)

答案 9 :(得分:0)

简单的事是“思考否定”

永远打破任何好事