• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    軟件質量需求不斷提高 小Bug蘊含測試大市場

    發布: 2008-1-25 13:59 | 作者: 崔啟亮 | 來源: 本地化世界網 | 查看: 93次 | 進入軟件測試論壇討論

    領測軟件測試網 軟件中的Bug 是指操作系統或應用軟件程序的錯誤或缺陷。隨著軟件規模的擴大,軟件的復雜程度也不斷提高,軟件Bug 的數量也成比例增加,由此產生的危害日益加劇。

      因此,從某種程度上說,軟件產品的競爭已經不是技術的先進與否,而是軟件的質量是否穩定,是否含有更少的Bug 的競爭。隨著對軟件質量需求的不斷增強,研究軟件Bug 的產生原因,從而有效地發現、修正和預防Bug 成為軟件行業日益重視的課題。

      有一個美麗的傳說

      IT界流傳著關于軟件Bug 的名稱起源的多個版本,其中流傳最廣的是Grace Hopper在計算機的繼電器中發現一只“飛蛾”導致計算機死機的傳說。

      故事發生在1945年9月9日,下午3點。一個炎熱的夏天,房間沒有空調,所有窗戶都敞開散熱。Grace Hopper中尉正領著她的小組構造一個稱為“MARK II”的計算機。這還不是一個完全的電子計算機,它使用了大量的繼電器(一種電子機械裝置)。Hopper的小組日以繼夜地工作,機房是一間第一次世界大戰時建造的老建筑。

      突然,MARK II死機了。技術人員試了很多辦法,最后定位到板子F第70號繼電器出錯。Grace Hopper觀察這個出錯的繼電器,發現一只飛蛾躺在中間,已經被繼電器打死。她小心地用攝子將蛾子夾出來,用透明膠布帖到“事件記錄本”中,并注明“第一個發現蟲子的實例!,然后計算機又恢復了正常。從此以后,人們將計算機錯誤戲稱為蟲子(Bug)或臭蟲,而把找尋錯誤的工作稱為“找臭蟲”(Debug)。Grace Hopper的事件記錄本,連同那個飛蛾,現在陳列在美國歷史博物館中。

      這個流傳最廣的版本,故事的真實性尚有待于進一步考證,但是Bug這一術語本身的簡潔和恰當遠比這個故事深刻。

      Bug 一詞一般用來指代昆蟲以及節肢動物,特別是指一些有害臭蟲。在自然界,它們經常是人類的主要競爭者?茖W家推測,如果人類滅絕,Bug將成為這個星球的主宰生命。據《圣經》所言,上帝降臨埃及將猶太人從奴隸制度中解放出來時,帶來了10種災難。其中3種都是Bug,包括臭名昭著的蚊子、蒼蠅和蝗蟲,這些Bug叮咬我們的肉體,毀壞我們的房屋,吞噬我們的莊稼,并且將很多疾病傳染給我們。

      與自然界的Bug具有特別類似特征的是軟件中的Bug,從人類第一次開發軟件開始,軟件中的Bug一直以極其相似的方式折磨著人們。軟件中的Bug如同自然界的Bug,它們無處不在,幾乎所有的軟件都有Bug。當我們遇到這些Bug時,它們同自然界中的Bug一樣使我們惶惶不安,甚至陷入深深的痛苦之中。

      因此,如同自然界的害蟲帶來對人們的深深傷害一樣,稱軟件的錯誤或缺陷為Bug,已經成為軟件界倍感棘手的老大難問題,這可作為軟件Bug名稱來源的另一個版本。

      都是Bug惹的禍

      人們對軟件Bug的心態是既敬畏又憎恨,主要是因為軟件Bug經常潛藏于無形之中,而一旦發作輕則引起數據丟失,重則物毀人亡,造成生命和財產的巨大損失。且看一組近期發生的與軟件Bug有關的真實事例。

      軟件大佬比爾·蓋茨遭遇軟件Bug尷尬。大名鼎鼎的比爾·蓋茨是何等顯赫的人物,但是軟件Bug從來六親不認,根本不買他的賬,使得軟件大佬在演講現場遭遇軟件Bug引起計算機死機,真是“華佗無奈小蟲何”。據外電報道,在CES 2005展會第一天,比爾介紹了微軟的“無縫計算”戰略,但就在演示的時候,可愛的Windows又出現了藍屏,引起觀眾的哄笑。接下來在90分鐘的演示中,一名產品經理演示了一款看起來屬于用戶友好的視頻游戲Forza Motor Sport,游戲沒有按照用戶設置的要求進入賽車游戲,而是電腦顯示器顯示藍屏死機和“系統內存溢出”的警告。實際上,硬件故障和軟件Bug,已經在很大程度上澆滅了用戶追求數字生活的激情。

      軟件Bug引起北美地區大面積停電事故。著名安全機構SecurityFocus的數據表明,2003年8月14日發生的美國及加拿大部分地區史上最大停電事故是由軟件錯誤所導致。SecurityFocus的數據表明,位于美國俄亥俄州的第一能源(FirstEnergy)公司下屬的電力監測與控制管理系統“XA/21”出現軟件錯誤,是北美大停電的罪魁禍首。根據第一能源公司發言人提供的數據,由于系統中重要的預警部分出現嚴重故障,負責預警服務的主服務器與備份服務器接連失控,使得錯誤沒有得到及時通報和處理,最終多個重要設備出現故障導致大規模停電。

      導航軟件Bug使俄羅斯飛船偏離降落地。2003年5月4日,搭乘俄羅斯“聯盟—TMA1”載人飛船的國際空間站第七長期考察團的宇航員們返回了地球,但在返回途中,飛船偏離了降落目標地點約460公里。據來自美國國家航空航天局的消息稱,這是由飛船的導航計算機軟件設計中的錯誤引起的。

      其實,軟件Bug造成重大事故的例子不勝枚舉,由此造成的損失每年接近600億美元。2002年6月28日,美國商務部的國立標準技術研究所(NIST:National Institute of Standards and Technology)發表了有關軟件缺陷的損失調查報告。報告表示,“據推測,由于軟件缺陷而引起的損失額每年高達595億美元。這一數字相當于美國國內生產總值的0.6%”。

      軟件Bug雖然僅是一只“小蟲”,但說軟件Bug猛于虎,確實千真萬確。隨著軟件在社會生活中的不斷滲透,特別是各種嵌入式軟件在各種智能電器的應用,軟件Bug造成的損失將會更大,對此,應該引起人們足夠的警惕并采取一個可能措施,將損失降低到最小程度。警惕呀,軟件Bug!

      軟件Bug的丑惡嘴臉

      軟件Bug是軟件世界的“恐怖分子”,是最不招人喜歡的家伙。常聽用戶抱怨軟件不好用,Bug太多,可是軟件Bug外貌如何,卻總是眾說紛紜。

      經過對各種軟件Bug特征的綜合研究,人們對于軟件Bug的丑惡嘴臉有了一些比較系統的認識。判斷一個軟件運行結果是否屬于軟件Bug可以從以下幾個方面分析,凡是屬于下列現象之一者,就是軟件Bug。這些現象分別是:

      1. 軟件未達到產品說明書標明的功能;

      2. 軟件出現了產品說明書指明不會出現的錯誤;

      3. 軟件功能超出產品說明書指明的范圍;

      4. 軟件未達到產品說明書雖未指出但應達到的目標;

      5. 軟件測試人員認為軟件難以理解、不易使用、運行速度緩慢,或者最終用戶認為不好。

      在以上5條中,需要特別討論后面的3條。第3條是說如果軟件的功能和特征超出了軟件的設計說明書的要求,那么也屬于軟件的缺陷;第4條是說如果測試者發現軟件不正常,盡管設計說明書沒有注明,但是根據測試者的工作經驗和測試的嘗試,也能判斷出是否屬于軟件缺陷;第5條說明了軟件測試的根據應該是軟件設計說明文檔和最終用戶的要求。

      掌握軟件Bug的這些特征,可以幫助人們采取各種軟件測試手段,以便盡早、盡快地發現和報告軟件質量問題,降低由于軟件Bug造成的各種直接和間接損失。

      可憐的“替罪羊”

      顯然,軟件Bug都是人為造成的,但是在軟件項目開發過程中,面對軟件Bug帶來的錯誤,一些軟件開發人員卻經常為自己的過失開脫責任,美其名曰“都是Bug搞的鬼,都是Bug惹的禍”。軟件Bug淪為可憐的“替罪羊”,真是比竇娥還冤!

      “追求完美,根除Bug”是絕大多數軟件開發人員追求的目標,但是盡管如此,軟件Bug卻還是屢見不鮮,原因何在?有些學者給出了軟件Bug產生的一些原因:

      1. 開發人員不太了解軟件需求,不清楚應該“做什么”和“不做什么”,常常做不合需求的事情,因此產生了Bug。

      2. 軟件系統越來越復雜,開發人員不太可能精通所有的技術,如果不能正確地使用技術,將產生Bug。

      3. 軟件設計文檔不清楚,文檔本身存在Bug,導致使用者產生更多的Bug。

      4. 軟件需求、設計說明書、程序經常發生變更,每次變更都可能產生新的Bug。

      5. “人無完人”,任何人在編程時都可能犯錯誤,導致程序中的Bug。

      6. 軟件項目由于時間或資源緊張,開發人員經常處于進度的壓力之下,急忙之下容易產生Bug,尤其是在軟件發布最后期限來臨之際。

      7. 開發人員過于自信,喜歡說“沒問題”,不真實的“沒問題”將產生真正的問題,導致很多軟件Bug。

      當然產生軟件Bug的原因可能還有很多,例如,溝通上的問題,開發人員的態度問題,以及項目管理問題等。但是從根本上說,軟件存在Bug有其必然性,這主要是由軟件產品的生產方式和生產過程決定的。軟件產品屬于無形產品,不能一目了然的看清其“廬山真面目”,雖然靠人為努力可以在一定程度上發現和減少軟件Bug,但卻不能徹底消除軟件中的全部Bug。

      愛恨交加Debug

      軟件開發人員尋找軟件Bug的產生原因,修正Bug的過程,稱為“Debug”,即調試。前文描述了軟件Bug的5類表現特征,對于具體的各個軟件Bug而言,表現卻是千變萬化,由此給軟件調試和修正錯誤帶來了很大困難。

      通常情況下,軟件調試和修正錯誤的難點不在于如何修正,而在于尋找和定位軟件產生的位置困難。對于軟件的界面布局錯誤或界面上的文字表達錯誤引起的軟件Bug,開發人員可以很快地找出原因,在軟件代碼中迅速定位,然后容易地消除。實際上,任何軟件開發人員都可以修正這類軟件Bug,猶如快刀切瓜,探囊取物。

      但是要修正軟件功能錯誤,就不總是那么容易了。實際上調試和修正軟件功能錯誤,才是考驗軟件開發人員水平的真正標桿。某些軟件功能錯誤,由于非常具有蒙蔽性,表面上看上去可能是常見的一些原因造成的,而實際上卻往往是其他原因帶來的。而且,這些軟件Bug經常潛伏于軟件代碼的許多比較“陰暗”的角落,很難定位產生軟件錯誤的代碼準確位置。因此,修正某些軟件Bug常常成為軟件開發人員的“噩夢”,他們往往為了修正一個較難的軟件Bug,需要絞盡腦汁,反復閱讀和分析軟件代碼,設置程序斷點,單步跟蹤程序的運行結果,截獲和分析程序的中間運行數據,試圖找到修正錯誤的“蛛絲馬跡”,為此甚至夜不能寐,百思不得其解,這是程序員的“地獄”。當然正確修正高難Bug后的成就感非常強烈,這是程序員的“天堂”,對于程序員而言,天堂和地獄的只有一個Bug那么遠。

      需要注意的是軟件的全部Bug并不是都需要修正的。在缺陷的修復過程中,我們常常還會受時間、成本等方面的限制而無法有效、完整地修復所有的軟件Bug。因此評估軟件Bug的重要度、影響范圍和市場因素,選擇一個折中的方案,考慮軟件Bug成為我們在面對軟件Bug時一個必須直面的事實。另外,由于錯誤的關聯性,某些軟件Bug雖然能夠得以修復,但在修復的過程中難免會引入新的軟件Bug。很多軟件Bug之間是相互矛盾的,一個矛盾的消失必然會引發另外一個矛盾的產生,有時導致顧此失彼,得不償失。

      小Bug,大市場

      由于市場和用戶對軟件質量的不斷提高,軟件行業的競爭逐漸加劇,而且尋找軟件錯誤非常耗費時間和人力資源,所以現在越來越多的軟件公司開始將軟件測試外包出去,由第三方專業的測試公司進行測試,客觀地尋找和報告軟件Bug。由此促生了軟件外包測試的興起和迅速發展,產生了具有較大發展潛力的測試市場。

      軟件外包是新興的軟件開發模式,我國是繼印度之后具有較大競爭優勢的軟件外包服務提供國之一。在軟件外包中,軟件測試的門檻相對較低,是最可以先期進入的領域。這兩年來,軟件外包從軟件測試外包做起,已經成為越來越多的軟件業人士的共識。實際上,我國軟件外包測試已經開始起步,且具有較廣闊的市場發展潛力。

      國內已經出現了一些專門提供軟件測試服務的公司。僅以軟件本地化行業的公司而言,例如北京的一些由軟件本地化公司轉變而成的軟件外包公司,他們正在為大型國際軟件公司提供十多種語言的軟件外包測試服務,采用到這些大型國際軟件公司在中國的研發中心進行現場測試和軟件外包公司內部成立測試部門測試相結合的服務方式。據了解,有些軟件外包測試公司的測試人員數量已經達到數百人,而且未來兩三年內仍將繼續快速發展。

      小Bug蘊含大市場,隨著軟件外包在全球范圍的不斷深入,我國軟件服務行業迎來了發展機遇,擴大軟件外包市場先從軟件外包測試做起,將成為推動我國軟件行業發展的積極策略。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>