全站文章 iT邦幫忙
iThome Online提供免費電子報,現在就訂,最新IT訊息每日寄達。

iThome 每日新聞報
iThome 產品技術報
加入iThome Online會員,立即使用討論區、Blog等服務。

免費加入會員
登入 / 登出
管理會員帳號
忘記帳號密碼
聯絡客服
訂閱周刊
讀者服務
13' E政府專刊no.7(48)
13' iTcloud No.3(47)
12' E政府專刊no.6(46)
12' 個資法專刊No2(45)
12' iTcloud No.2(44)
12' e政府專刊No.5(43)
12' 個資法專刊(42)
11' CIO專刊(41)
11' e教育專刊No.3 (40)
11' e政府專刊No.4 (39)
11'iTcloud專刊(38)
10' e教育專刊No.2 (37)
10'e政府專刊No.3 (36)
09'e政府專刊No.2 (35)
09'e教育專刊(34)
09'e政府專刊(33)
08'企業資安專刊-端點安全防護(32)
08'企業採購情報誌(31)
07'資訊安全技術應用專刊(30)
07' 新世代資料中心專刊(29)
07'企業資安技術應用專刊(28)
企業採購情報誌'06冬季號(27)
與軟體測試專家對談
文/iThome (記者) 2011-12-23
分享到facebook
透過IBM、微軟等企業的軟體測試專家分享其工作經驗,一窺Sametime、Windows Media Player等軟體專案開發測試的甘苦談


贏在測試
軟體測試專家之道

蔡為東/編著
松崗出版
售價:420元
IBM測試經理陳雅麗
在IBM測試經理陳雅麗的測試管理理念中,標準和流程處於重要的位置。標準和流程定義,也是測試工作的重要基石。測試是個集體性的工作,不但需要多方的支援,而且測試組內要協調一致,如果出現混亂對測試來說是個致命的打擊。

陳雅麗說,一件事情,既然要做,就要盡自己的所能,從這裡你就可以想像得出她在工作中的嚴格。而據我瞭解,她在換產品組的時候,有她原來的下屬員工申請去她的新組,可見她的魅力。


Sametime的測試專案經歷
蔡為東(作者,以下簡稱蔡):請和我們分享一下你印象深刻的專案。

IBM測試經理陳雅麗(對談者,以下簡稱陳):我做Sametime 時間長, 讓我印象深刻的專案也來自於它。Sametime 現在仍然在做版本的升級開發,產品壽命時間很長。你知道,對於一個軟體產品來說,在這麼激烈的競爭環境下,有10 年的壽命就很不容易,這就相當於人的長壽了。當初Sametime 是Lotus 買的另外一個公司的產品(後Lotus 又被IBM 收購),是關於聊天和會議的整合式軟體,在同類產品中是很先進的,因為它提供了線上溝通和會議並行的解決方案。

產品從Domino遷移到WebSphere
陳:2005 年,Sametime 做了一個很大的底層改進,從基於Domino 服務遷移到基於WebSphere server。這是一個很大的變化,相當於要做一個全新的產品。那麼,對於測試初期來說,最困難的工作是把測試環境建立起來。不然的話,測試沒法進行。在建立基於WebSphere 的測試環境的時候,我們遇到了難題,因為產品的品質和我們的技術能力的原因我們怎麼也作不起來。

怎麼辦?專案的進度是有要求的。我們當時把人分成兩組,一組人白天工作,一組人晚上工作。美國方面,一個QE 協助我們,幫助我們和美國的開發人員交流。但是,兩周的時間過去了,這個Deployment(部署)的難題還是沒有解決。

後來,終於有一個人率先把環境建立起來了。我們回過頭去分析,是什麼原因讓我們這麼長的時間沒有把環境建立起來呢?除了產品的不穩定和新技術的缺乏,我們還有自身的原因。當時我們有一個Setup 文件,裡面有詳細的步驟,工程師要去一步一步地去Follow,更重要的是要理解做每個步驟的目的。我舉個例子,有的步驟要求在host file 中去設置hostname,但是要保留空值,有很多的人看到這一步的時候都會憑自己的經驗去做一個判斷,然後按照習慣新增上主機名稱。這個小小的舉動,導致了全域的失敗。所以,第一個把環境建立出來的人,是一個優秀的測試工程師,他沒有被自己的經驗所誤導,而是理解為什麼要這樣做。他首先明白自己為何要這樣做,而不是簡單的照搬。

測試要根據實際情況做相應的調整
蔡:在這個Project 當中,你有什麼體會和經驗的總結?

陳:前面我提到了,這個專案中Sametime 做了一個底層的改變,並且是很大的變化,所以在某種程度上成為了一個新的專案。那麼,對於新專案,測試工作就要做相應的調整,去做配合。

對於成熟的產品,測試案例可以是那種大Scenario的,就是一個案例包括了很多步驟,相當於把代表客戶的使用場景走一遍。這種辦法拿到新專案來不行,因為專案在有了很大的變化之後,Bug 就會多一些,這樣你的Scenario 案例可能就會全部失效。在測試報告中,全部失敗既給開發方面施加了很大的壓力,也沒有表現出實際的專案進展,開發肯定會有所進展的,怎麼會一點進展都沒有呢?所以,對於新的專案,測試案例要細分到更小的功能點,這樣測試的結果中就有成功的,也有失敗的,這才是真實的研發進度。也能幫助開發人員瞭解他們的開發品質。

更重要的是合作
陳:另外,我們知道,測試是前後連貫的,有的時候測試案例前後有依賴性,一個失敗了,後面可能就全部被Block 住了。

蔡:對,這種情況下有的測試經理會偷偷笑,反正責任在開發方,就發一個報告出去,表示測試無法繼續,然後就等著。

