※ 引述《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