社會實踐論軟體測試的重要性

2021-03-04 09:51:21 字數 3348 閱讀 3222

社會實踐

摘要:本文論述了軟體測試的重要性,簡要介紹軟體測試的基本過程,以及一些常用的技術手段、測試策略和準則。使讀者在認識到軟體測試重要性的同時,能夠進一步了解應如何正確地選擇和有效地運用各種各樣的測試方法、技術和工具,來提高軟體的質量和可靠性。

1前言是否具有穩定性(robustness),並寫出相應的測軟體測試在產品開發中佔據相當重要的部試規範和測試案例。微軟公司曾經算過一筆賬:最分。

在微軟內部,軟體測試人員與軟體開發人員的初,微軟公司與大家一樣,認為測試不重要,重要比率一般為 1.5~2.5左右,這可能遠遠超出了大的是開發人員。

通常,乙個團隊中有幾百個開發人家對測試人員的理解,但微軟軟體開發的實踐過員,但只有幾個測試人員,並且開發人員的工資比程已經證明了這種人員結構的合理性。微軟的軟測試人員高很多很多。經過多年的實踐後公司發件測試人員分為兩類:

測試工具軟體開發工程師現,為那些出現問題的產品再去修乙個補丁程式(software development engineer in test,簡稱所花的錢,比多雇用幾個測試人員的費用要多得sde/t)和軟體測試工程師(software test engi-多。測試人員水平越高,找到 bug的時間就越早,neer,簡稱 ste)。測試工具軟體開發工程師負責寫軟體就越容易更正,產品發行之後越穩定,公司賺測試工具**,並利用測試工具對軟體進行測試;的錢也越多。

這是微軟慢慢悟出來的道理。或者開發測試工具為軟體測試工程師服務。軟體在談到軟體測試時,許多人都引用 grenford 測試工程師負責理解產品的功能要求,然後對其j·myers在《the art of softwaretesting》一書進行測試,檢查軟體有沒有錯誤(bug),決定軟體中的觀點:

(1)軟體測試是為了發現錯誤而執行程式的過程;

(2)測試是為了證明程式有錯,而不是證明程式無錯誤。

(3)乙個好的測試用例是在於它能發現至今未發現的錯誤;

(4)乙個成功的測試是發現了至今未發現的錯誤的測試。

2軟體測試的組織與管理

作為軟體開發的重要環節,軟體測試越來越受到人們的重視。隨著軟體開發規模的增大、複雜程度的增加,以尋找軟體中的錯誤為目的的測試工作就顯得更加困難。然而,為了盡可能多地找出程式中的錯誤,生產出高質量的軟體產品,加強對測試工作的組織和管理就顯得尤為重要。

當設計工作完成以後,就應該著手測試的準備工作了。一般來講,由一位對整個系統設計熟悉的設計人員編寫測試大綱,明確測試的內容和測試通過的準則,設計完整合理的測試用例,以便系統實現後進行全面測試。

測試人員要仔細閱讀有關資料,包括規格說明、設計文件、使用說明書及在設計過程中形成的測試大綱、測試內容及測試的通過準則,全面熟悉系統,編寫測試計畫,設計測試用例,作好測試前的準備工作。為了保證測試的質量,將測試過程分成幾個階段,即:**審查、單元測試、整合測試和驗收測試。

綜上,軟體測試是乙個極為複雜的過程。乙個規範化的軟體測試過程通常須包括以下基本的測試活動。

1 擬定軟體測試計畫;

2 編制軟體測試大綱;

3 設計和生成測試用例;

4 實施測試;

5 生成軟體問題報告。

實際上,軟體測試過程與整個軟體開發過程基本上是平行進行的。測試計畫早在需求分析階段即應開始制定,其它相關工作,包括測試大綱的制定、測試資料的生成、測試工具的選擇和開發等也應在測試階段之前進行。充分的準備工作可以有效地克服測試的盲目性,縮短測試週期,提高測試效率,並且起到測試文件與開發文件互查的作用。

3軟體測試的方法

軟體測試的方法和技術是多種多樣的。從測試是否針對系統的內部結構和具體實現演算法的角度看,通常可分為兩類:白盒子方法(結構測試)和黑盒子方法(功能測試)。

前者是針對系統內部實現的測試,而後者側重於系統的外部功能和特性。

4軟體測試的工具

一些受軟體開發人員歡迎的軟體測試工具為軟體測試提供了強有力的支援。如美國 rational公司的著名套裝軟體 sqa、 pureatria公司極具特色的 purify、 mercury interactive公司的winrunner等。在過去的數年中,通過使用自動化的測試工具對軟體的質量進行保障的例子已經數不勝數。

