軟體測試基礎面試你必須掌握的

2021-10-02 04:46:16 字數 4513 閱讀 5064

(1)什麼是軟體測試?軟體測試的目的與原則?

定義:在規定的條件下對程式進行操作,以發現程式錯誤、衡量軟體質量,並對其是否能滿足設計要求進行評估的過程。

目的:在於發現錯誤、發現程式中存在的**或業務邏輯錯誤、檢驗產品是否符合使用者的需求、提高使用者體驗。

原則:如二八原則、測試應盡早啟動、介入。

(2)什麼是軟體質量?

軟體符合明確敘述的功能和效能需求、文件中明確描述的開發標準、以及所有專業開發的軟體都應具有的隱含特徵的程度。
(3)軟體的生命週期?

計畫階段----需求分析----設計階段----編碼----測試----執行與維護
(4)軟體生存週期及其模型?

整個生存週期包括:問題的定義及規劃、需求分析/評審、軟體設計、軟體編碼、測試階段、執行維護六個時期

週期模型:瀑布模型、迭代模型

(5)軟體測試分為那幾個階段?

單元測試、繼承測試、系統測試、驗收測試是個主要階段

單元測試:通常由開發人員進行

系統測試:是在繼承測試通過後進行的,目的是充分執行系統,驗證各子系統是否都能正常工作並完成設計的要求

驗收測試:上線前的最終測試

(6)什麼是測試用例?測試指令碼?兩者的關係是什麼?

用例:未實施而編制的一組測試輸入、執行條件、各種環境設定以及預期結果以及期望結果的乙個特定的集合

指令碼:是為了進行自動化測試而編寫的指令碼。測試指令碼的編寫必須對應相應的測試用例。

(7)目前主要的測試用例設計方法有哪些?

白盒測試:邏輯覆蓋、迴圈覆蓋、基本路徑覆蓋

黑盒測試:邊界值分析法、等價類劃分、錯誤猜測法、因果圖法、狀態圖法、測試大綱法、隨機測試、場景法

(8)黑盒測試和白盒測試的區別?各自的優缺點?

黑盒測試:優點 - 不需要了解程式內部的**及實現,與軟體的內部實現無關。從使用者角度出發,能很容易知道使用者會用到哪些功能

缺點 - 覆蓋率低,大概只能達到總**量的30%;

白盒測試:優點 - 版本軟體測試人員增加**額覆蓋率,提高**的質量,發現**中隱藏的問題

缺點:測試基於**。只能測試開發人員做的隊不敵,而不能知道設計的正確與否,可能會漏掉一些功能需求。

系統龐大時,測試開銷會非常大。

(9)黑盒測試的測試用例設計方法有哪些?

等價類劃分、邊界值分析法、錯誤猜測法、因果圖法、正交表分析法、場景分析法
(10)測試人員在軟體開發過程中的任務是什麼?

盡可能早的找出系統中的bug

避免軟體開發過程中缺陷的出現

衡量軟體的品質,保證系統的質量

關注使用者的需求,並保證系統符合使用者需求

(11)bug的要素?

狀態、型別、所屬專案、所屬模組、缺陷提交時間、缺陷提交人、嚴重程度、優先級別、缺陷描述、測試步驟、前置條件、測試資料、期望結果、實際結果
(12)測試用例包含什麼?

編號、標題、前置條件、執行步驟、預期結果、用例執行日期、實際結果、測試環境
(13)一條軟體缺陷記錄都包含了什麼內容?

bug編號、

bug嚴重級別、優先順序、

bug產生的模組、

bug摘要、

bug對應版本、

bug詳細現象描述,包括一些截圖、錄影等

bug出現時的測試環境,產生的條件即對應操作步驟

(14)如何提交高質量的軟體測試記錄?

① 通用ui要統

一、準確

② 盡量使用業界慣用的表達術語和表達方法

③ 每條缺陷報告只包括乙個缺陷

④ 不可重現的缺陷也要報告

⑤ 明確指明缺陷型別

⑥ 明確指明缺陷嚴重等級和優先等級時刻、明確嚴重等級和優先等級之間的差別

⑦ 描述。簡介、準確、完整、揭示缺陷實質

⑧ 根據缺陷,可選擇是否進行影象捕捉

⑨ 盡量使用短句和斷句,表面複雜句型句式

⑩ 短行之間使用自動數字序號,使用相同的字型、字型大小、行間距

(15)你在測試中發現了乙個bug,可能開發經理認為不是乙個bug,你應該怎麼解決?

將問題提交到缺陷管理庫里進行備份

根據一些需求說明書、產品說明、原型圖、設計文件等,確認實際結果是否與計畫有不一致的地方,提供缺陷是否確認的直接證據。

若無文件,可根據使用者的一般使用習慣來確認。還有與設計人員、開發人員等確認。

(16)tcp的三次握手?

客戶端向伺服器發出連線請求報文

伺服器收到請求報文後,若同一連線,則發出確認報文

客戶端收到確定報文後,還要向伺服器給出確認

(17)tcp的四次揮手?

