最基礎的軟體測試總結

2020-12-27 慧樂課堂

按測試手段來分類

測試時對象可見度:黑盒測試、白盒測試

根據狀態:靜態測試、動態測試

測試執行的方式:手工測試、自動化測試

黑盒測試

在測試中把我們被測試的系統或者軟體看成一個不能打開的盒子,在完全不考慮程序內部結構和內部特性的情況下,通過相關暴露出來的接口來對程序進行測試,黑盒測試只檢查程序的功能是否按照我們需求規格說明的規定能夠正常的使用,程序是否能夠適當的接收數據並產生正確的輸出信息。

黑盒測試著眼於程序的外部結構不考慮內部的邏輯。一般來說針對軟體外面的界面或者可見的功能來進行測試。

黑盒測試更多的從用戶的視角通過不同的數據和事件驅動我們的系統,並通過輸出結果進行判斷。

黑盒測試的優缺點

優點:

1、 容易實施,不需要關注內部的實現2、 更貼近用戶的使用角度

缺點:

1、 測試覆蓋率較低,一般只能覆蓋到代碼量的不到40%(系統不可見,因為不了解內部的實現,很多邏輯分支我們不清楚,所以測試很難覆蓋到這些分支)2、 針對黑盒的自動化測試,復用率較低,維護成本較高(黑盒測試最關注的功能,軟體產品在研發的迭代時期最經常變化的是功能,重複的利用率比較低,經常變化腳本的維護成本比較高)

黑盒測試的主要設計方法

等價類劃分法:針對程序有很對的輸入條件,把所有的輸入當中等價的歸為一類,這樣最後會形成若干典型的代表性的輸入,通過這些典型的數據進行測試用例的設計。

邊界值分析法:對輸入或輸出的邊界值進行測試

錯誤推測法:基於經驗或者直覺來判斷程序中可能出現錯誤的地方,從而針對性的設計用例的方法。

因果圖法: 拿到程序的需求規格說明書,針對每一種輸入和輸出在因果圖中看成原因和結果,對輸入和輸出賦以特定的標識符,然後將這些情況形成因果圖。

白盒測試

測試人員對內部結構非常了解,邏輯結構對測試人員是透明的,又稱為結構化測試和透明盒測試,針對程序的邏輯結構設計測試用例,用邏輯的覆蓋率衡量測試的完整性。

主要的邏輯單元:語句,條件,條件組合,分支,路徑

白盒測試的優缺點:

優點:

1、 迫使測試人員去仔細思考軟體的實現,理解原理2、 可以檢測代碼中的每條分支和路徑3、 揭示隱藏在代碼中的錯誤4、 對代碼的測試比較徹底

缺點:

1、 昂貴(較高的覆蓋率,工作量大)2、 無法檢測代碼中遺漏的路徑和數據敏感性錯誤(無法發現少寫的邏輯)3、不能直接驗證需求的正確性(針對代碼層次)

白盒測試的主要測試方法

代碼檢測法:主要包括桌面檢查、代碼審查,主要檢查代碼和設計的一致性。

靜態結構分析法:測試者通過使用測試工具來分析原始碼的系統結構、數據結構,內部的控制邏輯。通過內部的結構設計測試用例

靜態質量度量法:根據標準的質量模型,構造質量的度量模型用以評估軟體的各個方面的要素

邏輯覆蓋法:語句覆蓋,條件覆蓋,條件組合覆蓋,分支覆蓋(判定覆蓋),路徑覆蓋,條件和判定的組合覆蓋

基本路徑測試法:白盒測試中非常主要的測試方法,在程序控制流圖的基礎上通過分析控制構造的圈複雜度(在軟體測試的概念裡,圈複雜度用來衡量一個模塊判定結構的複雜程度,數量上表現為獨立線性路徑條數,即合理的預防錯誤所需測試的最少路徑條數。圈複雜度大說明程序代碼可能質量低且難於測試和維護,根據經驗,程序的可能錯誤和高的圈複雜度有著很大關係。)找出基本可執行的路徑的集合進而設計測試用例的方法

灰盒測試

介於黑、白測試之間的,關注輸出對於輸入的正確性,同時也關注內部表現

靜態測試

靜態測試是指無須執行被測程序,而是通過評審軟體文檔或代碼,度量程序靜態複雜度,檢查軟體是否符合編程標準,藉以發現編寫的程序的不足之處,減少錯誤出現的概率。

方法:互相審查,走查,會議

動態測試

動態測試是指通過運行被測程序,檢查運行結果與預期結果的差異,並分析運行效率、正確性和健壯性等。

手工測試

由專門的測試人員從用戶視角來驗證軟體是否滿足設計要求的行為。更適合針對深度的測試和強調主觀判斷的測試。

自動化測試

