【軟件測試】 軟件測試面試高頻考點總結

⛳什麼是軟件測試?

軟件測試就是根據需求文檔證明程度不存在錯誤。

⛳軟件測試和研發的區別是什麼?

  • 研發人員是進行實現功能並在實現時發現缺陷定位問題,大多是白盒測試和單元測試,而測試人員是貫穿整個軟件開發的生命週期,對軟件的質量進行整體把控。
  • 研發人員相對要求的廣度小,專業度高,測試人員對知識點的廣度要求大,專業度低

⛳一個優秀的測試人員需要具備什麼樣的素質?

  • 思維:逆向思維,發散思維
  • 性格:善於懷疑、不浮躁、公正、全面
  • 能力:文字能力、開發能力、溝通能力
  • 責任感和壓力

⛳什麼是需求?

用戶的一系列預期達到的效果

⛳什麼是Bug?

在規格說明正確的前提下,程序的結果與預期結果不一樣時,就產生了Bug

⛳什麼是測試用例?

測試用例就是爲了實施測試而爲測試系統提供的一組集合

⛳軟件的生命週期是什麼?

軟件的生命週期就是指軟件產品的設想開始到整個軟件不再使用而結束的時間。分爲六個步驟:需求分析、計劃、設計、編碼、測試、運維

⛳瀑布模型?

在這裏插入圖片描述
是直接流線型進行產品的開發
優點:強調了開發的階段性,強調了早期的計劃,強調產品測試
缺點:沒辦法即使發現和檢測到風險,失去了及早糾正的機會

⛳螺旋模型?

在這裏插入圖片描述
在開發初期需求不夠明確,採用漸進式開發模式。測試要跟着開發的迭代而迭代
優點:強調嚴格的全過程風險管理,強調各階段開發的質量
缺點:對風險管理的技能水平提出了很高的要求,這需要人員、資金和時間的投入

⛳敏捷開發?

個體與交互 重於 過程和工具
可用的軟件 重於 完備的文檔
客戶的協作 重於 合同的談判
響應變化 重於 遵循計劃

scrum:
product owner產品經理、scrum master 項目經理、team 研發團隊

產品經理:整理用戶需求,定義商業價值
項目經理:負責召開各種會議,協調項目,爲研發團隊服務
研發團隊:實現功能,完成迭代目標,交付產品

迭代開發: 與瀑布模式不同,scrum把產品的開發分解爲若干個小的sprint(迭代),週期從一週到四周,但不會超過四周,每期迭代要完成的user story式固定的,每次迭代都會產生一定的交付。

輕文檔和快速迭代是很大的挑戰,測試人員對測試用例的依賴減弱,而是根據測試結果來不斷調整測試計劃。敏捷開發講究合作,在項目組中,測試人員應該更加主動,多向開發瞭解需求研討Bug

⛳測試V模型

在這裏插入圖片描述
在單元測試和集成測試時測試是否符合軟件的設計。在系統測試時測試系統的功能、性能是否達到要求的指標。在驗收測試時,測試系統是否滿足用戶的各項需求。
缺點:把測試作爲編碼的後一個階段,無法在制定需求文檔時就接入測試

⛳測試W模型

在這裏插入圖片描述

W模型是增加了軟件各開發階段中應該同步的測試工作,測試和開發工作是並行的。測試的對象不僅僅是開發的程序,還包括了需求、設計都要一起測試。
優點:有利於儘早發現解決問題
缺點:需求、設計、編碼等活動被視爲串行進行,測試和開發也保持着一種現性前後的關係,一個階段結束才能進行下一個階段。

⛳軟件測試的生命週期?

測試的生命週期是:需求分析、測試計劃、測試設計、測試開發、測試執行、測試評估

⛳怎麼開始第一次測試?

  • 首先閱讀所有的文檔包括:需求文檔、設計文檔、用戶手冊
  • 儘可能參加各種項目會議,瞭解項目背景,人員組織、需求和業務
  • 熟悉所使用的測試管理工具、配置管理工具
  • 閱讀已有的測試方案和測試案例
  • 閱讀舊的bug庫
  • 瞭解公司規範、用例編寫規範、執行規範、bug提交規範

