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

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

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

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

    微軟的測試方法

    發布: 2009-6-19 10:12 | 作者: 不詳 | 來源: 領測時代采編 | 查看: 30次 | 進入軟件測試論壇討論

    領測軟件測試網

     第二個階段是70年代,這個階段開發的軟件仍然不復雜,但人們已開始思考開發流程問題,并提出“軟件工程Software Engineering”的概念。但是這一階段人們對軟件測試的理解僅限于基本的功能驗證和Bug搜尋,而且測試活動僅出現在整個軟件開發流程的后期,雖然測試由專門的測試人員來承擔,但測試人員都是行業和軟件專業的入門新手。

        第三個階段是80年代及其以后,軟件和IT行業進入了大發展。軟件趨向大型化。與之相應,人們為軟件開發設計了各種復雜而精密的流程和管理方法(比如CMM和MSF),并將“質量”的概念融入其中。軟件測試已有了行業標準(IEEE/ANSI ),它再也不是一個一次性的,而且只是開發后期的活動,而是與整個開發流程融合成一體。軟件測試已成為一個專業,需要運用專門的方法和手段,需要專門人才和專家來承擔。 測試與開發的融合 在這一歷史發展過程中,最值得注意的是測試與開發流程融合的趨勢。人們對這種融合也許并不陌生。比如測試活動的早期展開,讓測試人員參與用戶需求的驗證,參加功能設計和實施設計的審核。再比如測試人員與開發人員的密切合作,隨著開發進展而逐步實施單元測試、模塊功能測試和系統整合測試。的確這些都是測試與開發融合的表現形式,而且初期的融合也只反映在這個層次上。

        90年代以后,軟件的規模和復雜程度迅速提高,這種形式上的融合也迅速走向更深層次,更具實際意義。具體地說這種融合就是整個軟件開發活動對測試的依賴性。傳統上認為,只有軟件的質量控制依賴于測試,但是現代軟件開發的實踐證明,不僅軟件的質量控制依賴于測試,開發本身離開測試也將無法推進,項目管理離開了測試也從根本上失去了依據。在微軟,測試的確有這樣的地位和作用。這就是為什么微軟在軟件測試上有如此大的投入。 開發對測試的依賴 現代軟件開發,特別是大型軟件開發通常會遇到以下兩個問題: (1) 在開發初期,如何能夠展開大規模團隊,群體齊頭并進,而同時保持開發的有序性。從而有效利用資源,縮短開發周期。(2) 在開發后期,如何解決深層次的Bug,如何面對設計更改,而能夠保證產品的質量不出現或少出現回落。 對于小型簡單的軟件,這兩個問題也存在,但不突出,而且容易解決。但對于復雜的大型軟件的開發,這兩個問題常常會成為難以逾越的障礙。 通常大型項目的功能豐富,但架構、層次也會相當復雜。穩妥的開發方式是,一次投入少量的人員,逐層開發,逐層穩定。但這種方式顯然資源利用率低,開發周期長,不能滿足現代軟件和IT行業高速發展、瞬息萬變的需要。因此大型項目需要大型團隊。在微軟,產品開發團隊(主要包括開發、測試和項目管理)一般都有百人以上規模,有些產品甚至上幾千人(Windows2000的開發部門曾有3000多人)。這樣大規模的人力資源作用在一個動態的,內部相互聯系的系統中,若沒有有效的協同,其混亂是不可避免的。試想,有兩個開發人員,分別在開發兩個不同的功能模塊,其相互有依賴關系。為了相互協調,他們可以隨時進行當面討論。如果這種關系發生在五個開發人員和五個功能模塊之間,這種協調就只能通過定期的會議來進行。而一個大型項目,會有許許多多這樣的關系,而且很多時候這種關系有著不確定性和不可預見性。當一個開發人員編寫一段新的代碼或對已有代碼進行改動和調整時,他(或她)常常無法確定,或無法完全確定究竟有哪些相關的模塊會受到影響,以及在什么請況下這種影響會帶來什么結果。因為系統的復雜性已遠遠超出了人的邏輯思維、技能和經驗所能力及的范疇。因此這種傳統的協調手段是遠不能滿足需要的。

       在微軟,這種協調是通過測試來實現的。具體來說就是:每日建造+自動化測試。關于每日編譯和自動化測試,我將來會作專門介紹,這里簡單的說就是每天都建造一個新版本,每個版本都要運行通過一定量的自動測試用例,以檢驗當天工作的質量。這里所說的質量當然有一般意義上質量的概念,但同時它也反映項目在開發過程中的整體協調性。 自動測試的最大優點在于它的高度可重復性。一個理想的自動測試系統能夠讓人隨時、方便和迅速的運行大量的測試用例。因此一個開發人員可以通過檢查當天的自動測試結果來分析前一天代碼的質量(事后檢查),也可以在當天存入代碼前,先運行自動測試以進一步確保存入代碼的質量(事前檢查)。 在微軟,每日建造都是在午夜開始,完成后緊接著就是全面的自動測試,到早晨上班時間之前就會把結果自動通過e-mail等方式發送出來。開發人員上班后的第一件事往往就是檢查測試結果。如果沒有問題就會開始新的工作。如果有測試有用例沒有通過,開發人員則必須協同測試人員一起立刻找出原因,解決后才能開始新的代碼。有時一個小的失誤會引起大面積的測試用例失敗,很大一部分開發團隊會受到影響。為盡量避免這種情況,要求開發人員在存入代碼之前先在自己的個人建造版本上運行一定量的自動測試,全部通過后在存入。如開發人員沒有按照這樣的要求,而擅自存入質量不高的代碼而造成大量測試失敗,這種不負責任的行為是要受到嚴厲批評的。

       

    延伸閱讀

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

    54/5<12345>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(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>