Feb. 27 11:30~13:35
前幾天回實驗室跟學弟討論他的碩士論文,學弟已經事先針對他所準備做的題目寫了一個problem statement(一個段落的句子,用來描述論文所要解決的是什麼問題)。針對碩士論文要研究的問題寫一段problem statement是實驗室行之有年的方法,Teddy當場把學弟寫的problem statement讀了一次,第一個反應是:
怎麼沒有這個問題的context diagram(描述問題發生點的地形地物)?
學弟:ㄟ,沒有畫。
好,沒畫context diagram沒關係,Teddy在仔細把problem statement多讀幾次並當面討論之後,還是不太了解學弟要解決的問題,以及他所提出的解決方案。此時Teddy突然想到之前在上「Design Patterns這樣學就會了:入門實作班」的時候,Teddy有教學員們用pattern(模式)來做為問題分析與思考工具的方法,於是Teddy當場幫Teddy的研究題目用pattern的格式寫出第一個版本的描述:
版本一
Problem:如何確認一個Web應用系統在不同作業系統、不同瀏覽器中的行為是一致的?
Solution:提供一個快速建置測試環境的方法?
***
Teddy:請問這是你的碩士論文所要解決的問題以及你提出的解決方法嗎?
學弟:好像是…嗎。
Teddy:可是上面這個solution和problem感覺對應不起來耶。提供一個快速建置環境的方法,並無法確認Web應用系統在跨平台環境下行為的一致性。要確認行為的一致性,至少應該要透過執行驗收測試來確認。
學弟:對啊。
Teddy:那你提供的方法有包含撰寫驗收測試這一塊嗎?
學弟:沒有耶。
Teddy:所以上面個problem-solution應該要加以修正,可能是problem寫錯了、solution寫錯了、或是兩者都錯。
Teddy:所以你想要解決的問題到底是什麼呢?
版本二
Context:由於網際網路與雲端計算的發達,許多商業與企業應用系統逐漸朝向Web應用發展。Web應用系統執行與瀏覽器之上,理論上只要瀏覽器支援WWW各種標準,便可達到跨平台的目的。但實際上各個瀏覽器對於WWW各種標準的支援程度並不相同,因此經常發生相同Web應用系統在不同瀏覽器上有著不同的行為,甚至造成功能錯誤。
因此,在產品釋出之前,Web應用系統應該在其所支援的所有跨平台環境中逐一測試。但要在不同的平台建置Web應用系統驗收測試環境經常需要耗費不少的人力,在時程緊迫之下,降低開發團隊落實跨平台驗收測試的動機。
Problem:如何快速建置一個跨平台Web應用系統的驗收測試環境?
Solution:(ToDo)
***
Teddy:把版本一的problem稍微改一下變成版本二的context,這個版本的problem是不是你要解決的問題?
學弟:對耶。
Teddy:所以你沒有要談如何撰寫驗收測試?
學弟:對,我假設驗收測試已經存在了,我要討論的問題是如何快速部屬跨平台驗收測試的環境,讓這些驗收測試可以在不同平台中順利執行。
Teddy:OK,那solution的部分就是你碩士論文要完成的工作。
學弟:我還有一個問題,如果我要限定驗收測試是採用RobotFramework撰寫,那件事要寫在Force嗎?
Teddy:目前看來,寫在Force或是Context應該都可以。等你的solution比較成形之後,我們再來看看要擺哪裡比較好。
***
友藏內心獨白:養成習慣之後,用pattern格式分析問題還蠻好用的。
沒有留言:
張貼留言