Ruddy Lee 分享空間

Emergent Design 演化設計

Archive for 十二月 2010

談軟體的測試模式 Testing Software Patterns

leave a comment »

何謂『模式』?

第一次出現是一個事件,
第二次發生是巧合,
第三次的發生便可能是一種模式。

模式;讓我們繼承前人的經驗累積,能夠更快速的解決所面對的問題。
(從定義上不難想像很多很多東西都可以有模式可以依循,在一般的測試運用上,有二種測試模式常常會讓人們搞混了,一種是程式員在做 Unittest時可以運用的模式技巧,這在 Gerard Meszaros的xUnit Test Patterns Refactoring Test Code 這本暢銷書裡有著絕佳的說明, 而這裡我們所謂的模式pattern, 所指的則是設計測試架構時所採用的東西,因為很少人會談到它所以才想在這裡題一下。)

測試模式的目的,是讓所有的測試人員都成為擁有豐富經驗的軟體測試師,能夠在第一眼看到軟體的狀態時,很快就能決定運用那一個方法,從哪裡開始下手測試的工作,像一個老手一般的做好開始測試的準備工作。

從哪裡開始呢?  測試清單 CheckLists
有一點像TDD測試開發法,如果沒有要寫的功能的 BreakDown listing, 那就不知道要從那裡開始了。所以一定要有CheckLists.

尤其在沒有採用任何測試工具下所進行的測試動作,最能捕捉產品測試的經驗的便是測試清單了,它記載著設計思維的過程,累積了明確的思路提供以後重用的時機或便利其他測試工程參考時能夠採用的部分。在許多情況下,我們經常在重複這些動作,例如: 欄位的長度檢核、屬性檢核、是否為 Null 或是邊界問題的極大值測試,這幾種測試其實都應該內含在撰寫開發文件時就可以明確地寫清楚測試的情境及輸入的數值大小,所以在測試清單上一定要有著良好的分類,分類是這份測試清單被重複參考的最佳基礎了。當然;每個分類所能涵蓋的問題多寡也是它被重視的指標。

糟糕! 好像可以寫很多很多東西,趕緊在這裡打住,不談廢話了,列幾個範例做結語吧! 有一篇好文章可以參考: http://msdn.microsoft.com/en-us/library/cc514239.aspx#CommonTestPatterns_topic10

範例:
屬性類型驗證模式 Data-Type Validation Pattern
1. 確定欄位的屬性特徵。在抽象的層面上,這不應該局限於簡單的數據類型,而應該包括常見的業務數據類型(例如: 電話號碼、地址、郵政編碼、日曆日期…等)。
2. 加入與這個類型相關的一般業務規則。
3. 分區塊和定義邊界值來針對每個業務規則做測試。
4. 針對每個類別Class來撰寫測試案例的設計測試值。

輸入邊界劃分模式 Input Boundary Partition Pattern
1. 一個一個陳列出來並選擇相對的輸入項目。
2. 選擇一個“有效”相等的區塊。
3. 套用一個對照表或運用隨機產出的值,運用它來做測試。

廣告

Written by ruddyllee

2010 年 12 月 12 日 at 11:19:47

張貼於未分類

Windows Azure Management Portal (配合 SDK 1.3全新改版 Silverlight的 UI)

leave a comment »

下面是老、中、青三代的 Portal 長像,提供給大家在看文章時的對照。

第一代 ( SDK 1.0)             第二代(SDK 1.2)                             第三代(SDK 1.3)

這是11/30 清晨Windows Azure Management Portal正式推出的新開發者介面,不要驚訝;這個時候我剛好降落在北京國際機場準備參加TechEd大會,機長的廣播是這樣子的:

我們已經安全降落在北京國際機場,現在機外的溫度是攝氏1度…

台北出發時是21度,剛好差22度…真過癮! 但內心卻急著到飯店去,開始把所有的演講資料改成Windows Azure SDK 1.3版當然還有全新的 Silverlight 畫面,內心的急切也會讓人暫時忘記室外的寒冷(這是真的,我一直到飯店才穿起外套),但隨後大家都知道這台擁有我通宵改完的新資料的筆電,明早就會被扒走的(事後寫來輕鬆,但內心仍然隱隱作痛),因此改上課新資料的動作,我整整做了二次,本來想把已經寫好的『漫長的24小時』文章po上來,但何必自怨自哀呢! 還不如來介紹一下程式人員必須面對的全新的Windows Azure Management Portal。

第三代(SDK 1.3) Silverlight 的加入讓畫面變得精采多了,Ribbon的加入讓點選作業多出了允許或不允許的功能邏輯選項(真是智慧多了),而且狀態列也隨時顯示了運用Ajax 似的更新動作,畫面並不會整個更新,只有資料會自動更新(狀態列還有更新的計時…cool),真是賞心悅目得多了。 在使用這個新介面時,有幾個感想;提供大家做參考:

1. 這是beta 版,還待測試,畫面上中間的TreeView 元件,常有整個空白的機會,不用擔心,想辦法Refresh 一下資料,它就回來了。

2. 左下角這一塊Home的區塊,是整體項目的大項功能區塊,包含Hosted Services,Storage Accounts & CDN、Database、Reporting 等選項的資料區塊,它會為你的資料量做好cashing的動作,因此當你第一次來到這個畫面時,通常它需要下載你的相關資料下來,所以可能會花費較多的下載更新時間,千萬別急著亂點其它選項,就留給它一點更新的時間吧!(如果一直是空白的,只好退出去重來囉!)

左下角:整體項目的大項功能區塊https://ruddyblog.files.wordpress.com/2010/12/windowsazureui_132.png

3. 左上角就是我們常用的 Hosted services或Storage Accounts 的選項,點選後就能看到TreeView 顯示的全部專案的訊息,畫面提供的資訊真是多到令人眼花撩亂。給我的第一個感覺是,太像台灣的醫生用的『開藥方』顯示畫面了,複雜到幾乎有將近一百個欄位同時顯示在畫面上,第一次看保證你找不到選項。但精彩的是工作狀態以綠色字體即時做更新顯示,改進太多,相當不錯。 左上角: Hosted services或Storage Accounts 的選項https://ruddyblog.files.wordpress.com/2010/12/windowsazureui_133.png

4. 這個新的使用者網站,它可以輕易的讓你執行多工的作業,所以對維護程式而言,效率還真是提升不少。

5. 畫面下方有一個連接寫道: Take me back to the old portal,意思很明顯,如果你不喜歡新的UI,還可按這裡回到老Portal 去工作(但只限用到正式版出來以前喔)。

6. Staging 無法直接轉成Production了, 改成VIP swap 真絕。

想多知道一點SDK 1.3的新功能嗎? 看這裡:
http://blogs.msdn.com/b/windowsazure/archive/2010/11/29/just-released-windows-azure-sdk-1-3-and-the-new-windows-azure-management-portal.aspx

Written by ruddyllee

2010 年 12 月 11 日 at 22:52:36

張貼於未分類