我正在测试计划的一个网站,其中一些测试都采取以下路径:

  1. 打请求的URI和获得的数据呈示的内的一些表(20个行每页)。
  2. 做一个数据库查询获得的数据应该是呈现在该表。
  3. 比较数据2行,他们应该相匹配。

那是一个正确的方式做功能测试?如果这一请求是一个阿贾克斯的请求,将是什么样的答案吗?将在回答不同的一体化测试?

我有一些原因,使得我认为,这是错误的。...仍然需要你的意见,伙计们!

有帮助吗?

解决方案

是的,这可能是一个有生产力的测试。要么你有一个固定数据集或你没有。

如果你有一个固定的数据集,这是很容易的考验,因为你正在做的是比较,对一个固定的输出。

如果你没有一个固定的数据集,然后你需要的重复业务的逻辑,有效地重复已经完成的工作通过开发。然后你有两套逻辑,以维持。

第二是最好的办法,因为你得到的两种方式做同样的事情,有效的同侪审查的说明和编码。它也非常昂贵的时间和资源方面,这就是为什么大多数人选择有一个固定的数据集。

来回答你的问题,如果你的商务逻辑的查询是简单的,然后你可以得到一个试验很容易。然而,值得试验带来的不是很大的,因为你不是测试非常多。

如果业务逻辑是复杂的,你得到更多价值的试验,但这将是难以维持的长期目标。

对我来说,你的试验不会带来的是一个简单的集成试验,证明系统读取正确的数据库,并显示数据的正确。这是一个很好的试验,甚至更好的如果这是自动的。

其他提示

这似乎现为功能测试。一体化测试,在我的脑海里与测试不同的技术或组件都应该一起工作,这是一般更广泛的功能测试。但当然,这种测试还可以考虑集成测试,取决于如何应用程序是放在一起并在该测试是发生在生命周期的发展。例如,它可能是为了这个网站的工作,你必须放在一起几个组件是独立发展;这可能是一个测试,以验证集成工作。

怎么没看到这是阿贾克斯或没有任何与使答复不同的。

我可能会有不同意见,但我不认为这是一个有生产力的测试。你在做什么是简单地重复代码生成的网页。和任何时间你介绍的重复代码(甚至可以跨部门)你会看到的缺陷裁剪了长期的。

这是迄今为止最好载数据库的数据与已知(无论是通过应用程序,或者直接),然后检查,产出相匹配你什么期望。这还可以确保数据库层或数据库本身,还没有修改的数据在某种程度上,你不要期望。

这是:

  1. 载荷已知的数据(最好是通过应用程序本身)
  2. 负载的要求URI
  3. 检查显示的数据相匹配的已知数据

这种试验可以是很好的测试的一个大型数据集相对较少的测试仪努力,如果没有太多的开发者之间的逻辑数据库和显示器最终用户。我们的团队已经做到了这一点在一些场合,这是尤其适用于运行大量的实际生产数据,通过我们的测试,以确保实际情况的处理,如预期的那样。不确定你这样做至少有一点固定的输入测试为罕见的情况,可能特别有可能以不同的处理,在数据库和网页上的零价值观、特殊字符和其他怪异。

就个人而言,我会叫这个"一体化检测",由于测试的集成数据库和网站,而不是"功能测试"。为"功能测试",我可能想做一个模拟的数据源(例如,该数据库),将提供预先编写的集中的数据格式。

有的说,如果我有信心的有效性的数据库的数据,如果之间的逻辑数据库查询和网页显示是非常小的和低风险,我可能会不打扰的模拟,并将我们的集成试验的复盖的功能。我不知道试验的功能和一体化分别将是一个很大的质量赢得这种情况下,并且有可能更好的事情你可以做可用的测试时间。如果有很多逻辑的解决此数据的话,你应该测试的集成单独的功能。额外的集成试验将可能包括这样的话,"如果什么数据库不能到达?"和"如果什么数据库是缓慢的?".

虽然这种技术将工作与阿贾克斯,请确保您的测试工具将与阿贾克斯。具体而言,思考如何将捕获的数据库查询结果,以及如何将收集的结果显示在网页上。

我假设的有效性的数据的查询正在测试的其他地方,由于你提到,这只是一种类型的测试,在测试计划。我也只是在讨论一体化与 该数据库这个报告 而不是其他的功能或组成部分,而不是其他方面的测试(业绩、安全性。等等), 因为这是范围问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top