• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    淺析 PHP 官方自動化測試方法

    發布: 2009-5-24 22:33 | 作者: 林容容 | 來源: 測試時代采編 | 查看: 33次 | 進入軟件測試論壇討論

    領測軟件測試網

     

    如果該測試用例的實際輸出與期待值一致,則在屏幕上輸出測試結果如下:


    清單 4. PHPT 測試總結報告實例
    MILY: 'Andale Mono', 'Lucida Console', Monaco, fixed, monospace">=====================================================================  CWD         : /home/user_dir/php-5.2.8/sapi/cli/php  PHP         : /home/user_dir/php-5.2.8/sapi/cli/php  PHP_SAPI    : cli  PHP_VERSION : 5.2.8  ZEND_VERSION: 2.1.0  PHP_OS      : Linux rhas05 2.6.9-55.ELhugemem #1                        SMP Fri Apr 20 17:20:11 EDT 2007 i686 i686 i386 GNU/Linux  INI actual  :  More .INIs  :  Extra dirs  :  =====================================================================  Running selected tests.  PASS Test version string [001.phpt]  =====================================================================  Number of tests :    1                 1  Tests skipped   :    0 (  0.0%) --------  Tests warned    :    0 (  0.0%) (  0.0%)  Tests failed    :    0 (  0.0%) (  0.0%)  Tests passed    :    1 (100.0%) (100.0%)  ---------------------------------------------------------------------  Time taken      :    0 seconds  =====================================================================

    如果該測試失敗了,則除了屏幕輸出失敗結果外,當前運行目錄下還會生成若干文件,以供用戶分析測試失敗的原因。生成的日志文件的種類是由環境變量 TEST_PHP_LOG_FORMAT 設定的,詳見表 2 。如果設定的是 “ LEOD ” 則生成日志文件包括表 3 中列出的五種文件。


    表 3. PHP 自動化測試的輸出腳本文件
    日志文件名 日志文件內容 對應的TEST_PHP_LOG_FORMAT里的設置
    001.out 運行測試語句后得到的實際輸出結果。 O
    001.exp 腳本中的期待結果,即測試腳本中 EXPECT* 段的內容。 E
    001.log 實際運行的輸出結果和腳本中的期待結果,即 “ .exp ” 和 “ .out ” 的合集。 L
    001.diff 實際運行的輸出結果和腳本中的期待結果通過 diff 命令得到比對后的結果。 D
    001.php 實際執行的 PHP 測試語句,在測試中解析測試腳本的 FILE 段得到。 總會生成

    上面的例子是一次只運行一個腳本。 PHP 也支持多測試腳本一起運行。表 4 列出了三種 PHP 支持的測試方式。


    表 4. PHP 自動化測試方式
    測試方式 參數 舉例
    只執行單個測試用例 測試腳本名 001.phpt 002.phpt
    執行某個目錄下的測試用例 測試用例的目錄名 test_dir/
    執行某個文件中列出的測試用例 -r 加列舉測試用例的文件名 -r record_file





    回頁首


    PHP 自動化測試框架的原理和實現

    在清單 3中的運行示例中,實際的執行語句是 “ $HOME/php-5.2.8/sapi/cli/php run-tests.php $HOME/php-5.2.8/sapi/cli/tests/001.phpt ” 。其中,“ 001.phpt ” 是測試腳本;“ run-tests.php ” 為 PHP 測試的驅動腳本,是官方腳本;而 “ $HOME/php-5.2.8/sapi/cli/php ” 是運行驅動腳本的 PHP 可執行對象。這里需要指出的一點是,環境變量 TEST_PHP_EXECUTABLE 中設置的 PHP 可執行對象和這里運行測試腳本中的 “ $HOME/php-5.2.8/sapi/cli/php ” 雖然指向的是同一個可執行對象,但其意義是不一樣的。環境變量 TEST_PHP_EXECUTABLE 中設置的 PHP 是被測試對象,而運行測試中使用的 “ $HOME/php-5.2.8/sapi/cli/php ” 只是為了用來驅動測試腳本運行。

    在圖 1 中可以具體的看出 PHP 測試過程中兩個 PHP 可執行對象及兩個 PHP 腳本的關系。在測試的過程中,首先是由 “ $HOME/php-5.2.8/sapi/cli/php ” 去運行腳本 “ run-tests.php ” (第 1 步)。 在 “ run-tests.php ” 腳本中,將解析環境變量的值 “ TEST_PHP_EXECUTABLE =$HOME/php-5.2.8/sapi/cli/php ” (第 2 步)。這里 PHP 可執行對象是被測試的 PHP ! run-tests.php ” 腳本中還將把測試腳本 “ 001.phpt ” 中的 FILE 段解析為 PHP 腳本 “ 001.php ” (第 3 步), 用 “ TEST_PHP_EXECUTABLE ” 設置的那個 PHP 可執行對象去執行 “ 001.php ” (第 4 步)并得到實際輸出結果,在比對實際輸出結果和 EXPECT 段的期待結果后,輸出測試結果(第 5 步)。以上運行過程可以從對 “ run-tests.php ” 腳本的分析中得出。


    圖 1. PHP 測試運行關系圖
     

    通過以上實例分析可以看出,PHP 官方測試的自動化主要依賴于 “ run-tests.php ” 腳本和測試用例腳本 PHPT 。而 “ run-tests.php ” 腳本正是 PHP 測試自動化框架的搭建者。從代碼清單 5 中,可以略微看出 PHP 自動化測試框架的主要工作。

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    32/3<123>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>