使用單獨的測試工具軟體控制測試的自動化執行以及對預期和結果進行自動檢查。

單元測試、接口測試、性能測試等

作者:折翼的天使zyz

來源:慕課網

著作權歸原作者所有,如有侵權請立即與我們聯繫,我們將及時處理。

相關焦點

  • 軟體測試培訓怎麼學?軟體測試基礎技術總結!值得一看
    軟體測試無年齡限制,要求的是經驗和耐心,隨著軟體測試經驗的豐富積累,就會練就「火眼金睛」的本領,而且隨著項目經驗的不斷增長和對行業背景和深入了解,經驗和資歷會帶來更高薪資和更高地位,會越老越「值錢」。那軟體測試培訓怎麼學?軟體測試基礎技術總結!值得一看!
  • 【松勤軟體測試基礎】APP常見測試點總結
    松勤與你相約基礎就業班自動化測試全棧班
  • 軟體測試模型總結
    【IT168 技術文章】  從各種資料上找到以下幾種測試模型,拷貝粘貼,內容並非本人原創,只是為了方便學習和記憶。總結如下:  1、V模型  在軟體測試方面,V模型是最廣為人知的模型,儘管很多富有實際經驗的測試人員還是不太熟悉V模型,或者其它的模型。
  • 軟體測試職業需要具備的最全知識體系(總結)
    軟體設計此階段主要根據需求分析的結果,對整個軟體系統進行設計,如系統框架設計,資料庫設計等等。軟體設計一般分為總體設計和詳細設計。好的軟體設計將為軟體程序編寫打下良好的基礎。程序編碼此階段是將軟體設計的結果轉換成計算機可運行的程序代碼。
  • 軟體測試基礎 (三): 系統測試
    對象不僅僅包括需測試的軟體,還要包含軟體所依賴的硬體、外設甚至包括某些數據、某些支持軟體及其接口等。比較常見的、典型的系統測試包括恢復測試、安全測試、壓力測試。 二、系統測試與集成測試測試計劃最核心的目的就是控制風險。
  • 一位軟體測試工程師兩個月的面試總結
    過去先做一套題,英文題目,有軟體測試相關知識,wimax原理圖,java編程,C語言編程等等,C語言題目是寫strcpy/strcmp/strlen中的一個,由於沒準備,所以我只做了測試相關題目。面試上來要我做個英文自我介紹,當時悶了,沒準備,答得很鬱悶。後面主要問以前的測試流程、測試相關知識等,最後看我簡單的C題目沒寫出來,被狠狠BS了,當場告訴我不適合此崗位。
  • 如何寫軟體測試報告總結?一份優秀測試報告模板流程
    如何寫軟體測試報告總結?軟體測試報告涉及測試周期內被測試系統的工作情況,測試人員對軟體系統進行的軟體性能測試、軟體壓力測試、軟體可靠性測試等都需要通過軟體測試報告進行匯總。相信很多做軟體測試的小夥伴在軟體測試後期,都為軟體測試報告總結花費了很多的精力,那麼如何做好軟體測試報告呢?一份優秀的測試報告又包含哪些內容呢?卓碼軟體小編就此進行簡單的解答。
  • 軟體測試溝通基礎話術(一)
    1.3.自動化測試自動化測試,一般就需要使用腳本來進行測試,也可以叫做白盒測試,技術含量相對來說比較高,這個我也會。我會的語言是python,基本上python的代碼基礎我是掌握了的。1.5.單元測試、繼承測試、系統測試和驗收測試1.5.1.單元測試是指對軟體中最小可測試單元進行檢查和驗證單元測試當一段代碼完成之後,是由白盒測試工程師或者開發人員自行測試,比如java中執行單元測試叫做junit測試。
  • 軟體測試各階段學習書籍推薦
    讀書一直以來就是獲取知識的最直接途徑,並且成本低廉。每本書都是作者深度思考和總結的成果,書本的內容一般都要經過縝密的調研,都是作者辛辛苦苦實踐的結晶。技術書籍寫作耗時都比較久,基本上能廣泛流傳的書籍,都是經過了時間和實踐的檢驗。並且,書本都有完整的知識架構,不管是系統學習還是作為工作問題的查閱手冊都非常方便。
  • 測試大佬對功能測試的總結和反思
    功能測試階段是測試職業生涯的基礎階段,在這段時間內要注意培養測試思維、做事方式、溝通能力、對需求及用戶體驗的理解把握能力、對於軟體開發具體實現的基本理解、對於軟體開發整體流程的理解和把握、對一些工具和簡單腳本的熟悉使用。  大部分初入測試行業的人有一個誤區,就是局限於執行被分配的工作,對於其他的事情漠不關心。
  • 上海軟體測試培訓班讓精通軟體
    軟體測試(英語: Software Testing),描述一種用來促進鑑定軟體的完整性、安全性和質量的過程,換句話說,軟體測試是一種實際輸出與預期輸出之間的審核或者比較過程,軟體測試的經典定義是在規定的條件下對程序進行操作,以發現程序錯誤,衡量軟體質量,並對其是否能滿足設計要求進行評估的過程
  • 軟體測試工程師的崗位職責
    之前在我創建的技術交流群裡,我分享過一個話題:如何做一個合格的測試?昨晚聽同行分享後,我又進行了一次思考總結,軟體測試工程師的崗位職責到底是什麼?最初,我的想法是執行用例,找缺陷,僅此而已,簡單粗暴。後來,看了《Google的軟體測試之道》這本書,稍微有點更改,變成了積極主動地發現、暴露缺陷,並團隊合作,解決問題。去年下半年,公司空降了一位總監,他提出了一個觀點:提高交付質量和交付速率!頓時茅塞頓開,對呀,我們工作的目的不就是提高交付的軟體系統質量,以及提高效率!
  • 軟體測試工程師的職業發展
    但是Martin的例子並不能解決「軟體測試本身有哪些發展」這個問題。只是讓我們看到了最美好的結果,讓我們知道這條路是能走通的。那麼軟體測試的職業發展方向有哪些?作為軟體測試工程師, 又該如何為自己制訂職業發展規劃?軟體測試在職業發展上,可以概括分為「管理」和「技術」兩大類。另外,軟體測試還可以在質量領域發展。
  • 【何昆推薦】軟體測試總結——常見的面試問題(一)
    1.軟體測試級別?單元測試:單元測試是對軟體組成單元進行測試。其目的是檢驗軟體基本組成單位的正確性。測試的對象是軟體設計的最小單位:模塊。Findyou又稱為模塊測試,一個單元測試是用於判斷某個特定條件(或者場景)下某個特定函數的行為。
  • 軟體測試工程師書籍列表(必讀)
    一本測試入門的好書,較全面地介紹了各種測試領域和方法,為測試新手提供了正確的觀念和寬泛的基礎。)為基礎,介紹了探索式軟體測試的概念和方法。、溝通、測試計劃/用例評審、測試總結、員工管理、測試思想等。第0章是全書案例的經驗總結,第1~28章是來自28個不同類型項目的測試自動化報告,第29章則提供了一組真實的測試故事。軟體測試是語境驅動的,觀察不同團隊的實踐,分析成敗得失,可謂開卷有益。
  • 千鋒分享:軟體測試工程師常見面試題
    我們面對一場未知的軟體測試工程師面試能夠做的除了做好本質工作,還有就是一些基本的面試題也是需要了解的。正所謂,機會永遠是留給有準備的人的。如果你好好的面對面試,那你肯定收穫的會比沒有準備的多得多。下面是千鋒軟體測試培訓講師總結的一套關於軟體測試的面試題(節選),為你的求職增加一些成功的機率。01.
  • 軟體測試面試過程中,被問到 「你會搭建測試環境嗎」 要怎麼回答?
    測試環境(Testing Environment),是指為了完成軟體測試工作所必需的計算機硬體、軟體、網絡設備、歷史數據的總稱,簡而言之,測試環境=硬體+軟體+網絡+數據準備+測試工具。顯而易見,我們要學會搭建測試環境,需要具備這5種的技能和知識。
  • 軟體測試從零開始專輯(一)
    &軟體測試報告如果以上 7 點你完全具備了,那麼恭喜你,軟體測試面試的基礎筆試 和面試,應該是 OK 的了。http://www.cnblogs.com/fnng/p/3653793.html 鼓勵大家,不要選最複雜的,而是選擇最符合你當前工作狀態和業務邏輯的! 軟體測試需求分析(四) 1 什麼是軟體需求?
  • 我從功能測試進階到自動化測試工程師的經驗總結~|Atstudy
    隨著測試行業的發展,「會代碼」越來越成為測試工程師的一個標籤。打開各大招聘網站,測試工程師月薪一萬以上基本都有一個必備技能,那就是自動化測試。那麼自動化測試到底難不難呢?下面我將會將我的經歷講給大家聽,希望聽完後,大家會有自己的一個判斷。  大家好,我是軟體測試汪。不知不覺,入行軟體測試也有小5個年頭。待過創業公司也待過上市公司。
  • 性能測試基礎--(CPU)
    「我要搞性能測試,沒有基礎,應該從哪開始」。因為:1) 系統有大量的頻繁的訪問需求;2) 系統的固有資源有限(處理速度有限);3) 我們在開發系統的時候往往收到各種業務上的限制,並且我們的技術可能並不是足夠完美;等等,各種因素造就了我們開發出來的軟體系統會存在運行速度不夠快、不能夠滿足用戶的大量的頻繁的操作需求。