軟體開發測試有哪些好的方法

2021-04-01 09:16:46 字數 2950 閱讀 9360

隨著軟體產業的發展、軟體規模的逐步擴大,軟體的質量問題日漸突顯,軟體測試與軟體質量監控也越來越受到軟體行業的重視。各類招聘資訊中對軟體測試類人才的需求猛增,很多人由此而選擇了軟體測試,但其中不少人始終未能拿到軟體測試行業的「入場券」,原因何在?軟體測試行業是乙個高速發展的新興行業,儘管當下認知程度不高,但有著廣闊的發展前景。

如何才能更有效地進入軟體測試領域是本文的研究重點所在。

1 軟體測試的誤區

1.1 誤區一:軟體開發完成後才開始進行軟體測試。

軟體從開始計畫、編制、測試,一直到公開使用的過程中都可能存在軟體缺陷。事實證明,需求規格說明書是導致軟體缺陷的最大原因。隨著時間的推移,修復軟體缺陷的費用呈幾何級數增長。

1.2 誤區二:軟體發布後如果發現質量問題,那是軟體測試人員的錯。

軟體測試只能確認軟體存在錯誤,不能保證軟體沒有錯誤。軟體的高質量不是軟體測試人員測出來的,是靠軟體生命週期的各個過程設計出來的。應該分析軟體專案的各個過程,從過程改進方面尋找產生錯誤的原因和改進的措施。

1.3 誤區三:軟體測試要求不高,隨便找個人都可以完成這項工作。

軟體測試涉及很多領域,簡單的點點滑鼠、按按鍵盤的工作根本無法達到軟體測試的目的,若想立足於軟體測試領域必須掌握和學習很多方面的知識。

1.4 誤區四:專案進度吃緊時少做些測試,時間富裕時多做測試。

縮短測試時間會導致測試不完整,無法達到測試的目的,測試效果也將大打折扣。軟體專案過程應該是有計畫的、可控制的,若專案過程管理混亂必然會降低軟體測試的質量。

2 學習軟體測試的過程和方法研究

不同知識基礎的人,學習軟體測試技術、進入軟體測試領域的感受也有所不同,很多人在學習軟體測試知識的過程中非常盲目,沒有計畫、沒有方向,學習效率低下。

在此,本人對學習軟體測試的過程和方法進行總結、研究和**,以作交流學習之用。

2.1 學習軟體測試的過程

(1) 第一步明確測試目的。有目的才有動力,有目標才有方向。軟體測試就是對軟體需求分析、設計規格說明、程式**以及軟體其他相關產品進行測試的過程,是軟體質量保證的關鍵步驟。

明確軟體測試的目的和目標才能準確的定位測試並更有效的進行測試。

(2) 第二步結合實際專案,學習掌握測試方法、合理設計測試用例。常用的測試方法有黑盒測試和白盒測試。黑盒測試在完全不考慮程式內部結構和內部特性的情況下,針對軟體介面和軟體功能等進行測試,是最基本的測試方法。

白盒測試允許測試人員利用程式內部的邏輯結構及有關資訊設計或選擇測試用例進行測試。準確的理解和掌握這些技術及其相互關係是進行軟體測試的前提。因此,在學習軟體測試的過程中,要準確的把握測試方法並有條理的組織和設計測試用例。

(3) 第三步熟悉測試步驟。 乙個完整的軟體測試過程包括測試計畫、測試設計、測試開發、測試執行、缺陷跟蹤和測試評估。軟體測試管理工具可以系統地控制整個測試過程,實現從測試需求、測試設計、測試執行和缺陷跟蹤所有操作的全方位跟蹤管理,並為這幾個部分提供了關聯機制,使整個測試管理過程更加簡單和有組織。

在此,本人建議在學習軟體測試技術的過程中,以乙個測試管理工具(例:testdirector)為平台進行測試實踐,用心體會乙個完整的測試過程。

(4) 第四步了解測試階段。軟體測試從軟體需求階段就已介入,基本貫穿軟體專案開發全程,不同階段有不同的測試點,需要不同的測試方法和技術。軟體測試可以大致分為需求評審、 單元測試、整合測試、系統測試、驗收測試( α測試/ β 測試)這幾個階段。

明確各個階段的測試目的和內容才能選擇相對合適的方法進行測試。

