qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          開發環境及TTCN-3的Hello World

          字體:        | 上一篇 下一篇 | 打印  | 我要投稿  | 推薦標簽: 軟件開發 TTCN

            本文一步一步介紹開發TTCN-3 Hello World程序的方方面面。
            博主的系統環境
            1、Windows XP SP3
            2、MS Visual C++ 2008,(對應IDE需要用到Visual的一個批處理文件)
            3、IDE:IBM Rational System Tester 3.3
            1,2兩點就不說啦,IBM這個工具是個商用軟件,分Windows版和Linux版的,相關主頁在此:http://www-01.ibm.com/software/awdtools/ttester/
            3.3版本的還可以使用本地License文件,后續新版本的需要搭建一個局域網的License服務器,稍稍復雜一點。
            使用Tester開發,基本上是 TTCN-3完成測試腳步+C完成下層模塊 的架構,Tester能對TTCN-3進行語法檢查,再將TTCN-3腳步轉成C語言代碼,再對整個項目進行編譯生成可執行文件。
            (lz支持采用正版軟件,雖然我覺得IBM這個工具做得挺不好用的)
            上面是IDE成功安裝后進入看到的界面。比較有幫助的是右下角的Project Samples,里面有大概10個例子,值得看看,依葫蘆畫瓢。
            我們目前從新建項目開始。
            依次選擇File->New->Project->TTCN project,項目名稱HelloWorld,一路Next,選擇默認的項目配置即可
            完成后項目的結構圖如下,分為兩個文件夾,分別是ttcn與c文件


            右鍵HelloWorld.ttw,選擇Settings配置,注意在Build中要添上vsvars32.bat的正確路徑
            接下來在HelloWorld.ttcn文件中加入如下代碼
          module HelloWorld {
          function Hello(){
          log("Hello world !!");
          }
          control{
          //直接打印hello world
          log("Hello world !");
          //通過函數調用打印hello world
          Hello();
          }
          }
            接下來打開t3tri_template.c文件,搜索triSAReset()與 triPAReset()函數, 令函數返回TRI_OK
            然后點擊菜單欄上的分析(小勾),編譯(圓圈里面一個c),Build(兩個下箭頭),執行(感嘆號)
            打印出如下結果
          Running executable...
          "Target\HelloWorld.exe"   -t3rt "+log -v 2 -lrtconf" -t3rt "-confbool t3rt.logging.builtin.pretty_print true"
          Establishing connection with Test Management...
          Connected to Test Management.
          Telelogic Tester test suite started.
          Waiting for commands ...
          HelloWorld.ttcn (6): [CPC] scope_entered: control
          HelloWorld.ttcn (8): [CPC] ttcn3_message: LOG Hello world !
          HelloWorld.ttcn (11): [CPC] function_call: Hello() return <undefined>
          HelloWorld.ttcn (2): [CPC] scope_entered: Hello() return <undefined>
          HelloWorld.ttcn (3): [CPC] ttcn3_message: LOG Hello world !!
          HelloWorld.ttcn (3): [CPC] scope_left: Hello() return <undefined>
          HelloWorld.ttcn (11): [CPC] scope_left: control
          [final] MESSAGE   Test case summary:
          [final] MESSAGE
          [final] MESSAGE   none          0 (0%)
          [final] MESSAGE   pass          0 (0%)
          [final] MESSAGE   inconc        0 (0%)
          [final] MESSAGE   fail          0 (0%)
          [final] MESSAGE   error         0 (0%)
          [final] MESSAGE
          [final] MESSAGE   total         0
            HelloWorld程序分析:
            上面就是在IBM工具中完成首個TTCN-3項目的流程,這個HelloWorld與其它語言比較起來還是略復雜的,但是從這個例子里面我們可以看出下面幾點:
            1、TTCN的語言特性,module,模塊是TTCN3中范圍最大的單元(其他的都需要包含在Module中).
            一個Module包含兩個部分:Module定義和Module控制,這兩個部分都是可選的,也就是說一個Module中可以是空的,沒有任何東西
            2、適配文件,例如本例子里面的兩個c文件,光有TTCN-3代碼是跑不起來的,需要將TTCN-3與下層代碼聯和編譯才能執行
            3、結果打印:終端把一步一步的執行結果都打印出來了,最后還有測試的總結,TTCN系統是為測試而準備的。
          相關文章:

          posted on 2013-12-04 11:11 順其自然EVO 閱讀(602) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2013年12月>
          24252627282930
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 温州市| 新乡县| 家居| 禹城市| 剑河县| 太保市| 小金县| 南康市| 龙山县| 海淀区| 赞皇县| 湟中县| 静海县| 客服| 微博| 凤山县| 永寿县| 湟中县| 马山县| 周口市| 嫩江县| 乌海市| 富蕴县| 高要市| 赣榆县| 江口县| 宁南县| 惠安县| 修文县| 佳木斯市| 左贡县| 旌德县| 阆中市| 鸡东县| 商城县| 临汾市| 友谊县| 乳山市| 宝兴县| 白朗县| 山阳县|