客戶端發出連線釋放報文,並且停止傳送資料     1

伺服器接收到連線釋放釋放報文,發出確認 2

客戶端收到伺服器的確認請求後,等待伺服器傳送連線釋放報文

伺服器將最後的資料傳送完畢後,就向客戶端傳送連線釋放報文

客戶端收到伺服器的鏈結釋放報文後,必須發出確認 3

伺服器只要收到了客戶端發出的確認,立即進入關閉連線狀態

(18)在linux和windows下如何抓包,使用什麼工具?

windows下抓博有很多任務具,如fiddler、charles等

linux下抓包需要借助tcpdump,還可以儲存下來,拷貝到wireshark中進行圖形檢視分析

tcpdump是linux系統下的一款抓包命令集,工作原理是基於網絡卡抓取流動在往卡上的資料報

(19)wap和web的區別?

wap**是用手機訪問,web**是用電腦訪問

wap是無線應用協議的縮寫,一種實現移動**與網際網路那個號之間結合的應用協議標準

web現廣泛譯為網路、網際網路等,表現為三種形式:超文字、超**、超文字傳輸協議等

web是普通瀏覽器,一般用瀏覽器就可以訪問

(20)tcp/ip協議是怎麼資料傳輸的?

tcp/ip採用了4層層級結構,應用層、傳輸層、網路層、鏈路層

應用層:應用程式鍵溝通的層,如簡單電子郵件傳輸smtp、檔案傳輸協議ftp、網路遠端訪問協議teinet等

傳輸層:此層中,提供了節點間的資料傳送服務,如傳輸控制協議tcp,使用者資料協議udp等

網路層:複製提供基本的資料封包傳送功能,讓每一塊資料報都能到達目的主機,網路協議ip

鏈路層:對實際的網路**的管理。定義如何使用網路來傳送資料。

(21)介面測試工具是用什麼工具,介面的請求錯誤怎麼辦?

介面測試一般用postman工具。查詢原因首先檢視請求錯誤的原因,檢查請求方法有沒有寫對,請求引數及型別是否漏掉等
(22)bug提交了,開發並未解決,這個專案必須上線,應該怎麼辦?

首先將bug的嚴重性很清晰的告訴開發人員,以防後面專案上線,使用者體驗不佳的情況。

另外開發一再強調不是bug的,可以將問題反映給上上層領導,或者由團隊做出最後裁定。

(23)如果乙個專案必須上線了,還有模組沒有測完,你作為領導該怎麼辦?

調查該名測試人員的整個測試過程的工作情況,進行綜合評估,給出結論,是因為偷懶還是複製模組過多漏測還是其他原因。

對該名測試人員發出警告以及對相關測試主管、專案經理、產品經理發出警告。

(24)假如我們功能上線了,介面優化的問題,不是**的問題,你怎麼說服開發去改?

**有錯,直接影響的功能的使用,二姐面優化,只是進一步改善優化**的質量
(25)使用過monkey嗎?adb命令的相關操作

adb devices   檢查是否連線

adb version 版本檢視

adb install *** 安裝

adb shell monkey -s 888 -v -v -v 500

adb shell pm list packages 所有應用的包名

adb shell pm list packages -3 所有第三方應用的包名

(26)整機測試中的(如通話功能),說出10條測試用例

① 不同運營商號碼主叫或被叫(網內接通測試)

② 網內結束通話測試

③ 跨網接通測試

④ 跨網結束通話測試

⑤ 不同呼叫方式(鍵盤輸入直接撥號、通訊錄選中被叫方號碼、聯絡歷史中進行撥號、資訊列表中呼叫)的有效性

⑥ 網內的通話過程測試(有無噪音、回聲、音量調節、通話過程中可否進行其他功能)

⑦ 跨網的通話過程測試

......

必須掌握的軟體測試相關知識

介於黑百盒測試之間 綜合科 程式開發更多的是使用的面向介面進行開發 為什麼有介面 開發標準化 保證資料安全 便於遷移 什麼是介面測試 驗證某個標準 介面 能否正常工作的一種測試 分類 方式 get post 目的 測試介面的正確性和穩定性 針對業務的進步功能進行測試 在基本功能測試基礎上考慮輸入輸出...

軟體測試必須掌握的http網路協議知識

1 持久連線 乙個tcp連線可以傳輸多個 6個 http請求,預設持久連線 2 不成熟的管線化 等乙個請求回來再去發另外乙個請求 3 安全機制差 1 基於spdy協議,專注於效能,目標是乙個使用者和 只需要進行一次連線 2 二進位制傳輸 將請求和響應分為小的幀,採用二進位制編碼,以前的headbop...

12 進大廠必須掌握的面試題 持續測試面試

我將建議您遵循以下提到的解釋 連續測試是作為軟體交付管道的一部分執行自動測試的過程,以獲得與最新版本相關的業務風險的即時反饋。這樣,每個構建都將得到持續測試,從而使開發團隊能夠快速獲得反饋,從而可以防止這些問題發展到軟體交付生命週期的下乙個階段。由於無需手動重建專案並在進行更改後重新執行所有測試,因...