(5) 對自己編寫的程序盲目自信,在發現錯誤后,顧慮別人對自己的開發能力的看法。
4)提交以后對用戶反饋信息缺乏及對缺乏足夠的重視,對于有大量用戶有持久生命力的軟件產品(如Microsoft Office),用戶反饋信息較全面,便于開發和測試人員進行軟件的修補和維護;而一些中小軟件企業的產品卻遠遠無法和Microsoft Office 相比;于是可能缺乏足夠的用戶反饋信息,或沒有足夠的時間或人力處理用戶反饋信息。
5)開發及測試人員工作習慣,編程習慣,測試習慣等也影響測試的效果;由于測試人員短期的學習與培訓,一般能提高的只是方法和技巧;而其自身能力與習慣可能的負面影響卻一時難以消除。
4、測試管理問題的解決
4.1 建立軟件測試管理體系
建立軟件測試管理體系的主要目的是確保軟件測試在軟件質量保證中發揮應有的關鍵作用,包括以下工作:
軟件產品的監視和測量:對軟件產品的特性進行監視和測量,主要依據軟件需求規格說明書,驗證產品是否滿足要求。所開發的軟件產品是否可以交付,要預先設定質量指標,并進行測試,只有符合預先設定的指標,才可以交付。
對不符合要求的產品的識別和控制:對于軟件測試中發現的軟件缺陷,要認真記錄它們的屬性和處理措施,并進行跟蹤,直至最終解決。在排除軟件缺陷之后,要再次進行驗證。
產品設計和開發的驗證:通過設計測試用例對需求分析、軟件設計、程序代碼進行驗證,確保程序代碼與軟件設計說明書的一致,以及軟件設計說明書與需求規格說明書的一致。對于驗證中發現的不合格現象,同樣要認真記錄和處理,并跟蹤解決。解決之后,也要再次進行驗證。
軟件過程的監視和測量:從軟件測試中可以獲取大量關于軟件過程及其結果的數據和信息,它們可用于判斷這些過程的有效性,為軟件過程的正常運行和持續改進提供決策依據。
一般應用過程方法和系統方法來建立軟件測試管理體系,也就是把測試管理作為一個系統,對組成這個系統的各個過程加以識別和管理,以實現設定的系統目標。同時要使這些過程協同作用、互相促進,從而使它們的總體作用大于各過程作用之和。其主要目標是在設定的條件限制下,盡可能發現和排除軟件缺陷。測試系統主要由下面6 個相互關聯、相互作用的過程組成:測試規劃、測試設計、測試實施、配置管理、資源管理和測試管理;確定這些過程的順序和相互作用,前一過程的輸出是后一過程的輸入。其中,配置管理和資源管理是這些過程的支持性過程,測試管理則對其他測試過程進行監視、測試和管理;確定這些過程所需的準則和方法,一般應制訂這些過程形成文件的程序,以及監視、測量和控制的準則和方法;確??梢垣@得必要的資源和信息,以支持這些過程的運行和對它們的監測;監視、測量和分析這些過程;實施必要的改進措施。
4.2 建立配置管理系統,規范項目管理流程
建立配置管理系統 CVS,CVS 的全稱是Current Version Control。在軟件質量體系的諸多支持活動中,配置管理系統處在支持活動的中心位置,它有機地把其它支持活動結合起來,形成一個整體,相互促進,相互影響,有力地保證了質量體系的實施。建立公司配置管理系統很容易得到公司領導層的支持,幾乎沒人反對。更重要的是建立配置管理系統后測試人員的工作有了系統保證,測試工作的“礦藏資源”有了明確的位置,可以主動積極開展測試工作。
4.3 測試過程分階段執行
將測試過程分成幾個階段執行,即:代碼審查、單元測試、集成測試、確認測試和系統測試。
單元測試是針對軟件設計的最小單位-模塊進行正確性檢驗的測試工作,其目的在于發現各模塊內部可能存在的各種差錯。在單元測試之后,需要按照設計時做出的結構圖,將它們聯結起來,進行集成測試。是檢驗所開發的軟件是否按用戶要求運行。確認測試應檢查軟件能否按合同要求進行工作,即是否滿足軟件需求說明書中的確認標準。軟件開發完成后,還要與系統中其他部分配套運行,進行系統測試,包括恢復測試、安全測試、強度測試和性能測試等。
4.4 做好過程管理
過程管理須做好以下工作:分階段設立里程碑,按里程碑計劃工作和總結工作;加強審核,測試過程的中間結果要進行充分的審核;注重風險管理和規避風險,任何決定和過程都存在風險,尤其是質量好壞的風險,通過審核管理風險。