2009年5月12日 星期二

V09 自動補齊註解(4)──Method使用關聯與判斷內容

在處理Method流程的同時,我們可以拿到Method裡每一行敍述所操作的方法,收集每一個方法內所呼叫的全部方法(不管是元件內部或是其它的Component Interface Method),就能夠再作進一步的分析使用。

對一個Method而言,解析過裡頭的程式碼同時收集所有呼叫方法意義是:該Method所使用的全部Method有精確的範圍。再進一步地分析,方法有無論如何都會執到、提供條件敍述判斷用、滿足特定條件判斷才會執行到的三種類型,第一種表示的是百分之百都會用到的動作(include)、第二種表示的是造成處理流程分歧的判斷(decision)、第三種表示的是前述判斷條件成立後才會執行到的動作(exclude)。

方法使用關聯的應用意義在於追溯,從Use Case Method往下看是完成所必須具備的全部Method,從指定Method往上看則是找出每一層直接或間接使用它的關係;關聯的層級也可以從Method可以推展到Class。以此為基礎產生出來的就會是各個層級裡所有Class(或Method)的水平追溯與垂直追溯,在Class層級等於Use Case層級時,拿到的是Use Case的水平追溯與垂直追溯。

在條件敍述裡判斷的方法可以被另外區分出來,涵蓋所有條件分歧路線與所有條件值的測試才會是完整的。經過這一層的處理,應該還可以產出所有影響分歧條件的Method清單並同時收集每個條件Method本身全部的可能傳回值,撰寫Test Case時可以快速參考所有可能的變化加以設計測試。

使用與判斷的資訊我認為放在Method的Java Doc比較符合其存在的位置意義,經由處理程式自動產生,並在日後每次執行的時候自動修改這個部分的內容。

沒有留言:

張貼留言