葉雨
摘 要
當今計算機行業的蓬勃發展,軟件開發的需求越來越大,開發規模也逐漸變大,對于軟件的安全實用性要求也越來越高,軟件測試工作對于保證軟件質量有著至關重要的作用,越來越受到人們的重視。本文主要探討了什么是軟件測試以及如何使軟件測試管理工作合理地進行。
【關鍵詞】軟件測試;測試過程;管理
1 軟件測試的定義
軟件測試(Software testing)的目的是使所開發的軟件符合用戶的要求,它是整個軟件生存期中非常重要的一個環節。換句話說,軟件測試也可以定義為在軟件正式投入實際應用前,對軟件的需求分析、設計規格說明和編碼三方面進行最終審核。IEEE曾經給軟件測試擬定了如下的定義,定義表述如下:"軟件測試是用人工或自動的手段來運行或檢測某個軟件系統,其目的在于檢驗軟件是否滿足用戶的需求并且找出預想結果與實際結果存在的差別"。因此,軟件系統是否滿足用戶需求是軟件測試的最終目的。
對于用戶來說,軟件測試的過程中暴露的隱藏的錯誤和缺陷越多,用戶越高興,因為對它們來說,發現的錯誤越多就可以越及時地去解決這些錯誤。我們在進行軟件測試工作時應該根據軟件開發各階段的規格說明和程序的內部結構來編寫相應的測試用例,編寫完成后運行程序,來檢驗系統是否存在錯誤或缺陷。
2 合理的測試流程以及相應的測試管理
一個軟件的好壞取決于軟件測試工作是否合理和全面,而軟件測試工作能否順利完成關乎著測試工作的質量高低。對測試工作而言,每個測試都有一定的周期,軟件測試周期是從產品的需求階段開始,貫穿整個軟件開發過程,并在每個階段都進行相應的測試活動。以下針對軟件開發測試,介紹了一套合理的測試流程,并對每個測試流程提出了相應的測試管理意見。
2.1 軟件測試流程
2.1.1 需求階段
軟件測試工作是根據需求來設計的。對于測試人員而言,因為軟件使用的群體不同,不同的用戶群體關注的目標也不相同,因而各自提出的需求也不一樣。針對不同用戶提出的含糊的、泛泛的要求,測試人員需要對它們進行概括和總結,從中歸納出不同用戶真正的需求。之后針對需求進行分析,制定相應的測試計劃,確定測試目標,規定測試的時間和周期,進行需求的驗證測試。為了能更好地完成測試,我們可以依照不同的測試情況,比如項目規模的大小,測試人員的素質等制定相應的測試計劃。
2.1.2 分析設計階段
在分析設計階段,我們可以依據需求文檔、設計文檔(來自開發)和用戶文檔來制定相應的計劃方案,包括集成測試計劃、單元測試計劃和測試方案。并對每個測試計劃進行跟蹤,及時地了解每個測試方案的進度。一旦測試過程出現偏差或者錯誤,我們可以及時地進行調整和修改。同時我們還可以編寫測試用例設計文檔,它主要是根據所測試的類型和需求進行編寫,因為類型和需求不斷地改變,所以測試用例文檔也要相應地進行改變,所以編寫混合模式的測試用例一種很好的解決方案。此用例是為每個需求點至少設計兩個測試用例:一個是正面測試用例,要求完全符合用戶提出的任何需求;另一個是負面測試用例,說明存在不合適的條件使得測試用例設計文檔不能滿足用戶需求,并且論證了當滿足某一條件時,所寫文檔能成功通過要求。
2.1.3 編碼階段
首先我們要制定一個測試用例文檔模板,其內容主要包括測試用例名稱、測試用例描述、測試優先級、事前條件預設、操作步驟、期望結果等。制定完成后,需要由相關的測試人員和開發人員進行評審,根據評審意見進行相應地補充和修改,并在今后地使用中不斷更新測試用例。
2.1.4 測試階段
在測試的過程中,還需要注意以下幾個問題:
(1)我們依據測試步驟完成測試工作后,雖然所得結果和期望結果基本一致,但是這并不說明整個測試是成功的,我們還需要對系統的操作日志、系統運行日志和系統資源使用情況進行查看,最終確定是否全面完成所需要達成的目標,這樣一整套操作下來才可以稱為一個全方位的觀察。
(2)記錄測試日志。為了保證整個測試流程的順暢和正確,我們針對測試的每一個流程,都應及時記錄相應的測試執行日志。其內容一般包括:哪些測試用例被執行過,由誰執行,這些用例是否正確執行,在執行過程中存在哪些缺陷,遇到哪些問題,測試流程存在哪些風險等,認真記錄這些日志,可以為以后測試中再出現相似問題提供解決依據。
(3)對缺陷進行判斷與跟蹤。測試人員對測試工作中出現的問題無法判斷是否是缺陷時,應保留現場,等專業人員過來進行處理;如果軟件測試人員可以判斷其為缺陷,應及時地提交缺陷報告,并詳細地記錄在哪些環節出現了什么樣的缺陷,提交執行用例后的錯誤日志。報告提交后,公司一般會派相應的開發人員進行跟蹤,或者由發現缺陷的人來跟蹤(他們對整個流程更為熟悉),判斷是否為缺陷,然后進行缺陷的處理。
(4)對測試用例的更新工作要及時。這是因為:第一、有時我們編寫的測試用例不一定完全符合用戶要求,可能會出現用例遺漏或者冗余的情況,這時需要進行補充或刪除;第二、當今用戶需求、軟件版本更新太快,測試用例也要及時更新跟上時代的潮流。
3 結束語
本篇文章我們介紹了什么是軟件測試以及相應的測試流程,針對測試流程中出現的問題我們也提出了相應的測試管理辦法。軟件測試作為軟件項目管理的一個分支,決定著整個軟件工程的質量,我們加強軟件測試管理的工作,確保軟件測試流程的順利完成,從而為每一位用戶提供優質的軟件服務。
參考文獻
[1]李新華,陳麗容,馬立群等.Edward Kit《軟件測試過程改進》[M].北京:機械工業出版社,2003.
[2]于涌.軟件性能測試與Load Runner實戰[M].北京人民郵電出版社,2008.
[3]蔡嘯.軟件測試分析及測試方法分類[J].濟南職業學院學報,2012(05).
[4]付小穎.軟件測試常見問題及誤區分析[J].軟件導刊,2008(09).
[5]單錦輝,姜瑛,孫萍.軟件測試研究進展[J].北京大學學報(自然科學版),2005(01).