English 中文(简体)
如何组织现场数据完整性测试和编码单位测试?
原标题:How to organize live data integrity tests and code unit tests?

我有几处有密码测试代码的文件(使用“unittest”类)。

后来,我发现,测试数据库完整性也是明智的。 我将这.成单独的树木。 (如钥匙有正确的格式,母子和儿童节点正确无误。) Edit:这是一个 no子项目,我无法依靠数据库一级的检查 lie称正,因此)

我使用同一单元测试班进行廉正测试。

现在,我想知道,保持这一分离是否真正有意义。 为了测试数据的完整性,我常常重复我用来测试处理数据编码的部分。

但情况并非如此。 密码测试使用测试数据库(每次测试后删除)和与现场数据连接的廉正测试,并对数据进行分析。 如果现场数据库中出现一些情况,我就想从声望发出警告,发出警报。

你们如何处理这一问题? 是否有这样的设置标准? 你们的经验是什么?

我的倾向是把所有东西放在同一个档案中,这将导致生产环境的十字架也正在对法典进行测试。

Edit: 我也努力使项目简单化,不要把太多的档案用单项任务或工作流程连接起来。 如果没有所有测试,就已经有了一个班级档案、一个子级、一个相关班、一些图书馆(助手)档案和主要代码。 测试增加了一个档案。 这有助于我把注意力放在编码的同时,减少强调,我认为我犯了较少的错误,我可以更快地记住和找到某些法典的一部分,而受影响的文件较少。 只有一份每个工作流程的测试文件才能在此提供帮助。 如果我继续保存,则有2份档案(数据完整性测试和编码测试),可能还有3份(两者共用的图书馆)。 摘要会增加复杂性。

现在,我只是支持一点点,而只是将数据测试档案移至同一目录树上,而后者也是密码测试寿命,而是将不同的档案与标明“专利”或“测试”的名称相保留。 我不会(yet)合并档案,因为有2人建议予以反对,我相信他们现在的经验和建议。 我现在将重复使用法典。

Edit3: 我想提的是,每一次试验的挑选并不取决于这一情况下的树种结构。 这些测试在总档案中进行了列举,因此,目前我有2份“专利”和“密码测试”的总档案,测试可以在同一直接结构中进行。

也许有更多的人会回答。 感谢你们迄今提供的宝贵投入,这已经帮助我建立最终结构!

Edit4: 现在我做得更好。 我似乎应该保留2份档案,但目的稍有改动。 其中一个目标是对生产服务器进行预定的监测。 还有一个发展领域。 但是,在这两种档案中,都可以进行正直测试或密码测试。 在这两个档案中,都可以在测试数据库(测试后删除)和永久数据库(每个数据库都有常设数据库、生产服务器和打字服务器)上进行操作。 重要的是: 我发现,我从测试档案向类别档案转移了共同编码。 因此,这些班级也只有测试能力。 如同迄今为止一样,我感到干净。 我没有(yet)建立一个由2个测试前线共享的测试图书馆,该法典已经进入目前正在穿透的底层的班级档案。

请注意,我以下评论是与“用户89021”签署的,但与我卡拉尔瓦尔德签署。 我可以做任何事情。

最佳回答

You should separate the database related tests from the "pure" unit tests.
The cost of having two different assemblies is very low considering the benefits - you have one suite of fast, no environment set required tests that you can run on any machine and a slower suite that tests the database integrity that can run only on specific places (e.g. build server).

另一项好处是,你可以有两个建筑程序(快速和夜间)进行不同的测试。

为了避免重复使用代码,你可以创建另一组,采用共同的方法/行动,这两种方法都符合需要。 对重复实际测试的担忧太多,因为你更早或更晚地重新测试不同的东西(无论是逻辑还是数据库),根据你再次试图测试的情况,你的测试将变得非常不同。

问题回答

你将他们分开的做法是好的。

你对法典重复的关切是100%的。

解决办法相当简单,从测试(例如“Run Test”、“AnalyzeResult”、“Connect ToDB”)到共同图书馆(其中没有具体说明哪一种语言,但我假定它有一个图书馆的概念),可以通过组合细节,例如哪些数据库连接。

然后使用该图书馆,独立于单位测试驾驶员和正直测试驾驶员,如果你具备足够的技能/技能,那么除了配置之外,该图书馆的代码可能很少(例如,哪一个数据库可以连接、如何报告结果以及哪些测试可以操作)。

同样,如果需要,可将共同投入/数据集列入共同目录。

还有一个答案。 你有两种类型的测试。 我要谈的是廉正测试。 您不妨做的是:integrity test作为生产代码的功能。 记者协会作为系统的一部分具有完整性。

您已经提到,重复是一个问题,你正在对消除重复工作做出反应。 重新设计的法典当然有发展测试?

系统监测可以是生产守则。 因此,你撰写的法典成为该系统的一部分。

与此相关的一点是,通过你的发展测试,你制定了你的法典。





相关问题
what is wrong with this mysql code

$db_user="root"; $db_host="localhost"; $db_password="root"; $db_name = "fayer"; $conn = mysqli_connect($db_host,$db_user,$db_password,$db_name) or die ("couldn t connect to server"); // perform query ...

Users asking for denormalized database

I am in the early stages of developing a database-driven system and the largest part of the system revolves around an inheritance type of relationship. There is a parent entity with about 10 columns ...

Easiest way to deal with sample data in Java web apps?

I m writing a Java web app in my free time to learn more about development. I m using the Stripes framework and eventually intend to use hibernate and MySQL For the moment, whilst creating the pages ...

join across databases with nhibernate

I am trying to join two tables that reside in two different databases. Every time, I try to join I get the following error: An association from the table xxx refers to an unmapped class. If the ...

How can I know if such value exists in database? (ADO.NET)

For example, I have a table, and there is a column named Tags . I want to know if value programming exists in this column. How can I do this in ADO.NET? I did this: OleDbCommand cmd = new ...

Convert date to string upon saving a doctrine record

I m trying to migrate one of my PHP projects to Doctrine. I ve never used it before so there are a few things I don t understand. In my current code, I have a class similar to this: class ...

热门标签