在我工作的地方,经常会发生开发人员和QA会话,如下所示: (这是参考SQL Server 2005)
质量检查:我得到无效的对象名称'客户'
DEV:嗯?你能告诉我你使用的确切SQL语句吗?
质量保证:从客户中选择*
DEV:嗯。 (经过一些人的思考)你确定你使用的是CUSTDB吗?
QA:是的
DEV :(在确定QA使用CUSTDB_PRODUCTION之后)请添加“USE CUSTDB”,然后告诉我你用SQL获得了什么。
QA:哦,对不起,我使用的是错误的DB。
SQL窗口的选项卡文本显示运行查询的数据库的信息,但是如何确保QA遵循此操作?
我承认我多次使用错误的数据库犯了这个错误。我不倾向于阅读标签中的文字。
您对此类情景有何体验?您是否找到了一种方法来帮助缓解此类问题?
答案 0 :(得分:2)
如果您的QA使用SSMS进行测试,您应该在SSMS的SSMS Tools Pack免费加载项中尝试窗口着色选项。通过这种方式,您可以立即区分服务器。
如果这不是一个选项,则根本不允许QA访问生产服务器。他们无论如何都不应该。
答案 1 :(得分:0)
我认为你需要正式确定QA如何报告错误。
您需要指定一组他们将为每个错误报告提供的信息,包括:
等。你可以立即采取行动,或者在事件跟踪系统中记录它并稍后再回来(在这种情况下,上面的非常宝贵,否则它们都会丢失)。
以上内容可以像电子邮件草稿/模板一样简单。但是你需要对此严格要求,否则(正如你所发现的那样)你会围成一圈,也许没有你需要的所有重要信息。
答案 2 :(得分:0)
如果允许QA使用SSMS访问实时和开发数据库,那么他们必须承担一定程度的责任和/或对您进行某种程度的培训。
他们已经获得了一个工具,可以让他们提出数据问题,但是提出了错误的问题,然后向你抱怨 - 如果我是DBA,我只需删除他们的访问权限,直到他们能证明他们知道他们在做什么!我同情这可能不会很好,但至少威胁这样做可能会让他们为自己思考一点。
将此问题视为“某人做错事”
有两个简单的答案:
与Mladen Prajdic相同,您也可以在SQL2008 SSMS中对查询窗口进行颜色编码。
答案 3 :(得分:-1)
我个人在所有查询中使用完全限定名称(server.datatabase.owner.table - 如果我故意使用链接服务器,我只使用服务器)因为我从数据库移动到数据库这么多。如果在要运行的查询中指定数据库,则如果连接到同一服务器上的不同数据库,或者如果您有链接服务器,则它们仍然有效。如果他们正在编写自己的查询,您的质量保证是否采用这样做作为他们的标准;如果您正在编写测试查询,那么您应该在查询中指定数据库名称而不是通过使用语句。