到現在為止自動化測試工具已經足夠完善了,我們完全可以在軟體的測試中,應用自動化的測試工具,來大幅度的提供軟體測試的效率和質量。在使用自動化的測試工具時,我們建議盡早的開始測試工作,這樣可以使修改錯誤更加容易和廉價,並且可以減少更正錯誤對軟體開發周期的影響。在測試技術飛速發展的今天,自動測試工具的使用也越來越廣泛。

測試工具的引入,也為提高測試質量和應用程式質量起到了關鍵的促進作用。

使用測試工具的好處:

(1)減輕了測試工作量並縮短了測試進度;

(2)增強了測試的能力,擴充套件了測試的深度和廣度;

(3)重現軟體缺陷的能力;

(4)提供了質量測量的一種手段。

自動化測試的三個步驟:開始自動化測試過程的第乙個步驟是根據測試用例(測試需求)錄製測試活動的過程。當測試人員在被測試的應用程式中進行測試的活動時,自動化測試工具將捕獲測試人員與應用程式之間的所有互動,並根據這些互動生成可重用的測試指令碼。

測試人員在這個階段需要考慮的乙個關鍵問題就是,使用的測試工具是否有能力在應用程式的環境中捕獲所有與應用程式的互動。

這裡我們要強調的是你需要考慮與測試應用有關的所有環境。假如你的應用是乙個基於 web的應用,你可能會認為我們測試工具只要能夠支援你使用的瀏覽器就足夠了。但這並不是足夠的,在測試基於 web的應用的過程中,一定會去要和一些其他的輔助應用打交道,比如也許你需要和某種資料庫查詢工具進行互動以確認資料被正確的輸入到了資料庫,或者也許你需要和登錄檔編輯器進行互動以驗證登錄檔的鍵值。

或者也許你將需要和乙個電子郵件的客戶端程式互動來驗證從你的 web應用發出的郵件。你的主要測試環境將是你的瀏覽器,但是你同時要確認你能夠通過測試工具來測試其他所有的輔助環境,這樣才能實現測試的所有環節的自動化。如果某乙個測試環節不能被自動化測試工具支援,它將成為阻礙測試效率的瓶頸。

自動化測試過程的第二個步驟是增強和改進已錄製的測試指令碼。你需要閱讀錄製好的指令碼**,並對其進行適當的修改。

自動化測試過程的第三個步驟是執行自動化測試指令碼完成自動化測試。執行單個或者少量的測試指令碼是十分簡單的,但是當回歸測試不斷的增加時,情況就變得複雜多了。你必須確認你能夠協調測試指令碼之間的關係,並能夠從多台機器上按照多種配置來執行測試指令碼。

5軟體測試的意義——事後分析

軟體測試的目的單單是發現缺陷這麼簡單嗎?如果是「是」的話,我敢保證,類似的軟體缺陷在下一次新專案的軟體測試中還會發生。古語說得好,「不知道歷史的人必然會重蹈覆轍」軟體測試結果進行認真的分析,我們就無法了解缺陷發生的原因和應對措施,結果是我們不得不耗費大量的人力和物力來再次查詢軟體缺陷。

很可惜,目前大多測試團隊都沒有意識到這一點,測試報告中缺乏測試結果分析這一環節。

6結語充分認識軟體測試的重要性和複雜性,合理地選擇測試方法,有效地組織測試人員和安排測試任務,並且盡量使用軟體測試工具增強軟體測試的自動化程度,無疑可以幫助軟體開發和測試人員大大提高測試效率和軟體的質量。

論教研的重要性

梨樹園小學王麗 教師是教學之本,當教師的專業得到了充分的提高和發展,這必將有力地促進學校教育教學的發展。位教師,面對幾十名學生,甚至幾百名學生,學生是在教師的指導和幫助下成長和發展的,教師的專業水平和業務能力直接關係到學生受教育的優良程度,關係到學生學習水平和能力發展的提高快慢。學校的教育應面向全體...

論舞蹈教育中藝術實踐的重要性

作者 張盈 戲劇之家 2016年第18期 摘要 舞蹈教育在高校中發展迅速,在發展的同時卻忽略了藝術實踐的重要性,容易使學生只具有理論知識,而不具有實踐 創造 創新以及合作能力。為了更好地促進舞蹈教育的發展,需要在教學過程中增加藝術實踐,讓藝術回到生活中,增強學生的綜合素質。本文在此基礎上分析了舞蹈教...

論社交禮儀的重要性

想必很多人都知道 曾子避席 的故事。曾子避席 出自 孝經 曾子是孔子的 有一次他在孔子身邊侍坐,孔子就問他 以前的聖賢之王有至高無上的德行,精要奧妙的理論,用來教導天下之人,人們就能和睦相處,君王和臣下之間也沒有不滿,你知道它們是什麼嗎?曾子聽了,明白老師孔子是要指點他最深刻的道理,於是立刻從坐著的...