2008-09-18 51 views
16

我是參與Test Anything Protocol (TAP) IETF group的人之一(如果感興趣,請隨時加入郵件列表)。許多編程語言開始採用TAP作爲他們的主要測試協議,他們希望獲得比我們目前提供的更多的TAP。因此,我們希望從具有xUnit,TestNG或任何其他測試框架/方法背景的人那裏獲得反饋。你需要從測試裝置中獲得什麼?

基本上,除了簡單的通過/失敗之外,您需要從測試工具中獲得哪些信息?只是給你一些例子:

  • 文件名和行號(如果適用)
  • 起始和結束時間之間的你得到了什麼,你所期望的差,
  • 診斷輸出。

等等......

回答

6

它必須是非常,非常容易編寫一個測試,並同樣容易運行它們。對我而言,這是測試工具的一個最重要的特性。如果有人必須啓動一個GUI或跳過一堆箍來編寫測試,他們將不會使用它。

+2

看起來TAP實際上並不涉及編寫測試,只是如何將測試結果傳遞迴其他系統(用於報告目的或者其他) – 2008-12-03 21:44:48

4

要什麼,你說我要補充:

  • 方法/功能/類名
  • 覆蓋率計數工具,有例外(不要指望這些方法)
  • 結果N個最後的可用運行該方法可以輕鬆地分析測試結果必須存在
  • 授權
7

最絕的從你的列表中爲每個萬物個人資料:

  • 行號
  • 命名空間/類/函數名
  • 測試覆蓋率
  • 開始時間和結束時間
  • 和/或總時間(這將是更診斷輸出如 你得到的和之間的區別210你的預期。

從我頭上別的不是很多,但對於組測試的頂我想知道

  • 組名
  • 總執行時間
4

任何類型的診斷輸出 - 尤其是失敗是至關重要的。如果測試失敗,您不希望在調試器下重新運行測試以查看發生了什麼 - 輸出中應該包含一些線索。

我還喜歡看到關鍵系統變量(如內存或硬盤空間)的前後快照,因爲這些變量也可以提供很好的線索。

最後,如果您對任何測試使用隨機種子,請將種子寫入日誌文件,以便在必要時可以複製測試。

+0

這些都不能在框架中完成(它只是在成功的時候才知道你的測試做了什麼),但是當你用diag函數編寫測試時,TAP使你能夠添加這些信息。 – 2009-04-14 11:08:32

6

任意一組標籤 - 所以我可以將測試標記爲例如「集成,UI,管理員」。

(你知道我要問這個沒有你:-)

+0

嘿,你可以問這個,如果我可以要求一堆功能在Test :: Class :) – Ovid 2008-09-19 08:08:34

+0

是的,我想要這種東西在線束中。我在上次波特蘭Linux用戶組會議上與Schwern談過這件事。我想要類似Test :: Manifest的東西,但對於單個測試。 :) – 2008-09-21 00:52:47

+0

@Ovid補丁歡迎:-) – adrianh 2008-10-05 15:46:47

1

我想以連接能力和巢TAP流。

0

我使用TAP作爲輸出協議的一組簡單的C++的測試方法,並已經看到了以下缺點:

  • 測試步驟不能被放入組(只有分組爲幾個測試腳本;但爲了運行我們軟件中的所有測試,我需要至少一個級別的分組,以便通過類似「DB連接」 - >「重新連接測試」 - >「測試步驟#3」)來識別單個測試步驟)
  • 發現預期產出和實際產出之間的差異很有用;我要麼將差異打印到stderr(作爲註釋),要麼實際啓動一個圖形差異工具
  • 協議和工具必須真正與語言無關。例如,到目前爲止我只知道運行測試Perl的「證明」的工具,它被限制爲運行Perl腳本

在端的,測試輸出必須是適合作爲基礎用於容易地生成一個HTML報告文件列出了非常簡潔的成功測試,爲失敗的測試提供了詳細的輸出,並且可以快速跳入IDE到失敗的測試線。

1

一個獨特的ID(uuid,md5sum),能夠識別單個測試 - 比如說,將測試結果插入數據庫時​​使用,或者在錯誤跟蹤器中標識它們以使QA可以重新運行個人測試。

這也可以通過產品的多個修訂的整個生命週期來追蹤從構建到構建的單個測試行爲。這最終可能允許「歷史性」事件(新員工,產品發佈,硬件升級)與由於此類事件而失敗的測試配置文件之間的大規模關聯。

我也認爲TAP應該通過專用的側通道發射而不是與stdout混合使用。我不確定這是否在協議定義的範圍之內。

0
  • 可選ASCII彩色輸出,綠色代表良好,黃色表示待定,紅色的錯誤

  • 的事情都是這個想法未決

  • 在命令的測試報告的結尾總結將運行單項測試,其中

  • 列表項

    • 出事了

    • 東西在測試掛起

    爲TAP
0

擴展思路:

1..4 
ok 1 - yay 
not ok 2 - boo 
ok 3 - yay #json:{...} 
ok 4 - see my json 

能夠附加#JSON評論... - 可以通過現有代碼安全地忽略 - 在testanything.org上可以輕鬆保留定義完好的標籤 - 易於生成,解析和讀取複雜類型 - yaml是一種痛苦

相關問題