最近為小舅子找工作出謀劃策,他的目標是軟體測試工程師。匆忙中給他做了一次模擬面試,面試中不小心也為自己整理了一下軟體測試方面的理解。
遺憾的是我從來也沒有真正意義上地做過測試工程師,估計近期的將來也沒有這個機會,
所以趕緊把一些要點記錄下來,以免日久生疏。
[測試思想]
質量意識(責任):站在客戶的立場
好奇心(動力):探索所有的功能,深入理解系統核心
進攻(激情):多角度發現所有可能的問題,測試和開發之間是進攻和防守的關係
幫助(溝通):以幫助而不是找茬的心態與開發團隊一起分析問題,協同工作
ps. 其中「進攻」一說來自一位好友,測試達人;「好奇心」一說來自51testing上的乙個部落格。
[測試工程]
測試目的:盡可能多地發現缺陷
測試階段:測試計畫、測試需求、測試設計、測試執行、測試報告
測試用例設計:測試環境,測試資料,執行步驟,期望結果
缺陷跟蹤:提交、分派、修復、驗證、審計;回歸測試;
測試結束準則:嚴重缺陷數在一定範圍內、測試用例執行完畢、或規定時間到(取決於專案/組織質量要求)
測試人員考核:沒有可靠的定量指標(比如不能拿缺陷數來做),如何做到?也是一時討論的熱點。
[測試技術]
基礎知識
單元測試,模組測試,產品測試,整合測試,系統測試,使用者驗收測試
功能測試,效能測試,壓力測試,冒煙測試,猴子測試
內部測試,外部測試(客戶試用)
白盒測試,黑盒測試
路徑覆蓋,條件覆蓋,邊界檢測,etc.
三角形題目:給三條邊長,判斷是否能組成三角形,是直角還是等腰三角形等,
要求寫出測試用例
技術熱點
單元測試(以及用**覆蓋率來度量單元測試)
自動化測試(錄製gui指令碼,網路抓包錄製通訊指令碼)
每日構建(需要配置管理,自動化編譯,自動化測試協同工作)
測試驅動開發
[測試經驗]
技術經驗
死鎖 非法記憶體訪問
死迴圈/棧溢位
記憶體洩漏/資源洩漏
記憶體頁面錯誤以及效能問題
事務及其隔離級別
資料庫鎖
亂碼 非技術經驗
與開發人員溝通(對於嚴重問題和有爭議問題先口頭討論再提交到缺陷列表,尤其是剛開始的時候不要提太多低風險的如介面操作相關的缺陷)
與專案經理溝通(關於缺陷的輕重緩急,以及堅持原則和斤斤計較)
[質量體系]
質量定義:滿足使用者需求
質量屬性:效能、可靠性、可用性、安全性、靈活性、etc.
tqmqa/qc
人/過程/工具
缺陷發現越晚修改缺陷的成本就越高
質量是管出來的而不是測出來的:過程質量決定產品質量
按照西方的觀點,真正意義上的管理又必須是量化的管理,因此需要做度量和審計
ps. 這裡故意遺漏了測試工具方面的知識,我想它應該不屬於核心知識體系。
軟體效能測試要點
軟體效能測試的目標 1 測試系統的最佳使用者數 隨著使用者數量的增多系統的響應時間並沒有受到影響,直到某個數量的使用者數響應時間開始明顯增長 2 測試系統的最大使用者數 隨著使用者數量的增多,系統的響應時間開始延遲,直到某個數量的使用者數時,系統開始響應失敗或崩潰 3 a 找到目前系統的效能瓶頸 依...
關於軟體測試的基礎知識。
為了實施測試向被測試系統發起的一組集合。測試環境,測試步驟,測試資料,預期結果。標題,功能模組,重要性,執行方式等 bug中所包含的的內容 測試版本,測試環境,操作步驟,測試資料,預期結果,實際結果,附加 錯誤日誌,錯誤截圖 崩潰,嚴重,一般,次要 從bug的建立到關閉,bug所經歷的狀態 new ...
關於軟體測試關於軟體測試
icxo.日期 2004 08 03 17 32 因為測試時從來不希望檢測被測系統所有可能的輸入 路徑和狀態,那麼應該選擇什麼?什麼時候應該停止測試?什麼時候應該暫停測試?怎樣編寫乙個測試包,它可以檢測足夠多的訊息和狀態的組合來說明沒有失敗的操作,但是從實用性來說它又足夠的小?測試提出了許多基本的但...