⛳編寫測試用例的方法?

  • 基於需求:驗證需求是否正確、完整、邏輯是否一致,從“黑河”角度設計充分的測試集,保證代碼都能完全符合需求
  • 等價類:依據需求將輸入劃分爲若干個等價類,從等價類中選擇出一個測試用例,如果這個用例可以通過,認爲整個等價類的用例都可以通過。這樣就解決了不能窮舉的問題
  • 邊界值:邊界值就是對應輸入或輸出的邊界值測試的一種黑盒測試方法。
  • 因果圖:藉助了一個簡化邏輯圖,直觀的表明輸入和輸出之間的相互關係,適用於多種不同組合的輸入對應了不同輸出的情況。
  • 正交排列:因果法設計出的用例太多就要使用正交排列,它是根據正交性,將所有水平組合中挑選出部分有代表性的點進行測試,通過測試部分了解全面測試情況。可以減少用例數目,用盡量少的用例覆蓋輸入的兩兩組合
  • 場景設計:假設軟件發生的場景,指定相應的測試用例,該方法可以比較生動的描繪事件觸發時的情景
  • 錯誤推測:靠測試人員的經驗和直覺,找出程序中認爲可能會出現的錯誤,有針對的設計測試用例。

⛳什麼是單元測試?

是對程度的一段代碼或一個功能進行測試,它是檢驗軟件基本組成單位的正確性。
通常使用白盒測試,依據代碼和詳細的設計文檔

⛳什麼是集成測試?

集成測試是對拼接起來的不同模塊的進行測試,主要檢查軟件單位之間的接口是否正確
通常使用黑盒和白盒測試相結合,依據概要設計文檔和單元測試的模塊。測試模塊間的數據傳輸、功能衝突以及模塊組裝功能的正確性等

⛳什麼是系統測試?

是將軟件看成是一個系統的測試,包括對功能、性能以及軟件所運行的環境的測試,包括迴歸測試和冒煙測試
是在整個集成測試通過後,一般使用黑盒測試來測試整個軟件的功能、界面、可靠性等

⛳什麼是迴歸測試?

指的是之前出現的bug被開發人員修改後,重新進行測試看是否修改以及是否引入新的bug。

⛳什麼是冒煙測試?

在測試開始前對基本功能進行測試保證正常,不會阻礙後續測試。

⛳什麼是驗收測試?

驗收測試是部署軟件前的最後一個測試操作,是技術測試的最後一個階段。目的是爲了保證軟件準備就緒,滿足原始的用戶需求。
是在整個系統測試後,對包括硬件軟件進行的總體測試,依據用戶需求和驗收標準。一般使用黑盒測試

⛳什麼是α測試和β測試?

  • α測試是在開發環境下進行的一種驗收測試,是在可控的環境下讓用戶進行測試,不能由程序員或測試人員完成
  • β測試是一個或多個用戶在不同場景下的一種驗收測試,環境不受開發方控制,用戶數量多,時間不集中

⛳什麼是自動化測試?

自動化測試就是預先根據需要測試的流程編寫好代碼後,讓程序代替人工來執行測試用例。有功能測試自動化、性能測試自動化和安全測試自動化。常用在兼容性測試和迴歸測試中。
它的優點:可以多次運行重複繁瑣的代碼,可以執行到一些手工測試困難或不可能的任務,可以更好的利用資源也增加了測試的可信度。
它的缺點:始終無法代替手工測試,手工測試比自動化測試發現的缺陷更多。

⛳什麼是黑盒測試和白盒測試?

  • 黑盒測試是指把程序當成一個黑盒子,不關心內部的實現結構,只關心相應的輸入輸出數據。常用方法就有邊界值、因果圖、場景法等。它的優點是容易實施,貼近用戶需求。缺點就是覆蓋率較低
  • 白盒測試是指在研究源代碼的基礎上進行測試,常用的方法有:語句覆蓋、判定覆蓋、路徑覆蓋、條件覆蓋等。它的優點就是對代碼測試更徹底,揭示隱藏錯誤。缺點就是耗費較大,不能檢測出代碼遺漏的邏輯

歡迎閱讀我的其它文章:
計算機網絡 面試高頻考點總結
Java基礎 面試高頻考點總結
併發篇 面試高頻考點總結
有任何問題歡迎指正,也歡迎點贊收藏!如果想加一波關注那就再好不過了😁

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章