(5) 第五步測試技術的提高和公升級。軟體自動化測試是一項讓計算機代替測試人員進行軟體測試的技術,通常借助測試工具來執行。自動化測試可以模擬軟體實際執行效果,測試效率高、準確度和精確度高、可以持續測試而無須休息,彌補了手工測試的不足。

效能被列為系統質量的重要指標,並越來越受到人們的重視。效能測試是對軟體效能的表現進行測試,較功能測試更難實現。

2.2 學習軟體測試的方法學習方法的好壞和學習習慣對學習效果的影響非常大,以下是軟體測試初學者需要注意的幾個地方:

(1) 勤學好問、充分利用各類學習資源。問題積累是學習的攔路虎。時間越久,問題越多,給學習造成了很大的阻力,更甚者會讓初學者心生放棄。

三人行必有我師,勤學好問,不要滋生「歷史」遺留問題。當然,對於乙個複雜問題,如果在短時間內無法理解透徹時,可以先簡單的了解,然後在之後的學習和實踐過程中慢慢體會其含義。由簡入繁,勿鑽「牛角尖」。

(2) 實踐出真知。實踐是檢驗真理的唯一標準。要想真正學會測試,必須進行實際的測試。不要說沒有測試環境,想學的話,完全可以自己搭建環境。有了行動才能有收穫。

(3) 切莫「閉門造車」。軟體測試技術是解決實際軟體測試問題的技術,與現實世界密切相關,盲目的學習可能適得其反。因此,應多關注軟體測試行業的動態,了解軟體測試行業的真正需求,有目的的學習。

(4) 細心、耐心。軟體測試是對人技術和意志的一種考驗,不細心就有可能與缺陷擦肩而過,沒有耐心就無法將枯燥的測試進行到底。只有充分的細心和耐心才能適應和完成軟體測試工作。

(5)「懷疑」精神。定性思維往往是發生錯誤的根源,對於軟體測試人員來說,更應該具有「懷疑」精神,要考慮每個細節,不要想當然地接受任何假設。

3 軟體測試的常用技巧軟體測試雖然辛苦,但掌握一定技巧後將事半功倍。

3.1 邊界測試。邊界是最容易出錯的地方。在進行軟體測試時,應測試臨近邊界的合法資料(即最後乙個可能合法的資料, 以及剛超過邊界的非法資料)。

3.2 非法測試。人們在不了解軟體功能或使用方法的情況下,經常會不經意地輸入一些非法資料或進行一些非法操作而導致軟體出現意外情況。

因此,在進行軟體測試的過程當中,應考慮進行類似的非法測試。例如在輸入數字的地方輸入字元、輸入郵件位址的地方輸入非法格式的資料、進行一些不合理的操作等。

3.3 介面測試。程式往往在介面的地方發生錯誤,在進行相關測試時切勿掉以輕心。

3.4 **重用測試。在開發過程中有些模組功能幾乎相同,程式設計師在重用**時可能忘記在原有**的基礎上作修改或修改不全面而引發錯誤。在測試的過程中應更加留意這方面的測試。

3.5 失效恢復測試。當意外(如網路突然中斷、系統崩潰等)發生時,使用者能否繼續使用系統,使用者將受到多大的影響也是測試要考慮的問題。

學習軟體開發的方法

做個有腦子的程式設計師 開發軟體不是搞科學研究,是工程應用,沒有解決不了的問題,只有沒找到解決方法的問題。一定學習吸收別人的經驗教訓,重視積累 剛開始學習,什麼都不會,一動手,就會碰到很多困難,挫折會打擊學習的積極性,一定要通過有趣的案例,增加動手的積極性和實踐的主動性學一門語言,除了語言本身的技能...

3055 軟體開發測試報告

專案名稱 版本號 目錄說明這份測試分析報告的具體編寫目的,指出預期的閱讀範圍。說明 a 被測試軟體系統的名稱 b 該軟體的任務提出者 開發者 使用者及安裝此軟體的計算中心,指出測試環境與實際執行環境之間可能存在的差異以及這些差異對測試結果的影響。列出本檔案中用到的專問術語的定義和外文首字母組詞的原片...

軟體開發度量及考核方法

一 引言 如果要提高軟體開發人員的開發質量,必須有相應的考核制度,有了制度後才能推動開發人員想方設法改善自已的開發質量。雖然目前很多公司有這方面的績效考核,但是由於軟體開發行業的特殊性,大多數公司沒有對軟體開發的過程進行細粒度的度量,所以不能依據有效的度量資料來考核開發人員的工作績效,大部份只是憑考...