中國網(wǎng)通趙軍(譯)
泰坦尼克的設(shè)計(jì)者有許多設(shè)計(jì)選擇并遵循一項(xiàng)戰(zhàn)略就是要集所有最新的和超前安全技術(shù)提供最高等級的安全性。然而,由于他們迫于商業(yè)壓力,泰坦尼克的設(shè)計(jì)者開始在安全裝置上做出妥協(xié)。這些壓力明顯地來自企圖為最終乘客(頭等艙)創(chuàng)造一流體驗(yàn)的白星公司老板Bruceismay。例如:四個(gè)防水壁吃水線以上部分只有10英尺而并沒有到達(dá)頂甲板,目的是騰出一個(gè)200尺寬敞的舞廳。(參看第三部分)。
到了測試階段的計(jì)劃開始制訂時(shí),泰坦尼克是不可征服的觀念一直存在于白星工作人員當(dāng)中。事實(shí)上,這個(gè)觀念也作為泰坦尼克市場推廣的一部分被積極地使用。由于泰坦尼克即將完成,在交付白星公司之前,harland和wolff(造船專家)為泰坦尼克制訂了測試計(jì)劃。雙方都必須確定泰坦尼克滿足合同規(guī)定的條件和需求。測驗(yàn)給造船專家一個(gè)機(jī)會(huì),可以做出任何必要的調(diào)整和避免財(cái)政罰款的風(fēng)險(xiǎn)或遭受送回船廠的更壞命運(yùn)。
同樣,IT解決方案也應(yīng)該總是滿足合同義務(wù),這些合同義務(wù)的滿足必須依賴于項(xiàng)目早期建立的服務(wù)等級目標(biāo)。商業(yè)實(shí)際根據(jù)公司能夠容忍的底線為基礎(chǔ)確定解決方案的價(jià)格和服務(wù)水準(zhǔn)要求(參看第二部分)。測試應(yīng)該能夠評估IT解決方案是怎樣良好地滿足服務(wù)水平情況以及識(shí)別其中任何缺陷。
制訂計(jì)劃一般來說包含測試計(jì)劃的略述。例如,泰坦尼克毫無疑問進(jìn)行了適航能力的操作測試,穩(wěn)定性的檢查、重量和負(fù)載細(xì)節(jié)等條目的仔細(xì)評定。其中有一項(xiàng)測試是用一個(gè)簡單的傾斜試驗(yàn),檢查船的重量和重心的傾斜測試。它還提供一項(xiàng)統(tǒng)計(jì)檢查。其他的測試包括迎水面碼頭邊試驗(yàn),主要目的是對主機(jī)和輔助機(jī)械裝置的初步測試。勻速試驗(yàn)通常對滿足合同條款來說是必需的,即在斜度和總載重量的特定條件下,完成對某一速度的調(diào)整。
同樣,IT項(xiàng)目必須為IT解決方案制訂整體計(jì)劃測試,并且所做的測試必須對功能和無功能需求都應(yīng)該有效。然而,重點(diǎn)將應(yīng)放在具有難以置信地重要等級的無功能需求上,因?yàn)樗麄兇_定一個(gè)系統(tǒng)可使用的特征。測試必須是"動(dòng)態(tài)"的并建立在較為早期的"靜態(tài)"測試或"走查"(walkthoughs)之上。
許多IT項(xiàng)目雖然在單位級別上功能測試的進(jìn)行地很有效,但是卻沒能在宏觀上進(jìn)行測試。這種情況的發(fā)生在一定程度上是由于模擬服務(wù)交付環(huán)境的感知成本是唯一的,導(dǎo)致只有局部測試不斷被完成,而整體測試卻沒有進(jìn)行。這種做法降低了成功發(fā)布的置信度。許多公司事實(shí)上開始啟動(dòng)IT解決方案的時(shí)候,報(bào)著要為用戶或客戶解決一切問題的初衷。這是一種極端危險(xiǎn)的方法,有可能是商業(yè)陷入非常危險(xiǎn)的嚴(yán)重狀態(tài)。
在泰坦尼克的故事中,當(dāng)泰坦尼克計(jì)劃制訂和檢驗(yàn)階段進(jìn)行妥協(xié)時(shí),同型船奧林匹克在泰坦尼克項(xiàng)目進(jìn)行中扮演了一個(gè)及其重要的角色。泰坦尼克是1911年6月投入使用的奧林匹克號的一個(gè)翻版。白星公司認(rèn)為奧林匹克的航行記錄足夠用于幾乎相同的同型船,泰坦尼克可以不經(jīng)過多方面的海上試航就可以直接開始服務(wù)。航行記錄把泰坦尼克已經(jīng)完全準(zhǔn)備好了的觀念印入了船主們頭腦中。然而,兩艘船可以進(jìn)行用了進(jìn)行比較的只有機(jī)械構(gòu)造,而沒有著眼于船員(人)或方法(過程)的準(zhǔn)備。
過于依賴先前類似的實(shí)現(xiàn)方法、對事件風(fēng)險(xiǎn)和次要事件估計(jì)不足會(huì)使一個(gè)即將發(fā)生的技術(shù)風(fēng)險(xiǎn)啟動(dòng),種種情況的發(fā)生都會(huì)導(dǎo)致IT項(xiàng)目可能出現(xiàn)相似的錯(cuò)誤。 根據(jù)對測試目標(biāo)和整體戰(zhàn)略評估,確定所需的測試,測試目的。
以上述方法為基礎(chǔ)進(jìn)行的大量測試應(yīng)該包括受力狀態(tài),性能,逆行,可靠性和運(yùn)行測試。這需要為每一個(gè)測試目標(biāo)分別制訂測試案例:什么將被測試、它是如何被測試的、需要什么樣數(shù)據(jù)、期望結(jié)果和結(jié)果。最重要的是,這些都是在測試解決方案可用性。另外,制訂計(jì)劃應(yīng)該確定測試是在什么環(huán)境下,由誰怎樣執(zhí)行的,才能確保其客觀性。例如:開發(fā)團(tuán)體永遠(yuǎn)不應(yīng)該自己測試自己的成果;測試工作應(yīng)該具有自己獨(dú)立的團(tuán)體。
奧林匹克的航行記錄并不完美的,有發(fā)生了一些嚴(yán)重事件。第一件事就是,奧林匹克號被12個(gè)托船牽引到北河,調(diào)度到第59號碼頭下錨。牽引船Hallenbeck號位于遠(yuǎn)洋班輪的船尾,那時(shí)奧林匹克的右舷螺旋槳突然倒轉(zhuǎn)將Hallenbeck號卷了進(jìn)去,切斷它的船尾、舵和轉(zhuǎn)輪艙道口。
第二件事發(fā)生在奧林匹克號第六次出航開始階段即將駛出索倫特海峽時(shí)。當(dāng)時(shí)奧林匹克號以15節(jié)的速度與皇家海軍HMSHawke號巡洋艦在一個(gè)狹小航道相隔200碼并行行駛,突然Hawke號強(qiáng)行朝著奧林匹克轉(zhuǎn)變方向,與奧林匹克號正面發(fā)生碰撞并穿透了奧林匹克號的外殼。破壞是相當(dāng)大:一個(gè)三角形的破洞,大小為15尺高,10尺寬和10尺深。兩個(gè)最大的不透水艙飛快地被灌滿水,因此所有的防水門都關(guān)閉了。但是即使任何兩個(gè)隔水間朝大海打開,船也不會(huì)沉沒的。難以置信地是,沒有人受傷害。這是因?yàn)槌丝驮陲垙d吃午餐,所以被切開的二等艙當(dāng)時(shí)是空的。并且Hawke號配備了一個(gè)船頭沖角用來緩沖碰撞和減輕破壞。
IT項(xiàng)目必須謹(jǐn)慎地關(guān)注先前項(xiàng)目的"航行記錄",它們執(zhí)行過程的成功事例有助于確定需要學(xué)習(xí)的教訓(xùn),并且理解其中一些風(fēng)險(xiǎn)。對奧林匹克來說,明顯全體人員都被詢問過究竟是巨大的尺寸還是新的造船技術(shù)的船導(dǎo)致那些事件發(fā)生。
與Hawke號碰撞之后,奧林匹克卸下了1,300名乘客,在貝爾法斯特旱船塢停止服務(wù)了六周更換鋼板。在事故調(diào)查中,皇家海軍專家把責(zé)任歸結(jié)于比Hawke號重8倍的奧林匹克施加的強(qiáng)大吸力上,也就是通常所說的伯努利法則。這個(gè)事故值得注意,因?yàn)樘┨鼓峥嗽?912年離開南安普敦的時(shí)候,幾乎就要發(fā)生一次碰撞。更值得注意的是船長Smith,大副Murdoch和二副Lightoller都是這兩次航行中成員。事實(shí)上,白星晉升船長Smith來指揮艦隊(duì)的旗艦顯示了一種自信。Hawke事故一直在船長Smith心頭縈繞,然而,他不斷聲辯自己是清白的,是Hawke號撞了奧林匹克號,因此碰撞是Hawke號船長的錯(cuò)。
IT項(xiàng)目應(yīng)該按照使用規(guī)范和有關(guān)設(shè)置,嚴(yán)格地調(diào)查先前的解決方案是如何完成的(正常運(yùn)轉(zhuǎn))和它們的操作。任何一種故障或異常必須通過事后檢查嚴(yán)格地調(diào)查,并作為制訂計(jì)劃的輸入項(xiàng)。
結(jié)論
今天許多IT項(xiàng)目沒有為測試充分地制訂計(jì)劃,未能防止在解決方案中的嚴(yán)重妥協(xié)轉(zhuǎn)換成產(chǎn)品。這與泰坦尼克的失敗非常相似,由于輕信奧林匹克的經(jīng)驗(yàn),白星公司認(rèn)為泰坦尼克的初次航行具有最低限度的風(fēng)險(xiǎn)。畢竟這兩艘船幾乎一模一樣,并且船的所有者和全體人員對泰坦尼克滿懷信心。然而,沒有兩艘船具有同樣的操縱特性。白星為無計(jì)劃的測試下了一個(gè)大賭注,而且橫渡大西洋的泰坦尼克號上船員的人數(shù)也不足定額。當(dāng)泰坦尼克進(jìn)入到下一次階段的時(shí)候,人們在觀念并沒有多少改變,仍然堅(jiān)信船是永遠(yuǎn)不會(huì)沉沒。
下一部分將講述IT項(xiàng)目的測試。
【?發(fā)表評論?0條?】