TEST
概念相關
什么是壓力測試與負載測試
負載測試:通常運行時間比較短,在系統上逐漸加壓,直到性能指標達到飽和狀態(比如相應時間超出預期要求、系統資源占用率居高不下等),從而驗證系統預期的性能目標、相應時間等。
壓力測試:長時間運行,逐漸增加超負荷(并發、循環、多用戶等),直到系統產生異常以及對異常的處理能力,從而驗證系統可靠性、找到系統的瓶頸。 微軟壓力測試的經驗值為72小時。-
什么是回歸測試
回歸測試:缺陷修正后,執行符合一定條件的測試用例來確保缺陷的修正沒有在軟件中引入新的缺陷,這些缺陷可能存在于被測試的軟件模塊中,也可能在與之相關或不相關的其他軟件模塊中。當軟件發生變更或者使用軟件的環境發生變化時,需要進行回歸測試。
-
缺陷記錄應包含的哪些內容
缺陷標識、缺陷類型、缺陷嚴重程度、缺陷產生可能性、缺陷優先級、缺陷狀態、缺陷起源、缺陷來源、缺陷原因。(禪道、JIRA等bug管理軟件上有相關填寫選項)
-
測試用例包含哪些要素
用例編號、測試名稱、重要級別、前置條件、測試輸入、操作步驟、預期結果
測試分類(了解)
黑盒測試、白盒測試、單元測試、集成測試、功能測試、系統測試、負載測試、性能測試、兼容測試、可用性測試、安裝|卸載測試、恢復測試、安全測試、比較測試、Alpha測試、Beta測試、端到端測試、健全測試、衰竭測試、接受測試、累積綜合測試。運行環境
local:本地開發環境
dev:內部開發環境
test:供測試人員測試環境
stage:試運行環境(新功能部分目標用戶使用)
production:對外開放的產品環境,即生產環境
必會技能
測試用例
- 什么是測試用例?
在測試過程中很重要的一類文檔,它是測試工作的核心、是一組在測試時輸入輸出的標準、是軟件需求的具體對照。 - 測試用例的作用:
檢驗軟件是否滿足客戶需求、體現一個測試人員的工作量、展現測試用例的設計思路 - 測試用例所包含的內容:
用例編號、用例名稱、測試背景、前置條件、優先級、重要級、測試數據、測試步驟、預期結果、實際結果、備注。 - 測試用例的編寫流程:
需求分析->提取測試點->測試用例編寫->測試用例評審
從網上搜些例子看看。
舉例提問
- 登錄界面如何設計測試用例?---針對功能
- 拿淘寶來說,如何測試購物時優惠券功能?
- 有一個查詢消息和回調消息的接口,我們可以主動去發起查詢任務,也可以讓對方系統將消息回調給我們,針對這個接口應該如何去設計測試用例?
接口實戰
- selenium 2的原理
- 用什么工具來做接口測試?
- 接口測試需要注意哪些?
- 接口測試的參數怎么設計?
SQL
- 連接查詢
經驗值
- 你在你們團隊承擔哪一部分的工作?
- 你做得怎么樣?有沒有什么成果?
- 你是如何設計測試用例的?一般寫測試用例的工具?
- 你們的需求/用例是如何做評審的?效果怎么樣?
- 平時工作中,你是如何提取測試需求?
- 額外會問,如果沒有需求文檔,你是如何提取測試需求?有哪些方法?
- 缺陷的處理流程?
- 有沒有碰到過難以定位的bug?最后是如何解決的?
- 請介紹一下你們的測試流程?
- 你們是如何做軟件測試的?
- 你們自動化測試的流程是怎么樣的?
- 完全測試程序是可能的嗎?
不可能,測試人員對程序進行測試,只能找出程序中的bug,但是并不能保證程序是沒有bug的。完全的測試要花費很多的人力財力,并且測試的數據量過大,很浪費時間。測試的結果還很多,有的都是類似的,沒有必要進行相同的測試。所以完全測試是不可能的。 - 所有的軟件缺陷都能修復嗎?所有的軟件缺陷都要修復嗎?
從理論上來說所有的缺陷都是可以修復的,但是并不是所有的缺陷都要修復。一些對于軟件沒有影響的、不影響使用的缺陷我們可以不用修復。因為修復些細小的缺陷也是需要花費很多時間。項目上面可能會因為時間問題而先忽略這些小缺陷。 - 開發人員老是犯一些低級錯誤怎么解決?
要在開發的前期就制定好一些編碼規范,這樣子可以減少很多因為個人習慣引起的錯誤。同時,測試人員在發現開發人員犯一些低級錯誤的時候不可以指責他們,要耐心的給他們指出錯誤所在。然后可以有開發人員自己進行測試,找出一些一眼看得出來是錯誤的地方。 - 開發人員說不是bug時,你如何應付?
首先把自己的理由告訴開發人員。在同開發人員溝通到底是不是bug,但是如果開發人員還是認為不是bug的話,就把這個問題提到項目經理處,同時附上自己的理由。有項目經理決定是否為bug。
軟件開發的工作流程了解一下
- 軟件開發過程
產品經理、測試人員、開發人員開會討論需求。產品經理根據討論結果寫出需求分析說明,并連同系統分析人員&測試人員&需求人員開會討論可行性。產品經理寫出詳細設計說明書,設計出產品原型,再次開會評審,通過后交于設計人員做出效果圖,然后開發人員編碼、測試人員給出測試計劃并編寫測試用例。
2.軟件測試過程
軟件測試部門配合產品經理、開發人員進行需求分析討論,并根據需求說明書制定《項目測試計劃》,編寫測試用例,建立測試環境。軟件測試人員負責軟件開發部門的新產品測試及原有產品的升級測試,負責軟件問題解決過程跟蹤,負責軟件開發文檔開發工作的規范化及管理開發部門的產品文檔,制作用戶手冊及操作手冊,負責產品的上線測試,監督軟件開發過程的執行,提高產品質量。
參考
別人的經驗
1)你在整個項目周期中扮演的角色,或者說都干了什么事情。
這個問題沒有所謂的標準答案,就是考察你在一個項目周期中的角色和任務都是什么,說清楚即可。
(2)Bug 的生命周期都有哪些?
基本的流程是:創建-開發解決/需求確認-回歸-關閉。
(3)測試用例的設計方法有哪些?
說出邊界值、等價類、場景法基本要求,在說出正交矩陣、PICT組合加分。
(4)給你一個電梯如何設計測試用例?給你一個 QQ 的登錄界面如何設計測試?
電梯的那個問題,各位自行發揮吧。QQ 的 Web 界面測試,一定要指出瀏覽器的兼容性測試、還有緩存 Cookie、Catch的影響,說出這兩點,面試官定會對你刮目相看。
問到的知識點
- SQL 語句
這部分據我的經歷來看,真正的考核 SQL 語句書寫的面試官非常少,但是大部分面試官喜歡問到的語句如下。
建表語句:create table tablename{}。
distinct 關鍵字的用法。
多表查詢如何做。
這里重點提一個概念,事務,這個問題的考察達到了80%。
自動化知識
如果你的簡歷里體現出你會自動化,有很大幾率會問兩個問題。
testng 的報告輸出,這里面涉及的問題既有 testng 整個的實現框架,也會有其細節實現,比如輸出報告的樣式如何進行格式化;
執行用例時,出現錯誤,是如何處理的:考察了解圖功能的代碼實現。性能測試知識的考察
毋庸置疑,這也是一個考察的重點,需要掌握以下內容。
(1)性能測試最重要的指標:并發用戶數、TPS、正確率、響應時間。
(2)性能測試的監控體系;
監控 Linxu 服務器,推薦回答使用 NMON;
監控數據庫資源,必錄 Oracle,監控其資源消耗使用 LoadRunner,監控其 SQL 慢查詢需要借助工具 DWR;
監控中間件,線程活動數等,需要使用的工具有很多,可以執行儲備。