Testing 在功能测试中,我是否应该将浏览器中呈现的所有表格数据与来自数据库的数据进行比较?

Testing 在功能测试中,我是否应该将浏览器中呈现的所有表格数据与来自数据库的数据进行比较?,testing,automated-tests,integration-testing,functional-testing,web-testing,Testing,Automated Tests,Integration Testing,Functional Testing,Web Testing,我正在为一个网站制定测试计划,其中一些测试采用以下路径: 点击请求的URI并获取一些表中呈现的数据(每页20行) 进行数据库查询以获取应该在该表中呈现的数据 逐行比较2个数据,它们应该匹配 这是进行功能测试的正确方法吗?如果该请求是Ajax请求,那么答案也是什么?集成测试的答案会有所不同吗 我有一些理由让我相信这是错误的。。。。还需要你的意见,伙计们 这对于功能测试来说似乎很好。在我看来,集成测试与不同技术或组件的测试有关,这些技术或组件应该协同工作,这通常比功能测试更广泛。当然,这类测试也可以

我正在为一个网站制定测试计划,其中一些测试采用以下路径:

  • 点击请求的URI并获取一些表中呈现的数据(每页20行)
  • 进行数据库查询以获取应该在该表中呈现的数据
  • 逐行比较2个数据,它们应该匹配
  • 这是进行功能测试的正确方法吗?如果该请求是Ajax请求,那么答案也是什么?集成测试的答案会有所不同吗


    我有一些理由让我相信这是错误的。。。。还需要你的意见,伙计们

    这对于功能测试来说似乎很好。在我看来,集成测试与不同技术或组件的测试有关,这些技术或组件应该协同工作,这通常比功能测试更广泛。当然,这类测试也可以被视为集成测试,具体取决于应用程序的组装方式以及开发生命周期中测试发生的位置。例如,为了让这个网站工作,你必须把几个独立开发的组件放在一起;这可能是验证集成是否有效的测试之一


    不知道这是不是Ajax与答案的不同有什么关系。

    这对于功能测试来说似乎很好。在我看来,集成测试与不同技术或组件的测试有关,这些技术或组件应该协同工作,这通常比功能测试更广泛。当然,这类测试也可以被视为集成测试,具体取决于应用程序的组装方式以及开发生命周期中测试发生的位置。例如,为了让这个网站工作,你必须把几个独立开发的组件放在一起;这可能是验证集成是否有效的测试之一


    不明白Ajax与否有什么不同,答案是不同的。

    < P>我可能会持不同意见,但我不认为这是一个富有成效的测试。您所做的只是复制生成页面的代码。而且,每当您引入重复代码(甚至跨部门)时,您都会看到长期出现的缺陷

    最好使用已知数据(通过应用程序或直接)加载数据库,然后检查输出是否与预期相符。这还可以确保您的数据库层或数据库本身不会以您不期望的方式修改数据

    即:

  • 加载已知数据(最好通过应用程序本身)
  • 加载请求的URI
  • 检查显示的数据是否与已知数据匹配

  • 我可能会对此持异议,但我不认为这是一个富有成效的测试。您所做的只是复制生成页面的代码。而且,每当您引入重复代码(甚至跨部门)时,您都会看到长期出现的缺陷

    最好使用已知数据(通过应用程序或直接)加载数据库,然后检查输出是否与预期相符。这还可以确保您的数据库层或数据库本身不会以您不期望的方式修改数据

    即:

  • 加载已知数据(最好通过应用程序本身)
  • 加载请求的URI
  • 检查显示的数据是否与已知数据匹配

  • 是的,这可能是一个富有成效的测试。要么有固定的数据集,要么没有

    如果您有一个固定的数据集,那么测试起来就容易多了,因为您所做的只是与一个固定的输出进行比较

    如果没有固定的数据集,那么需要复制业务逻辑,有效地复制开发人员已经完成的工作。然后您需要维护两组逻辑

    第二种方法是最好的方法,因为您有两种方法来做同样的事情,有效地对规范和代码进行同行评审。它在时间和资源方面也非常昂贵,这就是为什么大多数人选择使用固定数据集的原因

    为了回答您的问题,如果查询中的业务逻辑很简单,那么您可以很容易地获得测试。然而,测试带来的价值并不是很大,因为您没有进行太多的测试

    如果业务逻辑很复杂,那么您将从测试中获得更多的价值,但从长远来看,它将更难维护


    对我来说,您的测试带来的是一个简单的集成测试,它可以证明系统从数据库中正确读取数据,并正确显示数据。这是一个很好的测试,如果它是自动化的,甚至更好。

    是的,这可能是一个有成效的测试。要么有固定的数据集,要么没有

    如果您有一个固定的数据集,那么测试起来就容易多了,因为您所做的只是与一个固定的输出进行比较

    如果没有固定的数据集,那么需要复制业务逻辑,有效地复制开发人员已经完成的工作。然后您需要维护两组逻辑

    第二种方法是最好的方法,因为您有两种方法来做同样的事情,有效地对规范和代码进行同行评审。它在时间和资源方面也非常昂贵,这就是为什么大多数人选择使用固定数据集的原因

    为了回答您的问题,如果查询中的业务逻辑很简单,那么您可以很容易地获得测试。然而,测试带来的价值并不是很大,因为您没有进行太多的测试

    如果业务逻辑很复杂,那么您将从测试中获得更多的价值,但从长远来看,它将更难维护

    对我来说,你的测试带来的是一个简单的集成