欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

軟件測試怎么入門

江奕云2年前20瀏覽0評論
軟件測試怎么入門?

軟件測試是軟件工程的重要過程之一,是保證軟件質量的重要手段。不同的軟件項目類型,軟件測試占整個項目開發工作量的15%到90%不等。例如普通數據分析軟件,測試投入的工作量比較小,但對于飛行控制、核電管理等軟件測試所投入的精力遠大于開發投入。軟件測試的重要性可見一斑。

現在軟件測試的書籍非常多,有介紹測試理論的、有介紹測試過程的、有介紹自動化測試的等等。軟件測試想入門可以先選擇2到3本好點的書,從閱讀開始。

這里我們先介紹一下軟件測試的基礎知識。

什么是軟件測試

廣義的軟件測試說白了就是主動地找軟件的問題,包括需求問題、功能問題、可用性問題、可靠性、邏輯問題、健壯性、性能等等。

為什么進行軟件測試

軟件行業發展初期,軟件測試的活基本是由開發工程師自己干的,測試方法及過程比較隨意。但是隨著軟件項目規模越來越大,越來越復雜,軟件故障越來越難以避免,給企業和個人帶來沉痛損失的案例也屢見不鮮,下面僅舉兩例:

1962年美國水手1號飛船發射后262秒就不得不摧毀掉,后來分析是因為代碼中漏敲了一個破折號。

2009年,豐田因雷克薩斯ES350突然剎車失靈,導致車上4名乘客全部罹難。事后豐田不得不在全球召回900萬輛汽車,本次召回給豐田帶來的經濟損失達30億美元。后來據查是防抱死延時軟件故障所致。

因此,對軟件產品主動進行認真測試,盡可能地查出可能的問題和漏洞,已經是現代軟件開發必做的重要工作。通過軟件測試將軟件故障消滅在發布之前,這是所有軟件從業人員的共同心愿。

靜態測試和動態測

軟件測試有動態測試和靜態測試兩種方法。

靜態測試就是通過閱讀軟件的需求 、設計、編碼等靜態文檔,通過分析靜態文字或圖表來發現需求、設計、編碼存在的問題。

可見靜態測試的主要方式就是同級評審,其好處是可以在軟件需求階段、設計階段和編碼期間就可以提前進行檢查分析,及早發現存在的問題。一般而言,問題發現越早,修復成本越低。從這個角度看,靜態測試比動態測試具有更高的性價比。

動態測試就是等軟件開發完畢,測試工程師安裝好軟件,在不同的環境、不同的輸入的情況下,運行并測試軟件的功能、可用性、性能等。我們通常所說的軟件測試就是指動態測試。

單元測試、集成測試、用戶測試、阿爾法測試

軟件系統根據功能和系統內部結構可以劃分為一系列的軟件模塊(或子系統),具體開發是一個模塊一個模塊地實現的(當然多個模塊可以并行開發)。 每實現一個模塊,開發人員都要認真地對所開發的模塊進行測試,這種主要由開發工程師執行的模塊測試,我們稱之為單元測試。

單元測試期間一般要開發專門的測試主程序(有時還要開發測試樁程序)。

整個系統開發完畢后,由測試團隊對軟件進行整體的測試,我們稱之為集成測試。

用戶拿到我們開發的軟件產品或系統后,他們一般也要進行獨立的測試,這種類型的測試稱之為用戶測試。

如果認為軟件基本合格了,企業可以將軟件進行小范圍發布(如企業內部、免費用戶群等),讓大家測試用并反饋發現的問題,這個過程叫阿爾法測試。

單元測試、集成測試都需要事先進行規劃,有明確的流程要求。

集成測試流程

集成測試與軟件開發是軟件開發過程的兩條并行線程,其流程如下圖所示:

如上圖所示,集成測試可劃分為測試分析、測試設計(包括測試準備)、測試執行三大步驟。

測試分析階段對應系統的需求分析,它將軟件系統進行功能拆分,分成不同級別的多個功能點,這些功能點是隨后測試設計的基礎。

測試設計在測試分析的基礎上為每個功能點設計多個測試用例。有些用例重點測試基本功能,有些用例重點測試錯誤響應,有些用例測試邊界條件,有些用例測試性能等等。測試數據的收集準備是測試設計的重要工作內容,也往往是測試過程的難點所在。

集成測試執行階段使用測試設計生成的測試用例和測試數據,對軟件逐個測試用例進行測試。發現軟件故障應按公司模板或使用專門的故障跟蹤工具進行規范化的故障跟蹤記錄。

一輪測試完畢后,開發工程師應該根據故障記錄進行問題重現、分析、修復,并認真記錄好修復信息。

通常軟件提交給用戶前需要進行三輪以上的集成測試。

實際工作中我們常常發現,按正規的集成測試流程走也有一定的問題,就是工作量大,投入時間長,測試效果往往不好。大道無形,我們不妨根據項目和企業自身人力資源特點,將集成測試和流程測試、Bug Hunting測試等多種測試方式結合起來使用,效果會更好一些,

測試工程師的職業規劃

大的軟件公司通常有專門的測試團隊,測試團隊常年累月負責軟件的測試分析、測試設計、集成測試工作。

好的測試工程師需要熟悉目標軟件所在行業的專業背景知識,需要對項目需求細節有深入透徹的把握,需要有對軟件內在邏輯的直覺領悟,也需要足夠的耐性、細心和認真負責的工作態度。加班加點是軟件測試人員的家常便飯,團隊沖突也是測試團隊要面對的常客,當一個好的測試工程師的確不容易。

小規模軟件公司,往往沒有專門的測試團隊,測試工作往往由開發工程師、現場工程師輪流擔當。

測試工程師們在測試工作得心應手之后,結合自身特點,學習掌握一些開發技能,對自己職業發展會有幫助。