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

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

  • <strong id="5koa6"></strong>
  • 軟件測試之自動測試:變化多端的輸出

    發表于:2009-04-23來源:作者:點擊數: 標簽:軟件測試變化多端輸出自動
    在 自動測試 系統中, 經常會遇到輸出測試報告的問題。報告內容類型是一定的,大致可以分為: 測試的集合的名稱 測試開始的時間 測試結束的時間 測試 用例 的名稱 測試結果 測試數據 測試日志 ... 這樣看上去,好像并不存在什么問題,因為報告內容類型可以被
     在自動測試系統中, 經常會遇到輸出測試報告的問題。報告內容類型是一定的,大致可以分為:

      測試的集合的名稱

      測試開始的時間

      測試結束的時間

      測試用例的名稱

      測試結果

      測試數據

      測試日志

      ...

      這樣看上去,好像并不存在什么問題,因為報告內容類型可以被定義清楚,并且也不存在變化的需求。所以,只需在需要輸出測試報告的地方將內容輸出就可以了。

      但是,現實往往不如人所愿,隨著測試系統的擴展,原先我們將這些輸出是以本文格式文件的信息存儲在本地。而現在為了與另一個測試系統交互,我們必需將輸出的形式由文本格式文件轉變成為XML格式的輸出。這可是個不大不小的麻煩,我們必需修改那些原來“需要輸出的地方”的代碼??上攵?,這些代碼已經被層層的包圍在測試邏輯中間了。

      這真是一件簡單、暴力的活動。誰也不原意做第二次,不過,放眼望去,“第二次”并不遙遠。數據庫式的集中存儲正向我們招手。輸出到數據庫已經被提上議程。我們不得不考慮將報告輸出的邏輯與測試的邏輯分離開。其實,這個不是什么困難的事,我們只需根據報告內容類型定義一個接口,并實現兩種不同的輸出方式,文本格式輸出和XML格式輸出。

      在需要有新的輸出方式的時候, 我們只需要添加一個新的輸出方式的實現。同時,為了能使輸出方式的可配置,還需為它設計一個簡單工廠。這樣,出輸格式的擴展性就得到了保證,還可以通過配置文件還選擇不同的輸出。

    package my.cnblog.output;
     2
     3/**//*The Interface of Outputter*/
     4
     5public interface IOutputter {
     6    public boolean StartSuite(String suiteName);
     7    public boolean EndSuite();
     8    public boolean TestResult(String result);
     9    /**//*
    10     * other interfaces
    11     */
    12}
    13
    14package my.cnblog.output;
    15
    16/**//*one implement of Outputter*/
    17
    18public class TXTOutputter implements IOutputter {
    19
    20    @Override
    21    public boolean EndSuite() {
    22        // TODO Auto-generated method stub
    23        return false;
    24    }
    25
    26    @Override
    27    public boolean StartSuite(String suiteName) {
    28        // TODO Auto-generated method stub
    29        return false;
    30    }
    31
    32    @Override
    33    public boolean TestResult(String result) {
    34        // TODO Auto-generated method stub
    35        return false;
    36    }
    37
    38}
    39
    40 1package my.cnblog.output;
     2
     3/**//*The Factory of Outputter*/
     4
     5public class OutputterFactory {
     6    IOutputter Create(String outputter){
     7        if (outputter.equalsIgnoreCase("TXTOutputter")){
     8            return new TXTOutputter();
     9        }
    10        else if(outputter.equalsIgnoreCase("XMLOutputter")){
    11            /**//*return new XMLOutputter();*/
    12        }
    13        return null;
    14    }

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品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>