Sql server 如何帮助QA团队访问正确的数据库?

Sql server 如何帮助QA团队访问正确的数据库?,sql-server,user-interface,Sql Server,User Interface,在我工作的地方,开发人员和QA会议经常是这样的: (这是指SQL Server 2005) QA:我得到无效的对象名称“customers” 戴夫:嗯?您能给我发送您使用的SQL语句吗? QA:从客户中选择* 戴夫:嗯。(想了想)你确定你在用CUSTDB吗? QA:是 DEV:(在了解到QA使用的是CUSTDB_产品后)请添加“使用CUSTDB”,然后告诉我您使用该SQL得到了什么。 哦,对不起,我用错了数据库。 SQL窗口的选项卡文本显示查询在哪个数据库上运行的信息,但是如何确保QA遵循这一点

在我工作的地方,开发人员和QA会议经常是这样的: (这是指SQL Server 2005)

QA:我得到无效的对象名称“customers”
戴夫:嗯?您能给我发送您使用的SQL语句吗?
QA:从客户中选择*
戴夫:嗯。(想了想)你确定你在用CUSTDB吗?
QA:是
DEV:(在了解到QA使用的是CUSTDB_产品后)请添加“使用CUSTDB”,然后告诉我您使用该SQL得到了什么。
哦,对不起,我用错了数据库。

SQL窗口的选项卡文本显示查询在哪个数据库上运行的信息,但是如何确保QA遵循这一点

我承认我犯过多次使用错误DB的错误。我不想看标签上的文字


你对这种情况有什么经验?您是否找到了帮助缓解此类问题的方法?

如果您的QA使用SSMS进行测试,您应该尝试SSMS免费加载项中的窗口着色选项。通过这种方式,您可以立即区分不同的服务器


若这不是一个选项,那个么根本不允许QA访问生产服务器。他们无论如何都不应该这样做。

我认为您需要将QA报告错误的方式正式化

您需要指定他们将随每个错误报告提供的一组信息,包括:

  • 他们(确切地)在做什么
  • 它们的配置(包括数据库!)
  • 时间/日期(以便您可以匹配日志中的内容)
  • 如何重复(如果可重复)
  • 等等。您可以立即对此采取行动,或者将其记录在事件跟踪系统中,稍后再返回(在这种情况下,上述内容非常宝贵,否则将丢失)


    以上内容可以像电子邮件草稿/模板一样简单。但是你需要对此严格要求,否则(正如你所发现的那样)你会绕圈子,可能没有你需要的所有重要信息。

    如果QA可以使用SSM访问live和dev数据库,然后,他们必须承担一定程度的责任和/或你对他们进行一定程度的培训

    他们得到了一个工具,允许他们对数据提出问题,但他们提出了错误的问题,然后向您抱怨——如果我是DBA,我只会删除他们的访问权限,直到他们能够证明他们知道自己在做什么!我很同情这样做可能不会很好,但至少威胁这样做可能会让他们自己想一想

    把这个问题想象成“有人做错了什么”

    有两个简单的答案:

    • 消除他们“做错事”的能力
    • 训练他们做正确的事


    与Mladen Prajdic一样,您也可以在SQL2008 SSMS中对查询窗口进行颜色编码。

    就我个人而言,我在所有查询中都使用完全限定名(server.datatabase.owner.table-我只有在故意使用链接服务器时才使用服务器),因为我经常从一个数据库移动到另一个数据库。如果在要运行的查询中指定了数据库,则如果连接到同一服务器上的不同数据库或有链接的服务器,这些查询仍然有效。如果您的QA正在编写自己的查询,请将此作为他们的标准;如果您正在编写测试查询,那么您应该在查询中指定数据库名称,而不是通过use语句。

    PS。如果这不是一个有效的问题,请将其删除。上周,我和某个人对我的问题(和答案)投了否决票。似乎编程与我有关。我完全同意你的看法,但我公司的“问题”是,事情“超级依赖客户”。我真的希望我能最大限度地遵循您的步骤,但鉴于我们是如此以客户为导向(并非我喜欢),您的方法失败了。这是我非常想推动的事情,但到目前为止运气不好。这听起来很有希望。我会试一试的。QA最好不要在应该是“紫黄色”时对我说“标签是红色的”:D顺便说一句,如果这不起作用,我就来找你。@kev:QA有读取生产数据库的权限,仅用于客户报告问题时。我们也是客户的一线QA。