【问题标题】:Result Execution and Presentation when Blackbox Testing黑盒测试时的结果执行和呈现
【发布时间】:2012-02-13 10:40:27
【问题描述】:

我在 Python 3.2 中开发了一个黑盒测试环境,用于测试硬件。在这种环境中,我有一个 TestExecution.py 模块,我在其中运行测试如下:

while(True):
    TestWithRestart("Test122")
    TestWithRestart("Test123",keys="invalid_keys.dat")
    TestWithOneComPort("Test200", keys="invalid_keys.dat")
    TestWithTwoComPorts("Test200")
    TestWithTwoComPorts("Test200", ppc_simulation_script="Test200.pcc")
    TestWithNoComPort()
    TestTime("Test500")
    Test600()
    TestWithComPortNoise("Test600")
    TestWithComPortInteruption("Test601")

我测试的每个硬件版本在我的 PC 上都由其自己的测试环境文件夹表示。此文件夹包含日志、密钥和 TestExecution.py。每个测试用例都有自己的结果文件夹,在这个文件夹中我有每个测试执行的日志文件夹。

我也可能需要为新的硬件版本设计新的测试。在这种情况下,我可能需要多次尝试才能使该测试正常工作。

关于测试的通过/失败状态,我通过手动检查我的日志文件来做到这一点。下一个改进将是自动化确定测试是否通过的过程。我将为此编写单独的类。这个过程将持续进行。

我想知道是否可以将我的环境与持续集成软件集成,以便以漂亮的图形形式呈现测试执行和/或结果。选择我希望执行的测试也很好。你会推荐什么开源软件?

谢谢,

巴里

【问题讨论】:

    标签: python testing continuous-integration system-testing black-box-testing


    【解决方案1】:

    Jenkins。例如,您可以将测试结果转储为 JUnit XML 格式和 Jenkins will automatically produce nice graphs

    当然,插件取决于您的需求,但这里列出了基本插件以及我最喜欢的插件(其中一些捆绑在基本包中):

    作为一名 Python 程序员,您也将从Python Jenkins API Wrapper 中受益匪浅。

    不过,一般来说,请小心使用插件:有时它们不稳定和/或无法正常运行。查看插件修订历史通常可以告诉您它是否维护良好。

    您可以在您的机器上本地安装 Jenkins,并使用它几天,然后再决定它是否适合您的需求。

    【讨论】:

    • 我应该考虑使用哪些 Jenkins 插件?
    • 谢谢!我是否应该使用 Python 插件构建步骤运行测试?
    • 不一定:您可能希望从在“Execute Shell”中运行的脚本开始(如果您对它感到满意,也可以使用 Ant)。看看它带你走多远。我从来没有使用过 Python 插件,所以我不能保证。我从 shell/Ant 调用 Python(包括 API Wrapper)。
    • 我明白了。我现在在我的 Windows 机器上安装了 sh.exe。您对如何运行测试用例的子集有什么建议吗?
    • 使用“执行 Windows 批处理命令”构建步骤。确保在批处理文件步骤中使用 %ENV_VAR% 语法而不是 $ENV_VAR 或 ${ENV_VAR}。运行测试子集(以 unittest 模块为模型):编写脚本来生成和运行自定义测试套件,这些测试套件根据您作为参数提供的标准过滤测试用例。然后可以将这些参数作为 Jenkins 作业参数提供。这只是一个建议 - 也可以寻找其他方法。 StackOverflow 上有 [jenkins] 标签。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多