在我当前的工作和以前的工作中,都需要测试应用程序的许多区域,这些区域需要从关系数据库(尤其是各种版本的Microsoft SQL Server)中挖掘数据。

部分,我通过使用各种WHERE过滤器运行简单的SELECT查询来获得。不过,根据目前的职位,我发现添加更多复杂的JOIN才是真正从数据库中获取所需信息的必要条件。此外,我目前正在使用的数据库在外键约束,视图以及内置的其他类似方面还具有很多优势,从而使各种规范化表之间的关系变得更加顺畅(但与此同时,痛苦)导航。

在为数据库应用程序寻找软件测试员时,您正在寻找什么水平的熟练程度?

评论

您并未在问题中明确要求此功能,但是如果您正在寻找可用于SQL的资源,我在DBA stackexchange上提出了此问题,并获得了大量有用的资源:dba.stackexchange.com/questions / 29 /…

应该更改标题以更好地匹配问题,“软件测试器”是一个非常宽泛的术语。考虑像“数据库软件测试器”之类的东西。

@Rsf-有许多使用数据库的软件应用程序。即使不只是测试数据库,仍然需要具备一些SQL技能。

#1 楼


在大多数情况下,我已经通过使用各种WHERE过滤器运行简单的SELECT查询来获得帮助。不过,根据我目前的职位,我发现添加更多复杂的JOIN才是真正从数据库中获取所需信息的必要。 。

基本上-“取决于”。

有时候,职位只需要一点点熟练。其他时间,则需要更多。当我要招聘某个职位时,我需要每次都再次做出该决定。

这与填补任何其他职位没有什么不同。问题:开发人员应具备多少C#能力?答:这取决于位置。有些需要深度,有些则不需要C#,因为他们需要不同的语言。

评论


但是,测试经理是否需要寻找基本级别?仅仅是选择语句,还是无论产品如何,通常都需要更高的水平?以C#为例,假设至少有一个基本级别。

– Tristaan​​Ogre
2011年5月25日19:59

您可能会寻找一个了解基础知识的人以及愿意学习的人,而我处于您的位置,在那里我只知道简单的语句,然后学会了如何加入。主要是取决于职位的教育方面。

– MichaelF
11年5月25日在21:16

需要基本的SQL语句(例如SELECT,UPDATE)以及带有诸如have and order by的子句。除此之外,JOIN还经常实时使用。

– Aruna
2011年5月25日在22:09

@Tristaan​​Ogre“但是,测试经理是否需要寻找基本级别?”我雇用了完全不了解SQL的测试人员-因为他们不需要任何测试人员。我还聘请了具有DBA级SQL知识的测试人员-因为他们需要它。一如既往-这取决于!

–乔·斯特拉泽(Joe Strazzere)
2011年5月31日12:54

#2 楼

精通SQL只是一个开始,还具备SQL语法的能力:选择,从,联接,位置,排序依据等。数据库技能需要愿意向商店的开发人员和DBA学习。测试人员应希望不断完善和提高其DB数据挖掘技能。使用插入,删除和更新时要谨慎。愿意(当然可以安全地)尝试使用新的SQL语法,他们希望掌握这一技能。归根结底,测试人员将激情带入了理解应用程序中许多数据模型的任务,这将使它们真正成为他们的项目和SQL熟练的重要资产。

评论


很好的答案,约翰!第二点是我一直在做的粗体。 “我每天都会学到新的东西,而不是浪费一天”是我个人的一句话...

– Tristaan​​Ogre
2011年5月26日12:39

有关帮助构建查询的示例工具,您可以查看Embarcadero的RapidSQL。我现在在SQL Server Management Studio中做我需要的一切,但是当我刚开始时真的很喜欢RapidSQL。 embarcadero.com/products/rapid-sql

–杰夫
2012年5月17日在20:18

#3 楼

如果我正在为数据库或大量数据驱动的应用程序寻找测试人员,那么SQL越强大越好。我认为,他们不仅应该对编写包括JOINS,UNION等的查询感到满意,而且他们还需要对插入和更新所涉及的一些不同性能影响,索引如何适用于所使用的各种数据库平台有很好的了解。诸如此类的东西。我认为在这种情况下,知识越多越好。基准不过是能够编写SQL语句并知道何时以及如何编写以及内部和外部联接的功能。

评论


丹,我非常喜欢您的要求。但是我发现没有很多测试人员(正在测试数据库应用程序)实际上在进行那么多的插入和更新。当然可以,但是设置测试数据的数量很少。在我所在的商店中,性能影响由常规DBA负责。有更多的SQL经验更好,我同意。

–约翰·伯利(John Burley)
2011年5月26日下午5:38

尽管我并没有做很多插入和更新操作,但是如果我需要为新方案调整数据记录,有时我需要运行更新或插入操作....但要特别小心。在大多数情况下,数据插入和更新都是通过AUT执行的,然后会引发一个问题:“ AUT是否正确执行了插入和更新?” ...很多层来测试这种东西。

– Tristaan​​Ogre
2011年5月26日下午13:55

同样,这取决于组织。我偏向于更多的知识。坦率地说,如果您拥有一个与开发人员一样了解的测试人员,我认为您最终将获得更加可靠的代码。在我的上一个组织中,我们有一个SQL开发人员,但C#开发人员也做了很多自己的SQL工作。了解常见错误的某些含义确实很有用。我与SQL开发人员进行了很多合作,以了解他希望在性能等方面看到的内容。

–丹·斯内尔(Dan Snell)
2011年5月26日下午16:51

#4 楼

如果您在一家公司中大量使用SQL数据库,例如在企业系统或在线商店中工作,那么您很可能需要至少具备SQL的基本技能,至少需要在数据库中创建一些测试数据,检查结果等。至少早晚会提供一些DML知识,例如SELECT,INSERT,UPDATE,DELETE。

但是请记住,它基本上不是测试人员的核心知识。

评论


+1表示创建测试数据,还提到它不是一项核心技能(至少对于大多数测试人员而言)。

– Ethel Evans
11年5月25日在22:24

我想这只是说明了不同的上下文是什么:我想说它一直是我工作过的环境中的一项核心技能。不一定总是处于高级水平,但至少在某些项目中必须具备基本的熟悉度更高级的技能是必不可少的。

– testerab
2011-12-12 23:38