4

我们开发自定义调查网站,我正在寻找一种方法来自动化这些网站的模式测试。调查通常包含许多复杂的规则和分支,这些规则和分支也会触发项目的响应方式。所有调查在发布给客户之前都经过严格测试。这种测试需要大量的手工工作。我想了解一些我可以用来通过回答问题和验证数据库中的结果来自动化这些测试的选项。调查站点由一个引擎生成,该引擎创建和写入 asp 页面并接收响应以处理到数据库中。所以我可以确定测试网站的唯一方法是与网页本身进行交互。我想在某种程度上我需要构建某种类型的机器人;我真的不太了解他们背后的设计。

有人可以就如何实现这一目标提供一些建议吗?感谢您的时间。

布雷特

4

9 回答 9

10

查看硒:http ://selenium.openqa.org/

另外,请查看其他问题的答案:https ://stackoverflow.com/questions/484/how-do-you-test-layout-design-across-multiple-browsersoss

于 2008-09-16T04:27:00.347 回答
5

您还可以查看WatiN

于 2008-09-16T04:29:01.560 回答
0

听起来您的引擎可以使用诸如Test::WWW::Mechanize之类的东西生成测试脚本

于 2008-09-16T04:29:23.930 回答
0

适用通常的测试方法;白盒和黑盒。

对您而言,白盒测试可能意味着检测您的应用程序以使其能够进入特定状态,然后您可以预测您期望的结果。

黑框可能意味着你点击了一个页面,然后考虑可能的结果是否有效。重复并冲洗,直到获得足够的覆盖。

我们使用的另一件事是监控我们服务的统计数据。我们是否在此页面上获得了预期的点击次数。我们定期运行 a/b 测试,我已经针对重构的代码运行 a/b 测试,以验证在推出之前没有任何变化。

/艾伦

于 2008-09-16T04:30:31.103 回答
0

我可以想到几个可以完成工作的优秀 Web 应用程序测试套件 - 一个免费/开源和一个商业:

  1. Selenium(开源/跨平台)
  2. TestComplete(商业/基于 Windows)

两者都允许您通过基于与 Web 应用程序的交互验证数据库记录来创建测试套件。

您基于 Windows/ASP 的事实可能意味着 TestComplete 将使您更快地启动和运行,因为它是 Windows 和 .NET 的本机。在进行投资之前,您可以下载免费试用版,看看它是否适合您。

于 2008-09-16T04:39:39.507 回答
0

查看 Symfony 框架附带的单元测试框架“lime”。http://www.symfony-project.org/book/1_0/15-Unit-and-Functional-Testing。你没有提到你的语言,石灰是php。

于 2008-09-16T08:25:28.480 回答
0

我建议使用 mechanize gem,可用于红宝石。使用起来非常直观。

于 2008-09-16T08:27:01.143 回答
0

我将 QEngine(commerical) 用于相同目的。我需要添加数据并在 UI 中进行检查。我编写了一个脚本来执行此操作并循环调用它。数据可以通过 csv 或 excel 传递。检查 www.qengine.com ,您也可以尝试 Watir。

于 2008-09-29T08:00:38.223 回答
0

我的建议是 QA Agent ( http://qaagent.com )。这似乎是一种新方法,因为您不需要安装任何东西。只需在基于浏览器的 ide 中开发您的 Web 测试。顺便说一句,您可以使用 jQuery 和 java 脚本开发测试。真的很酷!

于 2014-04-09T17:16:03.820 回答