首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不同的回归脚本开发方法

不同的回归脚本开发方法
EN

Stack Exchange QA用户
提问于 2011-09-15 13:51:26
回答 2查看 445关注 0票数 2

我正在寻找开发回归脚本的不同替代方式。在我们的例子中,我们有一个处理大量数据处理并向用户提供一些结果的应用程序。结果以报告和图表的形式出现。我们开发回归脚本的方法是,在系统生成报告时执行一定的用户操作之后,我们保存这些报告的html,并将这些html与在通过手动测试的版本上生成的基线html进行比较。我们比较了winmerge中的基线和目标行htmls,并对差异进行了验证。与断言方法相比,这种方法的优点是我们几乎不会错过报告中的任何数据验证。但问题是在验证html时浪费了时间。有许多代码更改是有效的,但它们被看作是不同的。有人能提出其他回归发展的方法吗?比较位图也不是一种好方法,因为它不涵盖页面上所有可滚动的数据。此外,我们还将开发一个脚本,它将在不同的浏览器中对应用程序进行覆盖,捕获报告并在各自浏览器中的软件后期版本中进行比较。您将建议如何创建此脚本的基线?

提前谢谢。阿尼尔

EN

回答 2

Stack Exchange QA用户

回答已采纳

发布于 2011-09-15 19:05:52

数据验证与显示数据的网页是否正确运行的测试有很大的不同。即使在数据库级别上,也可以进行数据验证,前提是您的UI已经进行了足够彻底的测试。我在这里找到了一篇关于数据验证的好文章:http://msdn.microsoft.com/en-us/library/gg261774.aspx,它概述了许多方法。

是开发人员创建的图表自定义网页,还是使用现有的图表/图形插件?如果他们正在使用现有的插件,那么如果假设创建者已经测试了他们的产品,那么您就不需要做太多的测试了。如果它们是自定义的,那么您可以进行非常有针对性的测试,以确保不同类型的数据实际上在站点上呈现正确的图表。

即使进行了一些自动化测试,以确保生成的HTML是您所期望的,并且数据是正确的,但浏览器之间仍然可能存在视觉差异,只有通过一些手动比较才能真正观察到这些差异。我在过去见过的一种方法是脚本,它将在不同的浏览器中获取页面的截图,然后有人可以查看这些屏幕截图并进行比较。有些工具会尝试自动比较图像,尽管在那里很难得到正确的阈值,而且通常需要手动干预。对于那些截图的工具,几乎任何像selenium这样的web自动化框架都可以导航到页面,然后在.net中创建一个函数来获取浏览器窗口的截图。如果你有有滚动条的页面,你甚至可以变得漂亮,并尝试滚动窗口并将图像缝合在一起,但取决于你网站的设计,你可能不需要这个。

票数 2
EN

Stack Exchange QA用户

发布于 2011-09-15 16:39:14

阿尼尔

您可以在这里使用许多方法。如果您能够将生成的报表转换为作为(字段、值)对(例如CSV、XML等)工作的任何格式,则可以将其用作比较的基础。

另一种方法是使用自动化来捕获每个包含数据的HTML字段,并验证数据是否与基线匹配。这需要一些日期检查-如果您正在输出日期信息-我将经常使用正则表达式首先验证日期,然后去掉它,以便我不会得到无效的差异报告。

在我看来,您需要寻找的关键是比较每个数据字段并报告每个数据字段的能力。

例如,我们的CSV基线比较将报告发现了差异,对于每个与基线输出不同的文件,都会有一个格式化的列表,如下所示:

结果记录5与字段Foo中的基线记录5不同。基线20,结果999。结果记录5与字段栏中的基线记录5不同。基线-1,结果!@#$?

以此类推。如果没有差异,甚至不需要进行手动检查--如果您对数据足够熟悉,就可以仅用这些信息解决问题。如果不是,这就是WinMerge的目的--以及在需要时进行基线更新。

这种结果报告,特别是如果您不包括预期的差异,如报告日期,可以帮助您迅速集中于任何问题。这也能很好地跨多种格式进行转换,因为您会编写基线检查代码,以查找您感兴趣的(字段、值)对,而不管它们采用的是哪种格式。

票数 0
EN
页面原文内容由Stack Exchange QA提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://sqa.stackexchange.com/questions/1808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档