精華區beta CSSE 關於我們 聯絡資訊
※ 引述《qrtt1 (愚人)》之銘言: : ※ 引述《H45 (!H45)》之銘言: : : 功能,針對不同的需求與功能先設計好每個測試案例 (test case), 如此一來,在開發整 : : 個系統的時候,就只要對每個 test case 負責就好了,只要通過每個 test case 的測試 : : ,大概就可以說軟體已經開發完畢了? : : 請問這樣有答對嗎? : test case 裡面可以沒有 assert 那就全過拉 :P : 所以通常會搭配 coverage 一起看 最近我們有在k Model-based testing的書耶,因為我們接的計畫和它有關, 看到版上有人在討論,想來發表一下目前看的心得。 我是看一本叫Practical Model-based testing的原文書,裡面介紹了很多的 方法與工具,而會想做model-based testing的原因是希望能夠在還未進行 coding時,就能先測試問題出來,所以應該是在PIM層次做測試,但是礙於沒有 試用版的軟體可以跑,所以目前只是紙上談兵,書上內容介紹的流程如下: 1.需求文件的分析 註:SUT-->system under test 2.產生所需的use cases 3.根據2.產生class diagram,並選定主要的測試類別,以stereotype<<SUT>>標示, 並以stereotype<<events>>標示主要的public operation,此class diagram會比 實際系統的class diagram要精簡 4.針對SUT的class轉成UML state machine,並輔以OCL來表達,然後使用LEIRIOS的 LTG/UML工具將state machine作為輸入,以致output能產生出test cases 5.設定一個測試的initial state,因此會產生出一個object diagram,(這個物件圖 不知是不是由工具所產生,還是由人工去從類別圖instantiate出來??),接下來 再設定transition-based coverage criteria以及data-based coverage criteria 等等,最後會產生出一組test cases 6.將所產生的test cases轉換成executable test scripts,書上介紹三種方法, adaptation、transformation、mixed(結合前面兩種),而這裡書上主要是介紹 ruby on rails,也就是可以產生出ruby test scripts並執行測試,此外,在書中 的個案研究中,作者有使用另一套叫expect test tool去做轉換,轉出來好像是 叫Tcl的script,(在此我不知是否LTG/UML這套tool都有支援??) 以上大概是目前我看的內容,其實作者還有探討其它的分析方法及表達法,只是那 些東東我們不會採用,所以有些內容就skip掉了,不知版上有沒有人目前正在研究 這一塊的,可以提出來一起討論~~ -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.178.141