陳:這樣有點像踢皮球,測試完全把事情推回給開發方。是不是真的沒有辦法繼續測試?測試方應當去找找Workaround,因為可能會有辦法繞過這一塊,從而讓測試繼續進行。在產品研發中,重要的是合作。我們隨時都要想到,怎麼才能推動專案的進展,而不是互相推脫或抱怨。

測試方如果在開發遇到問題的時候,旁觀等待,這樣會造成研發團隊內部的不和諧,也會影響工作的效率。我們去幫助開發,其實也是在幫助自己。你想,如果開發方延遲了交付,到最後一周才把可以測試的Build 做出來,測試的風險是很高的。

在這個專案上,我同樣感受到交流的重要性,在做軟體測試的專案中要多做有效的交流。

Sametime的Client端從C++到Eclipse的測試專案經歷
蔡:還有沒有印象深刻的專案?您這邊的經驗是非常寶貴的,我及讀者朋友都願意知道更多。

陳:好。這個專案同樣來自Sametime。具體時間我一下子說不準,那次是Sametime 的Client 端發生了很大的變化,從用C++ 程式設計移植到用Eclipse。另外,也新增了一百多個新功能。

新的開發工具加上新功能,這個專案的前期不大穩定。有的功能不穩定,有的功能甚至在不同的Build 裡時有時無,就是說這個Build 有,那個Build 沒有。

蔡:這對測試是個很大的挑戰啊,測試總是期盼一種穩定的狀態。

不要把時間浪費在等待上
陳:對,測試人員也感到很迷惑,這怎麼測試,因為沒有一個設計文件或需求文件可以參考?感覺沒有辦法開始做。測試專案天生就有些被動,在這種情況下,怎麼去進行控制?這是個問題。但測試肯定不能等,於是我去提醒team leader,無論如何不要等。等待的風險是很高的。

首先,我們主動和美國的開發人員交流,讓他們瞭解我們測試的困惑,希望能得到一個相對完整的功能列表。然後做測試,把發現的Bug 儘早交付上去。因為這些問題也是一個回饋,專案管理人員會根據這些回饋,而對專案計畫做一些相應的調整和修改。管理層可以根據當前測試的狀態,決定新功能的刪減,並評估專案計畫和時間。

有了問題,如果我們解決不了,一定要回饋到上一級。

另外,如果測試等待,等到Build 穩定了才進入,這樣開發方也會抱怨的,因為開發方Fix Bug 的時間少了。

測試工程師要盡全力去做好測試
蔡:在這個專案上你有什麼體會嗎?

陳:首先把工作當做你自己的事情,所以你就會更主動去解決問題。其次,我覺得,無論測試專案的大小,作為測試工程師的我們都一定要認真對待。透過你的手,讓軟體產品的品質有保障。設想一下,如果你能考100 分,但是實際只是得到了90 分,你會覺得冤的。測試是很重要的,對於一個軟體來說,軟體發佈了以後,再修改Bug 的成本是很高的,如你要做Patch,做測試,等等,成本高。當然,在實際的工作中,特別是在中小軟體公司,可能還是有一些朋友不大能理解測試的重要性。

推薦的測試管理方法
蔡:一個測試專案要開展,你有沒有麼推薦的流程或者方法?

陳:流程來說可能公司各有差異,我就說幾點管理方法。

關鍵字:及早介入
第一,測試人員可以及早地Involve(介入)到專案中。如果你在開發後期才進入,直接到了執行階段,就沒有時間去Training,去準備了。

當然,一個組一下子全過去不行,成本太高了。可以先讓幾個技術強一些的人進去,為小組做準備,對專案有一個全方位的理解。這種鋪墊會有利於制訂更合理的測試計畫,並瞭解開發每個階段的工作重點。

關鍵字:團隊建設
第二,Team Setup 也很重要。一個新的測試團隊建立之初,組員之間互相不大瞭解, 這個時候應當擬定一個完整的計畫書, 讓TeamMember 增進瞭解。

有的組員會做一天和尚撞一天鐘,只知道今天做什麼,不知道明天做什麼,這是管理上存在的問題,所以要加強專案的團隊建設,讓每個人都清楚專案的計畫和目標。

關鍵字:讓更多人參與
第三,做測試計畫的時候,可以讓更多的人參與進來,讓大家都有所貢獻,並對測試計畫有一個瞭解。

關鍵字:開好例會
第四,開好例會。每個小組每週都會有例會,泛泛而談Status 也會讓人感到枯燥,因此不要讓你的員工只帶“耳朵”來開會,要讓他們帶著問題來開會。我們要想辦法去改變會議的形式,關注效率和意義。

你要考慮到你要得到什麼,Team Member 他們能得到什麼。如果只是浪費時間地例行公事,不如去Run Case。有的老闆(註:外商中團隊負責人也被稱為老闆)能把大家調動得很好,那就是懂得了其中的技巧和藝術。

關鍵字:調節
第五,測試是重複的,枯燥的,團隊的主管要不定期地調節一下團隊的氣氛,讓團隊保持活力。另外,Leader 和Manager 保持團隊的士氣是很重要的。

關鍵字:做好總結
第六,做好總結。做了一個專案之後,我們拿出一點時間來,把經驗總結出來,這對於下一個專案很有好處。所以,即使是時間緊,也要拿時間出來進行總結。


1 / 2 下一頁

分享到facebook

2014資安趨勢研討會
更多研討會
▼ ADVERTISEMENT ▼
▲ ADVERTISEMENT ▲

電週文化事業版權所有、轉載必究 •Copyright © iThome | 刊登廣告授權服務服務信箱隱私權聲明與會員使用條款關於iThome