【问题标题】:Integration test framework?集成测试框架?
【发布时间】:2010-10-21 11:17:40
【问题描述】:

我正在寻找一个测试框架来涵盖我们的黑盒集成测试。我们需要非开发人员可以编写脚本的东西(也不是 C# 单元测试类型的东西)。

我想到的最初场景是:

  1. 恢复已知数据库
  2. 运行 sql 代理作业 (ETL)
  3. 针对输出数据库执行验证 sql 脚本

  1. 运行 msi 安装
  2. 检查文件夹/文件/RegKeys/Services/等是否存在
  3. 运行 msi 卸载

到目前为止,我还没有找到任何合适的东西。我们将使用的主要是 UI 测试(Project White/etc),但不包括这些情况。或者基于单元测试框架的集成测试,我们还没有准备好推动我们的 QA 团队进行。

如果我找不到其他任何东西,我目前正在尝试推出我们自己的内部工具来进行这部分测试。

【问题讨论】:

    标签: testing frameworks automated-tests black-box


    【解决方案1】:

    看起来你想运行一堆命令行参数,对吧?

    嗯,我看到了两种方法:

    1) 您可以发明自己的领域特定语言。这是一种奇特的说法,即您编写了一个具有一些非常高级功能的解释器。非技术人员编写批处理文件之类的东西,您编写一些 C# 来读取文件,执行 switch 语句,然后运行命令。 FIT 可能是最常用的方法——它是集成测试的框架。 (这样做的方法是用逗号分隔事物:command,param1,param2。假装它是一个非常简单的汇编程序。然后你的 switch 语句接受 param1..paramx 并将它们粘贴在一个字符串数组中并将其传递给函数.函数处理数组。)

    这样做的问题是您的客户需要变量。他们会想要循环。很快,您就实现了一个完整的编程解释器,它以列格式读取数据。太臭了。

    所以你可以...

    2) 教您的客户一门脚本语言。我会研究 perl 和 test::more - 或者可能是一些 ruby​​ 测试的东西。

    如果这不起作用,也许你可以......

    3) 放弃让客户创建所有测试。相反,请让工具匠与客户配对创建大纲,然后返回并将其转换为代码。

    如果您使用的是浏览器,我建议您使用 selenium 或 watIR,但看起来您是命令行用户。

    给我发电子邮件 (matt.heusser@gmail.com) 或在我的博客 (xndev.blogspot.com) 上阅读有关测试框架的更多信息。我的博客是询问谷歌什么是测试框架的排名第二的搜索结果,所以我很乐意推荐它。 :-)

    问候,

    --heusser

    【讨论】:

    • 不仅仅是一堆命令行参数的东西。不是基于网络的。我使用了一个半途而废的 #1 内部工具。 XML 定义文件、简单属性和具有几种容器类型的测试列表(全部、无、任何必须通过)。 #2/3 中的“客户”是我们的 QA 团队。我没有时间让自己再次熟悉 perl/ruby,也没有时间教其他人,更不用说向他们推出工具了。我想让他们转向基于代码的测试,但我现在需要一个桥接工具。接受,因为没有其他答案,并确认没有其他工具。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-08
    • 2013-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-06
    • 1970-01-01
    相关资源
    最近更新 更多