軟體測試軟環境的構建與優化

shbwf發表於2013-01-21

  摘要:軟體測試是軟體質量保證的一個重要組成部分,除了要具備一定的客觀條件外,還受到許多主觀因素特別是測試人員、組織和管理等方面的影響.在對這些主觀因素以及軟體測試軟環境的構成與優化作了一些研究和探討後,提出了一些可行性建議。

  關鍵詞:軟體測試;單元測試;測試文件;

  一、引言

  軟體測試作為軟體開發的一個重要階段,除了必須具備被測軟體、測試工具、測試技術等一些必備的客觀條件外,還受到測試人員、組織管理、測試策略等相關主觀性較強的因素的影響。這些因素的綜合作用——本文稱之為軟體的“測試軟環境”,決定了軟體測試的成敗。

  二、軟體測試軟環境的構成要素

  1、測試人員

  測試人員是軟體測試的執行者,他們的素質將直接影響到軟體測試的成敗。軟體測試是一項嚴謹的工作,一名優秀的軟體測試工程師應具備以下的素質:

  (1)溝通能力。測試者必須能夠與測試涉及的所有人員(包括技術人員和非技術人員)進行溝通。由於人本身具有排他性,因此,當你試圖從別人的程式中尋找錯誤或缺陷時,往往會遭到反對或對抗。測試者應儘量避免衝突和發生矛盾,要對每個人具有足夠的理解和同情,具備了這種能力可以將測試人員與相關人員之間的衝突和對抗降低到最低程度。

  (2)技術能力。由於開發人員對不懂技術的通常持一種不屑或輕視的態度,因此,一旦測試小組的某個成員作出了一個錯誤的判斷,將直接導致他甚至整個測試小組的可信度降低,相反,則會大大增強測試人員的信心和測試工作的說服力。一個優秀的測試人員必須既明白被測軟體系統的概念,又要熟悉並會使用相關的工具,而要做到這一點需要有幾年的程式設計經驗,只有通過這樣的經驗積累才會對軟體的開發有更加深刻的瞭解。

  (3)耐心。軟體測試是一項非常煩瑣的工作,很容易使人變得懶散,甚至煩躁不安。作為一個測試人員,你必須要有足夠的耐心和自律能力,有時你需要花費驚人的時間去識別、排除一個故障,有些看似毫無成就的工作,往往就在你的苦思冥想後豁然開朗。

  (4)興趣和自信心。測試者應對自己所從事的工作具有濃厚的興趣,對自己的觀點有足夠的自信,如果具備了這兩點,那麼在開發過程中,不管遇到什麼樣的困難,都能克服。

  (5)懷疑與探索精神。一個軟體從開發到投入使用通常要經歷許多的迴圈往復,難免出現這樣或那樣的錯誤和缺陷,測試人員應具有叛逆心理,敢於懷疑,勇於探索,在可能的條件下,充分發揮自己的潛能,創造性地開展工作,力求尋找出軟體中存在的故障。

  (6)其它方面的素質。具有良好的判斷能力,有一定的幽默感,邏輯思維敏捷等等。

  2、組織與管理

  (1)測試小組

  由於軟體故障的產生主要來源於軟體需求分析、設計和編碼階段,因此,需求分析、軟體設計和程式編碼等各個階段所得到的文件資料,包括需求規格說明書、設計規格說明書以及源程式都是軟體測試的物件,而由此產生的測試組織與管理也是分階段的,測試小組的人員組成方式也是不一樣的。

  需求分析階段。這一階段的測試人員應包括:使用者、專案經理、系統分析員、軟體設計、開發以及測試人員。他們需要進行多次討論和協商來確定軟體的功能,以此作為評價需求規格說明書的依據。

  軟體設計階段。人員組成應包括:系統分析員、軟體設計人員、測試負責人以及使用者。這一階段的主要工作是按照需求分析規格說明書的要求對系統結構的合理性以及過程處理的正確性進行審查,使用者的作用在這一階段不是非常突出。

  軟體測試階段。軟體測試作為保障軟體質量的一個重要的手段,通常包含以下一些測試:單元測試、整合測試、確認測試、系統測試和驗證測試。其中,單元測試由程式設計小組內部的程式設計人員交叉進行,其它測試工作則要由測試組來完成,此時,測試組成員的組成應包括:測試經理、測試技術人員、軟體開發人員、相關技術支援人員以及使用者。需要注意的是,在單元測試階段,要嚴格杜絕程式設計人員測試自己編寫的程式。

  (2)測試管理

  測試工作的管理,尤其是對於包含多個子系統的大型軟體系統,其測試工作涉及大量的人力和物力,有效的測試管理是保證有效測試工作的必要前提。

  首先,軟體測試的有效實施需要測試組織與開發組織充分配合。雖然測試活動看似是對開發人員勞動成果的不斷“挑剔”,但測試工作的出發點是:確保開發人員的勞動成果成為可被接收的、更高品質的軟體產品。測試經理應在組織協調各組織工作方面發揮作用,並和他們一起工作,甚至對公司以外的個人和組織都是如此。測試經理在工作中所要處理的人員關係可用圖1表示。此外,測試經理所處的職位要求他能提交日常主要工作的有關資訊,如狀態報告、測試計劃、評估報告等,同時,還要根據當前的狀態做出一些重大決策,這些決策可能會對整個測試過程產生一定的影響。

  圖1 測試經理的人際關係角色

  其次,為確保軟體測試在軟體質量保證中發揮應有的作用,建立和完善軟體測試管理體系是十分必要的。從軟體工程的角度出發,軟體測試管理所涉及的管理物件包含以下幾個方面:

  ● 測試資源。包括對人員分配、工作環境、相關設施等的管理。

  ● 測試計劃。根據資源配備情況,制定總體測試計劃,確定各個階段的測試目標和策略。

  ● 分析與設計。測試分析與設計就是確定測試目標並且如何以一種高效執行的方式組織測試的過程。這個過程需要根據測試計劃選擇合適的測試方案,設計出好的測試用例。

  ● 測試實施。測試實施是指測試人員根據測試計劃,利用測試資源來執行測試用例以獲得測試資料、開發測試規程的過程。這個過程涉及到測試環境的設定、測試資料的收集以及測試驗證等具體的工作。

  ● 測試管理。測試管理作用於測試的各個階段,其管理的物件包括測試組織的建立、測試過程的控制、測試計劃和測試規程的制訂與管理等等。

  三、測試軟環境的構建

  1、測試人員

  在一個測試小組中,並不是所有的測試人員都需要具有同樣的技能,由於分工不同,他們所起的作用也不同。一般情況下,測試小組中測試人員的構成一般包括:

  開發人員。最好的情況是:讓開發人員去做單元測試,如果需要的話還可以讓他們做整合測試。

  使用者。通常在測試階段會給測試提供很好的幫助。

  技術支援人員。熟悉軟體產品的流程,與使用者有更多的溝通,往往更能理解使用者的想法。

  QA人員。他們瞭解產品質量的重要性,對測試小組的工作是一個很好的補充。

  技術文員。這是測試工作中必不可少的一個角色。由於工作的需要,他們關注測試過程中的很多細節問題,並按照要求完成相關的技術文件的編制,使得整個測試工作都有據可查。

  .......

本文轉載自51Testing軟體測試網,檢視全文:http://www.51testing.com/html/61/n-832461.html

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11323760/viewspace-1060134/,如需轉載,請註明出處,否則將追究法律責任。

相關文章