從《鋼鐵俠2》看軟體測試的重要性

2022-03-23 18:22:43 字數 1211 閱讀 9561

作為程式設計師的我,昨晚看完鋼鐵俠2,一路回來是感嘆頗多。印象最深的還是片尾處,反派被擊倒後,開始了自爆程式,然而此自爆程式的倒計時部分卻存在明顯的bug,導致主角不但成功逃走甚至還有時間營救幾公里開外的女友。更可恨的是,主角不但成功避開自爆,而且還和女友在樓頂邊啃嘴邊看自爆產生的烟花。這對對手是多大的打擊啊……

作為反派的軟體工程師,

他在程式設計能力上不可謂不強,片中他能在很短的時間內破解「hammer」公司的系統密碼,從而登入系統可作為例證;

他在動手能力方面也非常強,片中他能在條件極其有限的情況下,製作出將正在比賽的賽車劈成兩半的「神鞭」;

他在個人體力方面那不是一般的強,軟體工程師通常是手無縛雞之力,片中的他卻能徒手將兩個看守他的彪形大漢打倒,並懸吊在屋頂上,充分證明了他的體力的出眾,再加上他那滿是滄桑的臉龐,乙個極具男人味的粗獷型軟體工程師呼之欲出;

更難能可貴的是,他在系統的擴充套件性和思想的前瞻性方面以及風險預估和規避方面,做得也很強,片中,他在「鋼鐵戰鬥系統神鞭1.0版」的基礎上擴充套件出了「鋼鐵戰鬥系統無人版」,而且他預見性的知道無人版的戰鬥系統是無法傷害主角的,於是他又給自己公升級開發了「鋼鐵戰鬥系統神鞭2.0版」,甚至他也預見了2.0版的戰鬥系統還是打不過主角,於是他準備了「鋼鐵戰鬥系統自爆外掛程式」。可見,他做為乙個軟體工程師,對整個工程的掌控是多麼的完善。

可是最終,他還是沒能贏過主角。為什麼?

因為,自始至終反派的軟體工程師沒有對他的產品進行測試,原因可能是「hammer」公司的老總對他限制太多,導致了他沒法測試,其二,他自己也過於自信,或者有點受粗獷型性格的影響,忽視了測試這一步。

反過頭來我們再看主角,從第一集開始,主角是完全按照軟體工程來開始乙個產品研發了,有立項,有需求,有分析,有研發,最重要的是他有測試。不但有單元測試(第一集中,主角單個測試腳步的飛行控制,單個測試手部的能量發射系統等),還有整合測試(第一集中,將鋼鐵衣整合在一起進行各種飛行測試等),甚至有極端臨界條件的測試(第一集中,飛到極度高空,測試在極度低溫環境下的效能)。而在第二集中,主角為了找到替代能源,更是進行了多次的測試,直至找到後,還在進行穩定性的測試,只是在最後為形式所逼,測試過程沒有完整走完,但基本的測試還是有的。

於是,反派在最後關頭啟動「鋼鐵戰鬥系統自爆外掛程式」,但因為沒有測試倒計時的那個模組,導致主角成功脫逃,自己也輸了這場鬥爭。

由此可見,測試對於乙個軟體專案來說,是多麼重要。沒有測試,沒有詳盡的測試,交付給使用者的系統就是充滿不確定性不穩定性的系統,到最後,回過頭來傷害的還是軟體工程師本人和本團隊。 

軟體測試的重要性

最近接手乙個新的任務 在公司產品的現有基礎上做修補.面臨的主要困難有 1.專案較大,vs的解決方案裡18個專案.雖然我只須維護其中的一兩個專案 3.某些 實現較複雜,如執行緒通訊,wmi等.這些函式的相互依賴,也就是平時說的藕合度高,現在我要將它分離,分到單獨的專案裡.但是這樣又要求我對這些複雜的函...

軟體測試的重要性

最近接手乙個新的任務 在公司產品的現有基礎上做修補.面臨的主要困難有 1.專案較大,vs的解決方案裡18個專案.雖然我只須維護其中的一兩個專案 3.某些 實現較複雜,如執行緒通訊,wmi等.這些函式的相互依賴,也就是平時說的藕合度高,現在我要將它分離,分到單獨的專案裡.但是這樣又要求我對這些複雜的函...

軟體測試的重要性

軟體危機的出現主要表現在 a.由於缺乏大型軟體開發經驗和軟體開發資料積累,開發工作計畫很難制定 b.開發早期需求分析不夠明確,造成開發後期矛盾集中暴露 c.不遵循開發規範,開發文件不完整,軟體難以維護 d.缺乏嚴密有效的軟體質量檢測手段,交付給使用者的軟體質量差。軟體危機的後果 a.軟體質量不高,很...