一種高可靠性軟件測試方案(一)
集成測試
系統(tǒng)測試 軟件測試件管理
交付測試
YSR中國可靠性資源網(wǎng)
其中,軟件驗證技術(shù)著眼于排除軟件開發(fā)文檔中的錯誤。驗證活動涉及的文檔按開發(fā)流程主要涉及需求規(guī)格說明、設(shè)計規(guī)格說明(包括概要設(shè)計規(guī)格說明、詳細設(shè)計規(guī)格說明、數(shù)據(jù)庫設(shè)計規(guī)格說明)、編碼規(guī)格說明、產(chǎn)品交付文檔等一系列書面材料。目前驗證技術(shù)的實施在很大程度上是依靠測試人員手工完成的。驗證活動視實際需要有時還會涉及到開發(fā)人員和目標客戶,需要得到他們必要的理解和支持。驗證測試采用的主要測試手段有:面對面質(zhì)詢、文檔抽查、非正式會議、同行評審等等。
相對于軟件驗證技術(shù),軟件確認技術(shù)則主要著眼于排除程序代碼中的錯誤?;顒由婕暗膶ο笾饕浅绦虿考拇a或軟件成品。在實施過程中,常常按被測代碼的規(guī)模和測試所處的層次將軟件確認測試分為四個階段,即:單元測試(也叫類測試)、集成測試(也叫組裝測試)、系統(tǒng)測試和交付測試。確認測試基本上由軟件測試人員對照相關(guān)開發(fā)文檔運行程序獨立完成的。必要時,也可讓設(shè)計人員帶領(lǐng)測試人員閱讀程序代碼共同發(fā)現(xiàn)其中的錯誤,(即所謂代碼評審會)。有意見認為,在單元測試(或類測試)階段,應(yīng)該有軟件編碼人員參與,這樣能減輕測試人員閱讀代碼障礙。原則上,測試理論不提倡程序作者負責(zé)把關(guān)自己編寫的程序的質(zhì)量。在實際實施過程中,可視實際情況靈活處理。(如成對編程可能會較好的處理單元測試這個難題,上面提到的代碼評審會也是為應(yīng)對這個難題而想出的一個好辦法。),軟件確認技術(shù)目前已經(jīng)部分地實現(xiàn)了測試工具的自動化,市面上已有不少自動化工具能在測試人員的輔助下完成相應(yīng)的測試工作(例如用于Java代碼單元測試的Junit工具,又如用于GUI測試的Rational Visual Test工具,等等)。
軟件驗證技術(shù)和軟件確認技術(shù)均屬于測試技術(shù)層面的東西。然而對于工程質(zhì)量的保證而言,光靠軟件測試技術(shù)還遠遠不夠,還需要技術(shù)管理層面上的東西。軟件測試管理技術(shù)的誕生正是為彌補這個不足。按照管理的對象不同,測試管理技術(shù)大致涵蓋軟件測試團隊組織管理、軟件測試計劃管理、軟件缺陷(錯誤)跟蹤管理以及軟件測試件管理四大部分。下面,筆者將結(jié)合CraftGS項目對該測試方案做一個詳細的詮釋。
4 在CraftGS項目中具體應(yīng)用上述測試方案
CraftGS五個分系統(tǒng)的開發(fā)過程均在CraftGS測試團隊的質(zhì)量控制下有序進行,嚴格地實施了上述測試方案。經(jīng)專家評定,各分系統(tǒng)及最后集成后的系統(tǒng)總體均達到了任務(wù)書中所分配的可靠性指標。
4.1 在CraftGS項目中應(yīng)用軟件驗證技術(shù)
CraftGS項目中應(yīng)用的軟件驗證技術(shù)主要包括需求規(guī)格說明驗證、設(shè)計規(guī)格說明驗證、代碼驗證以及交付驗證。以下逐一說明。
需求規(guī)格說明驗證的主要任務(wù)是保證用戶的功能需求、業(yè)務(wù)需求、以及其他的一些需求(如非功能性需求、約束性需求等等)都已經(jīng)被分配到軟件需求規(guī)格說明的各需求項中。
設(shè)計規(guī)格說明驗證相對需求規(guī)格說明驗證而言,稍微復(fù)雜些,它包括3個部分的內(nèi)容:即概要設(shè)計規(guī)格說明驗證、詳細設(shè)計規(guī)格說明驗證以及數(shù)據(jù)庫設(shè)計規(guī)格說明驗證。其中概要設(shè)計規(guī)格說明驗證的主要任務(wù)是確保軟件需求規(guī)格說明中的需求項全部已經(jīng)分配到了概要設(shè)計規(guī)格說明的各軟件模塊之中并且無多余物,詳細設(shè)計規(guī)格說明驗證的主要任務(wù)是確保概要設(shè)計規(guī)格說明中的模塊已經(jīng)全部分配到詳細設(shè)計規(guī)格說明的各軟件單元之中并且無多余物,數(shù)據(jù)庫設(shè)計規(guī)格說明雖然從范疇上講應(yīng)該屬于詳細設(shè)計規(guī)格說明范疇,但筆者認為因改把它獨立出來實施驗證活動。(數(shù)據(jù)庫設(shè)計和軟件設(shè)計畢竟有很多不同之處。)數(shù)據(jù)庫設(shè)計規(guī)格說明驗證的重點任務(wù)是驗證數(shù)據(jù)庫與外部應(yīng)用程序的接口是否正確、數(shù)據(jù)操作實現(xiàn)界面是否清晰、數(shù)據(jù)庫整體設(shè)計是否合理、數(shù)據(jù)表設(shè)計是否符合3NF要求(如違反范式要說明詳細理由)以及數(shù)據(jù)表中的字段(鍵)和索引的設(shè)計是否高效合理等等。完成設(shè)計規(guī)格說明以后,下一步要做代碼驗證。
代碼驗證的內(nèi)容包括:代碼編寫規(guī)范審查、代碼審查和代碼靜態(tài)分析三個部分。代碼編寫規(guī)范審查主要是審核代碼排版的格式以及注解的格式是否符合開發(fā)團隊的相應(yīng)規(guī)范;代碼審查的任務(wù)主要是驗證詳
評論