“探索性測試”在敏捷專案中的運用 | IDCF
內容來源:七姑娘日記
作者:是七姑娘呀
一、什麼是探索性測試
二、敏捷專案中如何運用探索性測試
商業區:使用者花錢買軟體就是因為軟體的特性使得他們的業務得以完成。商業區測試型別著重於測試軟體的主要特性,因此,需要頻繁地進行迴歸測試,以持續保證這些主要特性的可用性。由於具有很高的重複性,“商業區”的測試將是自動化測試關注的重點。 旅遊區:對於軟體,有些特性對新使用者更有吸引力。這一點也涉及到部分使用者許可權的測試。 歷史區:軟體也一樣具有前版本的歷史遺留程式碼,這個區域的測試目的就是測試遺留程式碼和遺留缺陷。這一點在遺留系統改造專案中體現的尤為明顯。“新開發特性不影響原有特性”將成為測試重點。 旅館區:當軟體“休息”時,它實際上還是非常忙碌的。旅館區模型關注的是一些輔助功能,比如軟體後臺執行等。 娛樂區:對於軟體,比如一個購物網站,商業區是搜尋商品、加入購物車、生成訂單、付款等,而其娛樂區就是指漂亮美觀的UI、友好的使用者介面等。這就需要關注到使用者體驗和相容性測試。 破舊區:不同於旅遊,軟體的破舊區可能存在嚴重的缺陷、安全及效能問題。這部分可能是軟體的重災區,需要關注異常測試、效能測試和安全測試。
Feature 1:包含Story A、B、C、C、D、E、F Feature 2:包含Story G、H、I、J、K Feature 3:包含Story L、M、N、O、P、Q Feature 4:包含Story R、S、T、U
首先,由於每個Story為最小業務單元,每個Story都需要在當前迭代獨立完成測試,這就是所謂的單個特性測試; 其次,由於部分Story之間有依賴關係,比如迭代1中的Story A和Story B、當A和B獨立完成測試之後,我們要關注這兩個Story之間互動的測試。一個典型例子就是,A為某個頁面的UI、B為後端實現。測試Story A時,我們關心前端展示、校驗、互動等;測試Story B時,很可能A還沒有完成開發,我們需要透過API測試,人為地透過控制入參來完成後端邏輯的驗證。然而,我們如何保證前端在與後端互動時,傳遞給後端的入參是正確的呢?對於開發同學來說,“聯調”就是在解決這個問題,對於測試人員,這便是最小互動特性測試。 再者,透過迭代1和迭代2,我們基本完成了Feature 1和Feature 2的所有story的開發和測試,可以完成第一次Release啦。在Release之前,我們需要完成一輪迴歸測試,測試範圍為Feature 1和Feature 2。假設Feature 1為“註冊”、Feature 2為“登入”,我們已經分別完成了註冊和登入功能的驗收,但是“新註冊的賬號是否能夠正常登入”並沒有完全得到驗證。這就是互動特性測試,旨在發現特性在各個特性在互動時的潛在缺陷。 然後,在迭代3中,Story N與已經發布在生產環境的Story I發生關聯,為了更好地是適配,很有可能Story N的需要被重構。那麼我們在測試Story I時,要同同時關注與Story N的互動。 最後,在迭代4以後,我們完成了全部4個Feature的開發和測試,又要進行一次上線釋出啦。同樣,在上線之前,我們又要進行一輪迴歸測試。不過這次的迴歸測試範圍不僅包括迭代3和迭代4新開發的內容,還要包含之前所有已經發布線上上的特性,也就是截至目前整個系統的測試。這就是系統互動測試,以便發現整個系統中各業務單元之間互動的潛在缺陷。
將需求明確的、業務穩定的、需要重複迴歸測試的部分用自動化測試來實現; 將需求不明確、變動頻繁的、無需重複測試的、或者需要日誌等特殊形式驗證結果的部分,配合探索性測試思路,透過手工測試來完成。
單元測試:旨在測試程式中的最小可測單元,隔離性很高、無需其他依賴、執行速度較快,因此建議在每次提交完程式碼並且透過編譯之後、部署測試環境之前完成“單元測試”。 API測試:主要關注在系統架構的業務邏輯層,我們透過工具或程式碼方式去呼叫特定的API,給定輸入、獲取輸出,驗證響應結果。API測試不僅要關注正常場景,更要關注異常場景。API測試執行效率比較高,可以根據專案環境穩定情況,設定每次部署環境之後啟動測試,也可以每天在固定的時間執行測試。 UI測試:UI測試關注使用者介面及使用者體驗。透過程式碼或工具模擬使用者透過鍵盤輸入或滑鼠操作等行為來與系統互動。由於UI測試執行效率相對較低,建議在每天環境相對穩定的時間段執行測試。 E2E測試:端到端測試應該覆蓋那些業務價值最高的路徑,並不關注異常場景。要做到這一點,需要在設計測試時,從終端使用者的角度來考慮,透過使用者畫像和User Journey來確定測試場景。E2E測試是迴歸測試的好幫手,可能會在版本釋出前的一段時間頻繁執行。 冒煙測試:冒煙測試是一種針對軟體版本包的快速驗證策略,如果冒煙測試沒有透過,則不必進行更深入的測試。因此,我們可以從E2E測試中抽取兩到三條最核心的場景設定為冒煙測試,在每次環境部署之後啟動測試,從而快速驗證本次版本的可用性。
Case 1:第一個人猜“66”,法官回答“大了”。
Case 2:第二個人猜“63”,法官回答“小了”。
《探索性軟體測試》James A. Whittaker 《探索性測試實踐之路》史亮、高翔
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31558019/viewspace-2712457/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 敏捷專案下的傳統測試轉型之旅 | IDCF敏捷
- 敏捷交付中的自動化測試 | IDCF敏捷
- 測試工程師在敏捷專案中扮演什麼角色?工程師敏捷
- 敏捷開發模式下的利刃:探索性測試(ET)敏捷模式
- 探索性測試的分類與測試用例
- 探索性測試及基本用例
- 測試在專案流程中的那些事兒
- 應用敏捷與安全如何兼存?| IDCF敏捷
- Flutter測試(二):在專案中進行 Widget 測試Flutter
- 專案經理在敏捷環境中的作用敏捷
- 在TypeScript專案中進行BDD測試TypeScript
- 中興通訊測試專案實踐:敏捷測試特性文件的交付過程實踐探討敏捷測試
- 測試驅動開發在專案中的實踐
- React專案中Uncontrolled Component的運用React
- 長文:基於程式碼的測試生成技術在召回異常問題中的應用實踐 | IDCF
- .NET 專案中的單元測試
- 基於Jira的Scrum敏捷管理實戰 | IDCFScrum敏捷
- JDBC 在效能測試中的應用JDBC
- 應用<測試專案>官網
- 關於MVP分層架構在專案中的實際運用MVP架構
- 在Vue專案中使用snapshot測試Vue
- 探索性測試總結筆記筆記
- 單元測試在Unity中的應用Unity
- BurpSuite在非Web應用測試中的應用UIWeb
- JWT在專案中的簡單應用JWT
- UI2 在專案中的應用UI
- 敏捷專案管理?敏捷專案管理
- 敏捷測試VS傳統測試對比,6招玩轉敏捷測試!敏捷測試
- 在IT專案中運用FMEA,是否需要考慮客戶的需求和反饋?
- 自動化測試在國際軟體測試中的應用
- VUCA時代,敏捷團隊如何提升效能? | IDCF敏捷
- 在 xunit 測試專案中使用依賴注入依賴注入
- PFMEA在專案風險管理中的應用
- 【轉】Webpack 中配置的 alias 在 Mocha 測試用例中Web
- 測試已死?我看未必!分享我在華為做敏捷測試的那些流程……敏捷測試
- 測試自動化後,我們需要怎樣的QA?(深挖探索性測試)
- junit測試工具運用
- Jmeter測試工具的實際專案測試案例JMeter