軟件測試基礎面試題

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

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

      目的:在於發現錯誤、發現程序中存在的代碼或業務邏輯錯誤、檢驗產品是否符合用戶的需求、提升用戶體驗。shell

      原則:如二八原則、測試應儘早啓動、介入。windows

(2)什麼是軟件質量?瀏覽器

      軟件符合明確敘述的功能和性能需求、文檔中明確描述的開發標準、以及全部專業開發的軟件都應具備的隱含特徵的程度。服務器

(3)軟件的生命週期?網絡

      計劃階段----需求分析----設計階段----編碼----測試----運行與維護tcp

(4)軟件生存週期及其模型?工具

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

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

(5)軟件測試分爲那幾個階段?

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

      單元測試:一般由開發人員進行

      集成測試:將模塊按照設計要求組裝起來進行測試,主要目的是發現與接口相關的問題

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

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

(6)什麼是測試用例?測試腳本?二者的關係是什麼?

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

      腳本:是爲了進行自動化測試而編寫的腳本。測試腳本的編寫必須對應相應的測試用例。

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

      白盒測試:邏輯覆蓋、循環覆蓋、基本路徑覆蓋

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

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

      黑盒測試:優勢 - 不須要了解程序內部的代碼及實現,與軟件的內部實現無關。從用戶角度出發,能很容易知道用戶會用到哪些功能

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

      白盒測試:優勢 - 版本軟件測試人員增長代碼額覆蓋率,提升代碼的質量,發現代碼中隱藏的問題

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

                            系統龐大時,測試開銷會很是大。

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

      等價類劃分、邊界值分析法、錯誤猜想法、因果圖法、正交表分析法、場景分析法

(10)測試人員在軟件開發過程當中的任務是什麼?

      儘量早的找出系統中的bug

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

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

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

(11)bug的要素?

      狀態、類型、所屬項目、所屬模塊、缺陷提交時間、缺陷提交人、嚴重程度、優先級別、缺陷描述、測試步驟、前置條件、測試數據、指望結果、實際結果

(12)測試用例包含什麼?

      編號、標題、前置條件、執行步驟、預期結果、用例執行日期、實際結果、測試環境

(13)一條軟件缺陷記錄都包含了什麼內容?

      bug編號、

      bug嚴重級別、優先級、

      bug產生的模塊、

      bug摘要、

      bug對應版本、

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

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

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

      ① 通用UI要統1、準確

      ② 儘可能使用業界慣用的表達術語和表達方法

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

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

      ⑤ 明確指明缺陷類型

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

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

      ⑧ 根據缺陷,可選擇是否進行圖像捕捉

      ⑨ 儘可能使用短句和斷句,表面複雜句型句式

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

(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 xxx     安裝

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

      adb shell pm list packages     全部應用的包名

      adb shell pm list packages -3   全部第三方應用的包名

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

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

      ② 網內掛斷測試

      ③ 跨網接通測試

      ④ 跨網掛斷測試

      ⑤ 不一樣呼叫方式(鍵盤輸入直接撥號、通信錄選中被叫方號碼、通話記錄中進行撥號、信息列表中呼叫)的有效性

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

      ⑦ 跨網的通話過程測試

       ......

相關文章
相關標籤/搜索