(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條測試用例
① 不一樣運營商號碼主叫或被叫(網內接通測試)
② 網內掛斷測試
③ 跨網接通測試
④ 跨網掛斷測試
⑤ 不一樣呼叫方式(鍵盤輸入直接撥號、通信錄選中被叫方號碼、通話記錄中進行撥號、信息列表中呼叫)的有效性
⑥ 網內的通話過程測試(有無噪音、回聲、音量調節、通話過程當中能否進行其餘功能)
⑦ 跨網的通話過程測試
......