<output id="uabzf"></output>
<code id="uabzf"><ol id="uabzf"></ol></code>


        1. 測試基本理論看這篇就夠了

          上一篇 / 下一篇  2022-10-19 11:33:55 / 個人分類:測試

          軟件測試(Software Testing):在規定的條件下對程序進行操作,以發現程序錯誤,衡量軟件質量,并對其是否能滿足設計要求進行評估的過程。

          一、軟件的分類?

          1、按照功能劃分:

          【系統軟件】:如操作系統、數據庫管理系統,各種驅動軟件等;

          【應用軟件】:如Office、有道翻譯、QQ等;

          2、按照技術結構劃分:

          【單機版本】:如Office,畫圖工具等;

          【C/S結構軟件】:如QQ、微信等;

          【B/S結構軟件】:如新浪、搜狐、google等;

          3、按照使用終端劃分:

          【PC端】:電腦版QQ等安裝在電腦端的軟件;

          【移動端】:如手機版QQ、微信等安裝在移動端的軟件;

          4、按照用戶劃分:

          【產品軟件】:Office、財務處理軟件、360衛士等;

          【項目軟件】:如為企業定制的OA系統等;

          5、按照開發規模劃分:

          1.png

          二、軟件測試的原則?

          1、測試的標準都是建立在用戶需求之上。測試人員要始終站在用戶的角度去看問題、去判斷軟件缺陷的影響。

          2、基于“質量第一”的原則。當時間和質量沖突時,時間要服從質量。

          3、事先定義好產品的質量標準。有了質量標準,才能依據測試的結果對產品的質量進行正確的分析和評估。

          4、盡早測試。在代碼完成之前,測試人員要參與需求分析、系統或程序設計的審查工作,而且要準備測試計劃、測試用例、測試腳本和測試環境。

          5、窮舉測試是不可能的。在測試中不可能運行路徑的每一種組合,然而,充分覆蓋程序邏輯,并確保程序設計中使用的所有條件是有可能的。

          6、程序員應避免測試自己的程序。程序員可能對需求說明書理解有誤則無法發現問題,測試是需要帶有”挑剔性”的行為。

          7、軟件測試計劃是做好軟件測試工作的前提。在進行實際測試之前,應制定切實可行的測試計劃并嚴格執行,特別要確定測試策略和測試目標。

          8、測試用例是設計出來的,不是寫出來的。需要根據測試的目的,采用相應的方法去設計測試用例,從而提高測試的效率,更多地發現錯誤,提高程序的可靠性。

          9、不可將測試用例置之度外,排除隨意性。避免出現漏測或重復測試的情況。

          10、對發現錯誤較多的程序段,應進行更深入的測試。一般來說,一段程序中已發現的錯誤數越多,其中存在的錯誤概率也就越大。

          三、軟件測試的分類?

          1、按照測試技術劃分

          (1)【黑盒測試】:功能測試。黑盒測試是以用戶的角度,把被測的軟件看作一個不能打開的黑盒子,著眼于程序外部結構,不考慮內部邏輯結構,主要針對軟件界面和軟件功能進行測試。它只檢查程序功能是否按照需求說明正常使用,程序是否能適當地接收輸入數據而產生正確的輸出信息!颈仨氝M行的】

          (2)【白盒測試】:邏輯結構測試,對代碼進行測試。主要看代碼的邏輯、算法、結構是否正確,要求懂代碼,也需要寫測試用例!静灰欢ㄟM行】

          (3)【灰盒測試】:是介于白盒測試與黑盒測試之間的一種測試,灰盒測試多用于集成測試階段,不僅關注輸出、輸入的正確性,同時也關注程序內部的情況。

          2、按是否進行代碼劃分

          (1)【靜態測試】:界面、文檔、代碼的測試。其中代碼測試重點關注代碼的規范性,一般檢查變量的命名,注釋的頻率,編程的規范性,不需要寫測試用例,一般只需要有代碼審查單,與白盒測試是不一樣的,經常把白盒測試和靜態測試結合到一起,叫做靜態白盒測試。

          (2)【動態測試】:使程序運行起來,看輸出結果,經常與黑盒測試是同步的。

          3、按照軟件特性進行分類

          (1)【功能測試】:是黑盒測試的一方面,它檢查實際軟件的功能是否符合用戶的需求。

          (2)【性能測試】:是通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統的各項性能指標進行測試。包括負載測試、壓力測試、穩定性測試等。

          ① 穩定性測試:叫可靠性測試(reliability testing),是指連續運行被測系統檢查系統運行時的穩定程度。

          ② 負載測試(load testing):是指讓被測系統在其能忍受的壓力的極限范圍之內連續運行,來測試系統的穩定性。

          ③ 壓力測試(stress testing):是指持續不斷的給被測系統增加壓力,直到將被測系統壓垮為止,用來測試系統所能承受的最大壓力。

          (3)【安全測試】:是指在IT軟件產品的生命周期中,特別是產品開發基本完成到發布階段,對產品進行檢驗以驗證產品符合安全需求定義和產品質量標準的過程 。

          (4)【兼容性測試】:是驗證軟件和其他軟件、平臺、系統、硬件等之間的依賴性。

          4、按照不同測試手段

          (1)【手工測試】

          (2)【自動化測試

          5、按照測試階段劃分

          (1)【單元測試】:指對軟件中的最小可測試單元在與程序其他部分相隔離的情況下進行檢查和驗證的工作,這里的最小可測試單元通常是指函數或者類。單元測試通常由開發工程師完成,一般會伴隨開發代碼一起遞交至代碼庫。單元測試屬于最嚴格的軟件測試手段,是最接近代碼底層實現的驗證手段,可以在軟件開發的早期以最小的成本保證局部代碼的質量。

          (2)【集成測試】:集成測試又叫組裝測試,通常在單元測試的基礎上,將所有程序模塊進行有序的、遞增的測試。重點測試不同模塊的接口部分。

          (3)【系統測試】:對整個軟件系統進行全面完整的測試過程,包括對功能、性能、以及軟件所運行的軟硬件環境進行測試。

          (4)【驗收測試】:在系統測試的后期,以用戶測試為主或有測試人員等質量保證人員共同參與的測試。

          alpha測試:由最終的用戶、測試、開發人員等共同參與的內部測試。

          beta測試:由最終的用戶在實際環境中進行測試,對于一些沒有固定用戶群體的公共類軟件(辦公軟件,輸入法,游戲),一般會發行公測版(beta版),讓用戶免費使用,發現bug后進行反饋。

          6、其他分類

          (1)【回歸測試】:指對軟件的新版本測試時,重復執行上一個版本測試時的用例。

          (2)【冒煙測試】:是指在對一個新版本進行系統大規模的測試之前,先驗證一下軟件的基本功能是否實現,是否具備可測試性。

          (3)【隨機測試】:是指測試中所有的輸入數據都是隨機生成的,其目的是模擬用戶的真實操作,并發現一些邊緣性的錯誤。

          (4)【精準測試】:是指借助一定的技術手段、通過算法的輔助對傳統軟件測試過程進行可視化、分析以及優化的過程。也就是說,精準測試可以使得測試過程可視、智能、可信和精準。

          四、測試用例設計方法?

          測試用例(TestCase):是為項目需求而編制的一組測試輸入、執行條件以及預測結果,以便測試某個程序是否滿足客戶需求?梢钥偨Y為:每一個測試點的數據設計和步驟設計。

          【常見設計方法】:

          1、等價類劃分;

          2、邊界值分析法;

          3、錯誤猜測法;

          4、場景法;

          5、測試大綱法;

          6、因果圖&判定表法;

          7、正交排列法;

          8、狀態轉換法;

          具體的用法詳見下一篇文章!

          五、bug的由來?

          1、歷史上的第一個軟件bug?

          bug:原意是”臭蟲“或”蟲子“。1947年9月9日,正當計算機剛剛被發明的時候,哈佛大學的某個計算機實驗室正在做實驗。由于當時的原始計算機由很多龐大且昂貴的真空管組成,運行時會產生光和熱,在下午15點45分的時候,一個飛蛾鉆入真空管內,導致整個計算機無法工作。當時這只小蟲子從真空管中取出后,計算機又恢復正常。后來,蟲子的泛稱bug這個名詞就沿用下來,而那個被拍死的飛蛾也就成為了歷史上發現的第一個bug。

          2、千年蟲的問題?

          在2000年,有一個著名的蟲子把業內攪得不可開交,那就是千年蟲問題,也叫做2000年問題!扒晗x”是指在某些使用了計算機程序的智能系統(比如一般的計算機系統以及自動控制芯片等)中,由于其中的年份沿用早期的設計,只使用2位十進制數來表示,比如用80代表1980年,因此當系統進行(或者涉及到)跨世紀的日期處理運算(比如計算1980年到2080年之間的日期)時,就會出現錯誤的結果,從而引發各種各樣的系統功能紊亂甚至系統奔潰。

          ​從千年蟲的實際例子中也可以看出,不考慮硬件上的限制,如果當初在設計日期表示格式的時候能夠想得更長遠一些,就完全可以避免這個蟲子的發作,從而節省一大筆修改更新軟件等費用(據未經證實的來自美國國際資料公司調查報告表明,光是1995年到1998年,全球捉千年蟲的開銷就已經達到了驚人的1840億美元)。

          后面的文章中再與你分享關于bug的故事!

          六、測試須知的三個概念?

          1、【返測】:開發修復的bug進行驗證。

          2、【回歸】:指對軟件的新版本測試時,重復執行上一個版本測試時的用例。

          3、【冒煙】:是指在對一個新版本進行系統大規模的測試之前,先驗證一下軟件的基本功能是否實現,是否具備可測試性。


          TAG:

           

          評分:0

          我來說兩句

          Open Toolbar
          明星乱亚洲合成图com|国产真实破苞视|日本a级不打码按摩片|一本通中文字幕亚洲欧美
          <output id="uabzf"></output>
          <code id="uabzf"><ol id="uabzf"></ol></code>