測試:從現在開始

發表于:2008-02-03來源:作者:點擊數: 標簽:
一般說來,一個成熟軟件的壽命至少有10年以上。而它的壽命長短,則更多地取決于軟件 開發質量的好壞。軟件開發因此也稱作“一步三回頭”工程。也就是說,每開發一步,都要有 三道測試手續來檢驗。測試的重要性可見一斑。 然而,對于 軟件測試技術 ,我們又了
一般說來,一個成熟軟件的壽命至少有10年以上。而它的壽命長短,則更多地取決于軟件 開發質量的好壞。軟件開發因此也稱作“一步三回頭”工程。也就是說,每開發一步,都要有 三道測試手續來檢驗。測試的重要性可見一斑。

  然而,對于軟件測試技術,我們又了解多少呢?是大學課本中所學到的黑盒、白盒測試, 還是市場中拿來就用的測試工具,或許是送到第三方測試廠商那里就完事大吉了?面對現實中 軟件測試的應用現狀,我們所熟知的又有哪些?軟件企業測試工程師的比例到底有多大?是6 ∶1、4∶1,還是2∶1......

  無論怎樣,我們一定要正視一點:軟件測試也是一個產業。規范而高效的軟件測試,是提 高國內軟件開發整體質量水準的基石,也是使中國最終成為一個先進的軟件大國的基石。 走出嬰兒期

  軟件測試在全球的發展是不平衡的,在發達國家和地區,軟件測試已經成了一個產業,而 在中國,可能還算不上一個真正的產業,目前正在快速發展階段。在如何提高測試效率,如何 更好地解決測試的充分性和時間上還要有新的突破……

  郭旭 我們都知道,軟件測試是軟件開發過程中一道不可或缺的工序。從目前現狀來看, 軟件開發商有測試意識嗎?

  張志明 北京一家大型通信公司的高層技術主管最近曾講,現在他們公司的軟件測試工作 主要還是由開發人員兼做??梢?,目前國內軟件企業高層對軟件測試重要性的認知還遠遠不 夠。兩年前,有專家稱我國軟件企業大多還處于手工作坊狀態。怎樣理解這句話,如何去衡 量,我認為軟件開發人員兼做測試就是一個明顯的標識。

  軟件測試理論從心理學角度認為,開發人員在測試自己開發的程序時有不可避免的心理障 礙,測試工作應該是相對獨立的。大型軟件企業要想實現質量控制,在軟件測試方面一定要設 立獨立的測試部門,建立專業的測試隊伍,逐步建立一套適合企業自身的比較完整的測試管理 體系。

  黃子河 應該說有規模的軟件企業對測試還是比較重視的,但是,有足夠數量的專職測試 隊伍的企業并不是很多,大多數是開發人員兼職??上驳氖?,軟件用戶越來越注重軟件產品的 質量,軟件測試也越來越得到軟件企業的認可。高質量的軟件不僅能提升軟件公司的品牌,而 且可以節省很多的后期維護費用??磥?,軟件測試工作,越來越得到了軟件企業的重視。

  劉珍妮 從Borland的發展史也可以看到測試觀念對于Borland的影響,Borland早期是以開 發工具廠商為企業核心,這就代表了在那個時期完全是以開發階段為重心,Borland內部對于 軟件產品的測試也是處于萌芽階段,和當時大部份的軟件廠商一樣,并沒有非常規范的測試機 制。Borland內部也在數年前導入了正規的測試流程,并且為每一個商業產品定義了最低接受 數值來保證產品的質量。

  陳致平 在我的印象中,五年之前,軟件測試可能還沒有被接受,那個時候完全沒有概 念?,F在,很多公司已經認識到了測試的重要性。但是他們還沒有具備很清楚,所以我個人覺 得大家有點在混沌的狀態中去做。我也想做,但是我不知道怎樣做得好?這個問題應該盡快解 決。

  郭旭 從全球來看,軟件測試還處于嬰兒期階段?

  黃子河 軟件測試在全球的發展是不平衡的,在軟件產業比較發達的國家和地區,軟件測 試也已經成為很大的一個產業,但是在中國,可能還算不上一個真正的產業,目前正在快速發 展階段。因此說軟件測試處在嬰兒期可能有點不恰當,只能說軟件測試在測試理論和方法上還 不盡完善,應該說軟件構建技術的發展要快于軟件測試技術的發展,在如何提高測試效率,如 何更好的解決測試的充分性和測試時間這對矛盾上還要有新的突破。

  劉珍妮 這是很有趣的問題,軟件測試的啟蒙時間并不算短,但是相對于其它軟件方法和 產品的發展速度和重視度來看,軟件測試似乎是尚處于萌芽階段。

  陳致平 如果說從全球來講,測試還處于嬰兒期,這個我覺得就太言過其實了。實際上回 答這是一個工程基礎問題,而工程問題在很多時候是抽象的。

  郭旭 那么,導致這種現狀的根源在哪里?

  劉珍妮 我認為這和我們接受的傳統教育和開發習慣有相當大的關系。軟件行業相對于其 它一些行業來說是相當年輕,開發工作包含了需求管理、分析、設計、測試和部署等工作,由 于軟件業的歷史年輕,而且一般人認為,開發周期前面的工作沒有完善之前,比較難于考慮到 稍后的階段。因此,我們可以看到軟件業大部分的精力都投入在需求管理、分析、設計三個階 段的開發,造成了這些方面軟件和方法論的快速發展,許多軟件人員驀然發現對于測試是多么 的忽視。

  郭旭 國內軟件的測試現狀與國外差距大嗎?

  黃子河 差距肯定是存在的,主要體現在測試意識以及測試理論的研究、大型測試工具軟 件的開發以及從業人員數量等方面。其實,這與中國整體軟件的發展水平是一致的,因為我國 整體的軟件產業水平和軟件發達國家水平相比有較大的差距,而作為軟件產業重要一環的軟件 測試,必然有不小的差距。但是,我們在軟件測試實現方面并不比國外差,國際上優秀的測試 工具,我們基本都有,這些工具所體現的思想我們也有深刻的理解,很多大型系統在國內都進 行了很好的測試。

  郭旭 如何走出軟件評測的嬰兒期?

  陳致平 分兩步走,首先,我們應該搞清有哪些需求;其次,我們需要一些流程來保障這 個測試的過程。還有一種觀點要注意的是,不要把測試當成一個萬能藥,或者是一個惟一藥品。

  劉珍妮 我想這需要軟件開發商和所有軟件開發人員需要共同努力的,軟件開發商應該提 升對于測試工具的發展,軟件開發人員則需要重新思考測試的重要并且體驗測試帶來的好處。 當軟件開發商能夠提供軟件開發人員無負擔的測試機制時,就可以大幅降低一般軟件開發人員 抗拒使用或是嘗試測試機制的力量。一旦軟件開發引入測試機制并且提高軟件質量之后,也能 夠讓一些管理人員更正對于測試不正確的想法。

  嚴把質量關

  軟件不分大小,都要過測試這一關。而把握質量關,除了強化測試意識之外,還需要一定 的機制和流程來約束。專業性、獨立性、客觀性和公正性的第三方測試機構的出現,又對軟件 質量起到了加固的作用……

  郭旭 毫無疑問,測試是軟件質量的保證。但嚴把質量關的方法有多種,如CMM、ISO等, 一定要走測試這道工序嗎?

  張志明 我認為,軟件質量是管理學范疇的概念,CMM和ISO是質量管理體系。軟件測試主 要是技術實現,是軟件質量保障的技術關鍵。不進行充分有效的軟件測試,談軟件質量就是一 句空話。當然,軟件測試同樣強調測試管理??梢钥隙?,沒有經過嚴格測試的軟件不具可靠性。

  劉珍妮 如何達成嚴把質量關的目的?我想不是根據感覺而已,而是需要一定的機制和流 程。CMM、ISO等可以保證軟件開發經過了驗證的步驟,而其中的測試工序則可以提供量化的數 據讓軟件人員得知軟件的質量,這是很重要的工作。

  黃子河 ISO、CMM主要是從宏觀的管理層面上發揮作用,而軟件測試是重要的具體的實踐 活動,他們是相輔相成的,對于一個軟件企業來說,如果沒有軟件測試過程的ISO、CMM認證, 是不可想象的,比如,SEI的SW-CMM在它的成熟度第三級的“軟件產品工程”關鍵過程中,就 把軟件開發周期中不同階段的測試作為實施活動的關鍵實踐,“過程決定質量”——軟件測試 必須貫穿于軟件定義與開發的整個周期,只有在軟件開發的各個環節實施了有效的測試,軟件 產品質量才能得到根本的保證。

  此外,軟件測試不僅僅能發現現有軟件中存在的錯誤,而且通過分析錯誤產生的原因以及 在錯誤產生的階段,可以幫助發現軟件開發過程的缺陷,以便進行改進。

  郭旭 軟件測試的種類有多少?一個軟件的推出,至少要過幾道測試關?

  黃子河 從不同的角度,軟件測試有不同的分類。例如按測試功能劃分,有黑盒測試和白 盒測試;按開發過程劃分,有單元測試、集成測試、系統測試、驗收測試等;按測試方法劃 分,有靜態測試動態測試。當然還有很多其他的劃分方法,不過我個人認為,劃分軟件測試 的種類并不重要,重要的是,一定要把測試看成是軟件全生命周期持續不斷的事情,而不是一 個階段性的事情,并且要把測試概念的外延進一步擴大。

  劉珍妮 不同的軟件公司可能有不同的要求,除了開發人員熟悉的測試方法,例如功能測 試,單元測試,整合測試之外,還需要回歸測試,Stop-Ship測試。另外對于企業應用系統可 能還需要進行效率測試,壓力測試以及耐久測試等。因此對于不同的軟件型態,可能需要經過 的測試流程以及重視的特定測試會有所不同。

  陳致平 實際上,有很多種測試渠道關,實際上我覺得從質量保證手段這樣一個范疇,有 需求的部分、設計的部分,然后到代碼的走查和后面的單元測試、集成。實際上這一系列都是 一道道關卡和質量手段。只要考慮一個問題,你建一道大壩攔水,如果攔不住,這道壩也就沒 有用了。因此,要用正確的方法去做測試,才能夠達到效果,如果你確實想做,然后方法錯 了,那你可能最后花多少錢也不是你最后想要的結果。

  郭旭 是不是所有的軟件的推出,都需要測試?哪些軟件更需要測試?

  黃子河 是。一個軟件,無論其大小和應用領域,測試都是不可或缺的環節,除非根本不 在乎軟件品質的好壞。

  劉珍妮 對于Borland來說是絕對的,而且Borland對于每一個產品都有要求的測試分數, 只有高于最低標準的產品才能夠推出。

  當然,所有的軟件都需要測試,我想這是毋庸置疑的,但是要花多少相對測試成本可能需 要考慮。一個公用應用程序需要測試的成本不可能高于系統軟件。一般而言,系統軟件,24× 7×365型態的軟件是需要進行更嚴密的測試的。

  陳致平 當然是。什么軟件更需要測試?那肯定是跟人力相關的,不能宕機,這肯定是。

  郭旭 理想狀態下,軟件在開發過程中,開發工程師與測試工程師的合理比例是多少?

  黃子河 這里說的比例只能是一個概念性比例,并不是絕對的要求,主要還是根據實際測 試需要而定,有些人曾提出,成熟的軟件產品制造過程中軟件開發工程師和軟件測試工程師的 合理比例為1∶3。最近,微軟亞洲工程院張宏江院長在一次演講中指出,微軟開發工程師與軟 件測試工程師比例是1.2∶1。像目前國內一般公司的軟件開發工程師與軟件測試工程師的比例 為6∶1甚至10∶1,有的甚至直接用開發工程師兼職,顯然是不能滿足測試需求的。

  陳致平 我覺得其實質量就是成本,客戶統籌是不是投入,這么大一個測試的群體,哪個 企業都不要盲目地跟從,首先要立足于企業自己的問題和需要?,F在,國家已經開始有了問責 制,我們已經出問題了,或者說本來就出問題了,那我們一定要追查到。其實軟件也是一樣 的。所以,我覺得,這個合理的比例實際上現在肯定是少的,你能有多大的比例,其實完全取 決于你的客戶愿意負責多少成本。

  測試自動化

  面對軟件的規模越來越大,應用的復雜度和集成性越來越高,各種新的軟件開發技術不斷 應用,那么,如何提供高效、有效性的測試,是軟件測試技術面臨的巨大挑戰。但不可否認的 是,測試自動化仍然是一種趨勢……

  郭旭 隨著軟件測試的重要性越來越明顯,與之相關的軟件測試工具也悄然而至。用這些 工具,就可以完成軟件測試了嗎?

  黃子河 應該說,軟件測試和軟件開發一樣,都是一項人的工作。但是在軟件測試中最主 要的還是測試工程師,這與在軟件開發中最重要的是開發工程師而不是開發工具,是一樣的道 理,工具只能是工具,只不過是用它來實現測試工程師的思維,從而可以減輕一些手動的重復 的工作,使測試工作更加條理化。測試工具只是起到一個輔助作用,在更多的時候還要測試工 程師發揮他們的經驗和智慧實施有效的測試。

  劉珍妮 我想使用測試工具可以解決許多的測試工作,但是并非全部,尤其是對于垂直產 業的軟件來說,目前的測試工具似乎還有待改進。這是因為垂直產業軟件的測試需要結合領域 知識,現在的測試工具對于水平產業的軟件支持比較好。即使如此,軟件廠商在發展軟件產品 時除了使用測試工具之外也仍然需要啟動測試階段,找各種不同外部測試人員(Beta Tester) 參加測試。

  陳致平 測試自動化實際上是很困難的,從實際的結果來看,我們說有需求,有流程。這 是全面的,兩個前提條件,你才能自動化,因為你有沒有一個穩定的需求,你的測試自動化無 從談起,你的目標就像一個自動靶射箭,沒有流程你也沒法射箭,所以說實際上自動化就是你 在少年這個階段,你想得很清楚,你有足夠的力氣,你才能掄得動這把刀。

  郭旭 從目前的測試工具來看,以國外品牌居多,對于用戶來說,如何選擇測試工具?

  黃子河 選擇測試工具當然也是要根據自己的需求,雖然有很多的測試工具,但是要看清 它們的測試類別,有針對功能的,有針對源代碼的,有針對壓力負載測試的等等,在同類的工 具中再進行比較,很多的工具大同小異,最好先進行試用,當然也可以咨詢專業的測試機構, 無論如何,滿足自己需要的才是最好的。

  劉珍妮 這主要需要看使用者的軟件形態和公司重視的測試項目,用戶必須了解每一個測 試產品的重點,此外由于新的軟件架構不斷的出現也不時的造就出新的測試產品。

  郭旭 軟件測試技術發展走向是什么?利用工具進行自動化測試,是趨勢嗎?

  黃子河 面對軟件的規模越來越大,應用的復雜度和集成性越來越高,各種新的軟件開發 技術不斷應用,那么如何提供高效、有效的測試,是軟件測試技術面臨的巨大挑戰。

  劉珍妮 從各種測試工具的開發趨勢來看,自動化測試是發展主流,因為這可以大幅減輕 開發人員的負擔以及測試成本。除此之外,測試工具如何結合領域知識提供測試人員可重復使 用的測試以及測試學習機制,我相信測試工具打入垂直產業軟件,讓這種軟件開發人員使用是 很重要的發展趨勢。

  郭旭 從目前來看,國內軟件如何快速進入測試階段?

  陳致平 實際上應該立足于手動測試流程,要把流程建起來。我更覺得可能測試流程的管 理工具是更緊迫的。自動化主要是指一個黑盒、自動回放這樣一些東西,取決于一個很好的流 程,一個測試管理的流程,取決于相對穩定的需求。尤其在中國現在的條件下,我覺得很多企 業是不具備一個好的流程,同時我們的市場變得太快,其實現在來講,應該從自動化這個角度 做是相對比較困難的?,F在可能從測試工具來講,比較容易相對從體系里面,如果你要做一件 事情,受到的其他的牽制和壓力很大的,一般來講會有幾個方面,首先從工具上來說,先是設 置的流程管理;其次會是一些我們會有一些其他的元素。這個你要考慮,但是相對來講,其實 是一個比較有效的質量保證系統,然后我們說這種回歸測試,就是說用機器來替代人,這個我 在國內應該是比較特定的一種服務,相對來說,我覺得這兩個前提條件都是要具備的;最后的 是壓力測試、單元測試。相對來講,最高級應該是壓力測試,這樣才能回歸。 相關鏈接:正確看待第三方測試黃子河

  第三方測試最大的特點在于它的專業性、獨立性、客觀性和公正性。對于軟件開發商來 說,經過第三方測試機構的測試,不僅可以通過專業化的測試手段發現軟件錯誤,幫助開發商 提升軟件的品質,而且可以對軟件有一個客觀、科學的評價,有助于開發商認清自己產品的定 位。對于行業主管部門以及軟件使用者來說,由于第三方測試機構獨立公正的地位,可以對被 測試的軟件有一個客觀公正的評價,幫助用戶選擇合適、優秀的軟件產品。目前國家“863” 計劃引入了“以測代評”的機制,通過第三方測試機構公平、公正、公開的測試,把可視性差 為特征的軟件透明化,用量化的數據說話,為科技部和專家組擇優支持提供了科學客觀的依 據,從而避免了以前的印象以及關系成分。另外,很多大的信息系統工程的驗收,也要經過第 三方測試機構的嚴格測試,從而最大程度地避免信息行業的“豆腐渣工程”通過驗收。

  可以說,第三方軟件測試的出現,標志著中國軟件產業走向成熟。雖然是“小荷才露尖尖 角”,但的確是一個非??上驳恼髡?。希望它能快速成熟起來,為中國軟件產業的發展發揮重 要作用 。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97