测试人员对数据库的了解

时间:2010-01-05 10:07:09

标签: database testing

作为测试人员,人们期望测试人员了解数据库的数量是多少?

它只是在sql中编写查询还是我们需要了解存储过程,触发器等。

5 个答案:

答案 0 :(得分:2)

可能希望使用测试标记对此进行标记。

根据您的产品,测试人员可能需要或可能不需要了解具体的事情。从我的角度来看,专业测试人员是产品进入野外之前的最后一道防线。因此,测试人员应该根据用户使用产品(疯狂,躁狂的用户,当然只对痛苦和痛苦感兴趣)。

这种思维方式,你可以使用黑盒测试(测试人员不使用比用户更多的信息),白盒测试(测试人员使用所有信息,源代码等),或介于两者之间。(1)在我的公司,我们更黑盒子,但即使对于产品,有必要详细了解实现。这不一定是从发展的角度来看,而是要提出关于复杂性 - 因此通常是错误 - 在哪里的想法。根据开发人员的质量,测试人员需要或多或少能够自行确定,因为它是一个罕见的程序员,可以彻底测试自己的代码。

一旦您确定了您正在测试的内容以及您的客户正在做什么,那么您将知道测试人员是否需要了解SQL,过程,触发器等。例如,如果您要提供托管数据库解决方案,那么您的测试人员必须知道这些事情。如果您在交付的软件包的后端使用传统的非自定义数据库服务器并且您是一个黑盒子商店,那么您的测试人员根本不需要了解任何关于SQL的知识 - 软件应该处理它。 (这并不是说它在调试,测试选择等方面没有帮助,但我总是宁愿拥有一个不了解我的领域的优秀测试人员,而不是具有巧合领域知识的普通测试人员。)

再看一下这个问题,如果你只是从个人技能角度提问 - 那么是的,学习别的东西总是好事,而且最终它无疑会派上用场。 :)

1)我非常偏爱黑盒测试,但白盒也有很多争论,所以如果你能够确定整体测试策略,那么值得回顾这些差异是值得的。在一个项目上。

答案 1 :(得分:1)

不应该知道多少,但如果你知道如何编写查询(你理解语言),你就知道存储过程和触发器:)

你真的不需要了解有关数据库管理的任何信息。

答案 2 :(得分:1)

我从没想过测试人员对sql有任何真正的了解......除非他们正在测试数据库实现;)

我的感觉是测试人员应该与最终用户以及其他一些知识相提并论。根据项目需要,“其他知识”有点含糊不清,但通常是以下一种或多种:

  • 详细了解商业计划以及计划应该做什么。在这种情况下,他们需要与您的商务人士携手合作。
  • 知道如何进行边缘情况检查。例如,在生日字段中输入1/1/1800或12/31/2040。这是允许的吗?其他示例包括在数字输入字段中输入负数甚至字母字符。
  • 有经验做用户通常做的事情。这可能只是在工作培训上,例如经常坐在用户旁边一两周。
  • 拥有该行业工具的经验或知识。有大量的测试工具可以记录和回放测试场景。我希望测试人员能够熟练掌握这些工具。

现在,有时运行简单的SQL查询是工作的一部分。例如,您可能必须验证启动自动化系统的工作流程过程。在这种情况下,能够执行sql并读取结果非常重要。

但是,这些查询通常是通过开发或dba提供给测试人员的。同样,大多数人都可以接受如何复制/粘贴,可能更改参数以及在不到一小时内解释结果时执行查询的培训。

答案 3 :(得分:1)

显然,这取决于您的独特情况,因为任何软件商店的业务都会与其他地方不同。

我和那些对SQL一无所知的测试人员合作过。我们训练他们简单地执行我们编写的sproc测试并注意他们是否改变了。他们会为测试用例编写逻辑,我们会进行代码实现。

所以我说如果你的情况允许他们仅仅接受过训练来完成他们真正需要的任何任务,测试人员就不会对SQL一无所知。

然而,在一个理想的世界中,我会投票说测试人员应该对代码或SQL有足够的知识来自己编写自己的测试,尽管这可能会在你进行2次测试时在接口中引入多层参数团队(1严格开发,1严格测试)。

答案 4 :(得分:1)

如果您了解SQL,您将成为更好的测试人员。您不需要深入了解它,但出于多种原因知道它很有用:

  1. 您将能够进行简单的查询 检查显示的数据 在屏幕上是正确的 尊重数据库,无需去开发人员检查。这样可以节省时间。
  2. 您可以开始分析错误 无需去开发人员, 例如,如果数据在 数据库不正确,如果是的话 显示不正确。这将 节省时间,并帮助您定位 你的测试更有效。这将帮助您找到错误。
  3. 你会理解(一点点) 开发人员的工作,你可以 开始明白什么是可能的 什么不是。这将有助于您与开发人员的关系。
  4. 您可以提高您的质量 测试:在过去,我写过 简单的Excel电子表格 计算值基于 数据库查询(你是 独立检查 开发人员工作)。这有助于提高产品的整体质量。
  5. 原则是您的核心竞争力是测试,但了解一下所有周围的能力总是一个好主意:测试人员应该知道一点开发,分析,项目管理,但不是相同的深度。同样,开发人员应该了解测试人员的工作方式(AND分析和项目管理)。

    您不需要了解SQL,但这是一个好主意。这同样适用于触发器和存储过程。