軟體測試是伴隨著軟體的產生而產生的。早期的軟體開發過程中軟體規模都很小、複雜程度低,軟體開發的過程混亂無序、相當隨意,測試的含義比較狹窄,開發人員將測試等同於「除錯」,目的是糾正軟體中已經知道的故障,常常由開發人員自己完成這部分的工作。對測試的投入極少,測試介入也晚,常常是等到形成**,產品已經基本完成時才進行測試。到了上世紀80年代初期,軟體和it行業進入了大發展,軟體趨向大型化、高複雜度,軟體的質量越來越重要。這個時候,一些軟體測試的基礎理論和實用技術開始形成,並且人們開始為軟體開發設計了各種流程和管理方法,軟體開發的方式也逐漸由混亂無序的開發過程過渡到結構化的開發過程,以結構化分析與設計、結構化評審、結構化程式設計以及結構化測試為特徵。人們還將「質量」的概念融入其中,軟體測試定義發生了改變,測試不單純是乙個發現錯誤的過程,而且將測試作為軟體質量保證(sqa)的主要職能,包含軟體質量評價的內容,bill hetzel在《軟體測試完全指南》(complete guide of software testing)一書中指出:「測試是以評價乙個程式或者系統屬性為目標的任何一種活動。測試是對軟體質量的度量。」這個定義至今仍被引用。軟體開發人員和測試人員開始坐在一起**軟體工程和測試問題。
軟體測試已有了行業標準(ieee/ansi ),2023年ieee提出的軟體工程術語中給軟體測試下的定義是:「使用人工或自動的手段來執行或測定某個軟體系統的過程,其目的在於檢驗它是否滿足規定的需求或弄清預期結果與實際結果之間的差別」。這個定義明確指出:軟體測試的目的是為了檢驗軟體系統是否滿足需求。它再也不是乙個一次性的,而且只是開發後期的活動,而是與整個開發流程融合成一體。軟體測試已成為乙個專業,需要運用專門的方法和手段,需要專門人才和專家來承擔。
進入上世紀90年代,軟體行業開始迅猛發展,軟體的規模變的非常大,在一些大型軟體開發過程中,測試活動需要花費大量的時間和成本,而當時測試的手段幾乎完全都是手工測試,測試的效率非常低;並且隨著軟體複雜度的提高,出現了很多通過手工方式無法完成測試的情況,儘管在一些大型軟體的開發過程中,人們嘗試編寫了一些小程式來輔助測試,但是這還是不能滿足大多數軟體專案的統一需要。於是,很多測試實踐者開始嘗試開發商業的測試工具來支援測試,輔助測試人員完成某一型別或某一領域內的測試工作,而測試工具逐漸盛行起來。人們普遍意識到,工具不僅僅是有用的,而且要對今天的軟體系統進行充分的測試,工具是必不可少的。測試工具可以進行部分的測試設計、實現、執行和比較的工作。通過運用測試工具,可以達到提高測試效率的目的。測試工具的發展,大大提高了軟體測試的自動化程度,讓測試人員從繁瑣和重複的測試活動中解脫出來,專心從事有意義的測試設計等活動。採用自動比較技術,還可以自動完成測試用例執行結果的判斷,從而避免人工比對存在的疏漏問題。設計良好的自動化測試,在某些情況下可以實現 「 夜間測試 」 和 「 無人測試 」 。在大多數情況下,軟體測試自動化可以減少開支,增加有限時間內可執行的測試,在執行相同數量測試時節約測試時間。 而測試工具的選擇和推廣也越來越受到重視。在軟體測試工具平台方面,商業化的軟體測試工具已經很多,如捕獲/回放工具、web測試工具、效能測試工具、測試管理工具、**測試工具等等,這些都有嚴格的版權限制且**較為昂貴,但由於**和版權的限制無法自由使用,當然,一些軟體測試工具開發商對於某些測試工具提供了beta測試版本以供使用者有限次數使用。幸運的是,在開放原始碼社群中也出現了許多軟體測試工具,已得到廣泛應用且相當成熟和完善。
IT薪水發展史
1k 兄弟別做it了,不論你是什麼公司,國營的做it就是配角,那位兄弟願意一輩子做配角,非國營的嗎,看看做什麼別的合適,it不好混,趁早離開 1k 3k 初級階段,一般是剛進公司的,肯定非常缺錢,這時候動力足,也有時間,沒有男 女朋友拖累,象公司內部5k 6k的高手學習。什麼,沒有,什麼爛公司,你也...
記憶體發展史
記憶體 容量 指標 時期出現原因 simm記憶體 30pin 256kb 1982年至今 軟體程式和新一代80286硬體平台的出現 simm記憶體 72pin 512kb 2mb 1988 1990 pc迎來386和486時代,cpu向16bit發展 edo dram 4 16mb 電壓 5v 頻寬...
前端發展史
不知道什麼時候開始,前端開發已經到了不開乙個 watcher 就無法工作的地步了。不依賴 gulp babel webpack,還能優雅地寫 嗎?那我就帶你來回顧一下這一切是怎麼發生的。從哪開始說好呢?我們就從 前端打包 開始吧。前端打包 很久以前 也就五年左右吧,但是五年前端已經大變樣了 頁面的 ...