黃衛
(四川九洲電器集團有限責任公司 四川省綿陽市 621000)
在社會各領域當中,軟件測試的運用范圍甚廣,在軟件質量保證過程中,一般就是定性以及定量的方法相結合使用,而當前的軟件質量保證,是建立在對軟件被測件十分了解的前提下進行的,軟件質量保證的宗旨以及目的就是通過對于軟件測試有關的材料進行分析,首先需要對所選取的材料進行分析,并對材料中的價值進行分析,并對其使用效果進行預測,這就是當前開展軟件測試的意義。在分析以及檢測軟件測試材料的時候,從中會得到內部與外部的環境因素,就會導致軟件測試的結果出現一定的誤差,從這一點充分說明當前的軟件質量保證中,需要對軟件測試的數量與質量進行監督與管理,從而不斷強化對軟件測試質量的監督與控制,確保分析結果的精確性。
最終產品的特性與結構,這一點和軟件的開發要求有關,而當前在技術化高速發展的時代,我們能夠看出軟件公司逐漸將軟件中的技術納入到企業的戰略規劃中,而當前在系統開發過程中,每一個生產周期中間的銜接也會逐漸緊密,這一點也為系統模型的建立奠定了一定的條件。系統模型在大多數的軟件公司的研發設計過程中已經日趨廣泛,但在當前的軟件測試過程中一般建立模型的可能性較小,因此在當前的軟件測試的過程中,一般來說是不能利用現實生活中的實體建立系統模型的,而測試需要的材料一般而言都是從現成的實體中提取出來,而在此過程的最后,本篇文章認為基于模型的測試能最大程度的利用已有的軟件資源,有利于軟件測試的順利實施。具體如圖1 所示。
在系統開發過程中,當前大多數的軟件測試部門都希望對自己測試的成果在公司的系統中進行實踐,這種軟件測試重用的最大的優勢在于能夠最大程度的提升軟件測試效率,但是傳統軟件工程開發方法也無法適用于市面上的所有的軟件產品,當前無論是軟件的測試或是開發的階段,軟件的代碼均是采用文檔的方式對數據以及代碼進行儲存,從而導致當前的文檔或者代碼的復制率始終居高不下,與此同時也帶來一系列的問題。
當前會導致系統性的誤差的主要原因會有以下的兩種:
(1)方法誤差,即軟件測試方案不完善,包括軟件測試流程不完整、軟件測試方法錯誤等情況。
(2)人為誤差,這一誤差是由于軟件測試人員以及操作人員的操作失誤而導致,當然這與軟件測試流程以及人員的素質有著十分密切的關系。
軟件測試過程之中所涉及到的系統性誤差會出現單一方向遞增或者遞減的趨勢導致軟件質量的不確定性。
隨機誤差,就是由于某些隨機因素影響軟件測試的最終結果,而這些因素中涉及到的方面包含著眾多的現象以及原理,而且具體來說,這些因素都是在普通軟件測試過程之中會遇到的因素,具體比如說軟件測試時的電磁環境,而這些因素會在很大程度上影響到軟件測試的數據的真實性。
過失誤差是指分析人員在拿到軟件測試數據之后,會因為軟件測試過程之中的出現不當操作,具體比如用錯儀器、讀數錯誤,上述的失誤都屬于過失誤差的范疇,但是過失導致的誤差的主觀因素更強,對于軟件質量保證人員來說,我們需要時刻保持清醒的狀態,并堅持以認真的態度,嚴格按照軟件測試準則避免誤差。
質量控制的重要前提就是保證操作的整個流程的真實性與完整性,只有按照正確的操作方法進行軟件測試,軟件質量保證的正確性才能夠得到保障。在軟件質量保證之前,我們首先需要明確軟件測試的對象、軟件測試環境、軟件測試方法以及操作步驟,結合當前軟件測試的外部環境,嚴格按照相關的程序和標準進行操作,并強化控制好任意細節防止誤操作以及返工的情況發生,這樣才能確保軟件質量保證工作的順利展開,并且能夠提升軟件測試的質量。
在樣品軟件測試的過程之中,可選用標準環境進行軟件測試,從而能夠保證軟件測試結果的真實性與可靠性,并且能夠確保分析數據的準確性。其中,在軟件的單元級和部件級測試中,主要采用測試工具軟件,在模擬搭建的測試環境中進行白盒測試;在配置項級以及系統級測試中,采用實物環境或者實驗室中半實物環境,使用經過校準的設備和儀器儀表開展黑盒測試。
為了在軟件的整個生命周期中滿足日益增加的軟件質量要求,利用軟件工程化的方法,通過制度來規范軟件研發中設計、編碼、測試和交付等流程,通過流程來約束整個軟件生命周期中的各個環節,其中我們通過增加軟件測試的介入強度,增加對軟件的評估力度,從而從根本上逐步提高軟件質量。
首先,我們通過規范軟件研發的各個環節及其銜接來提高軟件的質量。從客戶的實際需求,轉換成軟件的具體需求并形成文檔,再將軟件的需求進行細化、分解,形成軟件設計文檔,包括概要設計文檔和詳細設計文檔。軟件的編碼人員則依據設計文檔進行軟件的編碼。上述活動的每一個步驟所形成的文檔或文件,都必須經過評審并納入配置管理。
然后,在軟件研發的各個環節中增加軟件測試的介入強度,從軟件的需求分析和設計文檔形成后,軟件測試人員就介入研發過程,通過對需求分析和設計文檔的評審,評估其可行性和合理性,未通過評審的環節則無法進入下一步環節。
而在具體的測試環節上,通過不同的維度對完成編碼的軟件進行測試,例如:針對具體函數進行單元級測試;針對函數之間的調用關系進行部件級測試(集成測試);針對獨立的軟件進行配置項級測試;對于多個軟件所形成的系統進行系統級測試。根據軟件的具體情況,選擇不同的測試策略,進行不同級別的測試。
具體的測試過程是:測試人員依據軟件的設計文檔,編寫測試計劃和測試說明,形成測試用例集,針對文檔要求的軟件功能、性能、接口、余量和安全性等指標執行測試用例集中所有的用例,記錄每一個用例的執行結果并和預期結果進行對比分析,評估其是否滿足設計的要求,對測試中發現的問題進行分類統計,最終形成測試報告。報告中含有軟件問題的分類和具體描述、軟件的千行BUG 密度統計、軟件問題的重要度等級分類統計,這些數據將為軟件質量的評估和持續改進提供重要的數據支撐。
通過不斷的積累,我們還定期對在軟件測試中發現的問題進行分析和總結,并發布軟件質量的評估報告,將一段時期內搜集的所有軟件問題進行不同角度的分類統計,例如文檔問題和程序問題的對比分析,重要問題和一般問題的對比分析,軟件的千行BUG 密度的對比分析,這些對比分析的數據有助于軟件的設計人員和編碼人員逐步提高其業務水平,從而提高軟件質量。如圖2 所示。

圖1:軟件內部結構

圖2
在軟件質量保證的過程之中,需要綜合考慮內部以及外部因素,具體比如在電路測試的過程之中,在軟件測試時的軟件測試區域做好防護措施,這樣就能夠最大程度上減少外界或者內部因素對軟件測試的影響,因此在軟件測試開始之前,軟件測試操作人員需要對軟件測試器材進行充分了解,就能夠避免一些問題的出現,面對長期使用的測試器材需要定期進行檢查,保證設備的運轉正常,從而能夠確保測試工作能夠順利進行。
綜上所述,軟件質量保證存在著諸多的環節,而在這些環節之中,我們需要小心謹慎地處理軟件質量保證中遇到的問題,實現對各個環節的監督與管理。本篇文章通過對軟件質量保證中存在的誤差進行論述,進一步得出分析過程中的質量控制措施,主要從以下的四個方面展開,分別為軟件測試的作用、使用標準工作環境、軟件測試的過程和方法、其它因素。