1. 程式人生 > >PART5 測試人員經歷的一個迭代

PART5 測試人員經歷的一個迭代

一、測試人員在釋出或主題計劃階段的工作

 1. 制定計劃:短期計劃更好。(優先順序變化 、環境的不穩定,長期計劃很難實現。)

 2. story卡處:需要做、開發中、待驗證、已完成。

 3. 評估story:工作量(小中大)。集體評估,再調整。

 4. story測試評估:

解決什麼問題?客戶怎麼用這個功能?最壞的結果是什麼?有關聯絡統嗎?安全嗎?效能有要求嗎?

從未接觸過的業務,會不會影響測試?第三方產品需要額外時間。

用法、使用場景、實用價值。

瞭解測試報告中需要的內容。(測試結果持久化工具,測試證明截圖。)

 享受敏捷,讓會議有趣。(站會發言定時打斷。)

開發:先實現最基本的功能。Story分開。線下任務可以不做。儘早完成影響系統其它功能的story。

測試資料:去掉敏感資訊,如銀行卡、身份證等。

 測試計劃:

1. 輕量級:測試裝置需求、測試人員,投入時間。假設、風險、效能、UAT。

2. 使用測試矩陣:

條件1條件2

功能1

功能2

可以被當作測試覆蓋率。顏色區分狀態。

3. 測試表格、白板

4. 自動化的測試列表。

傳達測試結果:

1. 已通過測試數:如功能25個測試,共100個用例通過。

2. 測試覆蓋率:包、類、方法、可執行程式碼行。測試覆蓋數/總數。95%

缺陷度量:

二、迭代前的準備

如果迭代前的活動不能為迭代中省時間,果斷放棄。

1. 迭代需求討論會:sprint開始前。(事先明確,客戶意見一致。瞭解story對不同角色的人員意味著什麼。基於現實的用例討論story。)

2. 迭代開始時編寫使用者驗收測試-高層次。(對於複雜story,至少編寫一個常用路徑,一個非常用路徑。)

3. 測試策略:考慮何時開始測試它們。

三、迭代開始

1. 迭代計劃:分解story,評估工作量。(參考UAT測試用例、通過條件。)--------通過原型例項理解story。

可以不做功能去掉。站在不同角度考慮:使用者、程式設計師、產品,文件編寫人員。考慮關聯到的系統功能影響,儘早暴露不確定因素。

當別人不同意時:建議先加一部分功能,試一個迭代。

 測試策略選擇:大部分的子功能用"剛好夠用"的資料,而資料全集用於驗證全部的功能。

確定工作量:計算總的時間估值,或卡片數量。備選story。學習新工作時:新增風險時間。

2. 可測試story:

1. 整個團隊參與可測試性問題

2. 如系統時間:通過增加執行時伺服器屬性。(job:修改執行時間。)

3. 高層次測試和示例

1. 一圖勝千言。修改功能時:列印現有功能,筆標註。

2. 需求=story+交流+使用者場景+導向圖

4. 測試用例審查

你覺得  有什麼遺漏嗎?哪塊最可能有風險?重點關注哪裡?

測試用例作為文件儲存起來:用例易於維護。測試程式碼匯出API,類結構圖。

四、編碼和測試

1. 驅動開發:

從簡單入手:先寫基本流---->異常場景構建。再增加複雜度:探索性測試。

評估風險:條目  影響  * 發生概率  = 風險。複雜功能,列出潛在風險。

編碼和測試同時進行,讓所有團隊成員都參與其中,放棄那些可能基本不會發生的極端情況。

分歧時,尋找第三方力量,確定不要重複討論這一問題。

一次只完成一個story。

自我展示:大聲說出自己的想法:放一隻小小鴨子提醒自己:提問前多思考。

展示給客戶:

2. 完成測試任務

在訪問真實服務的資料完成之前,可以使用Mock或硬編碼資料測試。

迭代無法完成時:放棄一個story。立即通知開發人員。協助測試。

缺陷0容忍。

3. 哪些問題需要記缺陷

a.開發確認是問題 b.開發不能立即修復 。嘗試為每個story預留2小時或半天修復缺陷。(立即修補,以後修補,不修補。)

團隊原則:必須在迭代內修復缺陷,讓整個團隊看到缺陷。

缺陷數量不能超過10。

多個缺陷考慮組合缺陷。

4. 確保快速構建

a. 不需要在迴歸測試中包括所有邊界情況和類似情況。

5. 迭代度量

進度度量、缺陷度量。

記錄測試時間:

單表的CRUD。

複雜業務邏輯。

缺陷重現時間,缺陷驗證時間。記錄缺陷型別。

靜態分析工具:findbugs,找到sprint優先順序最高問題的增長。

度量:

story測試執行數量。

自動化狀態。

測試通過/失敗折線圖。

每個story的總結、狀態。

缺陷度量。

迭代結束時的收尾工作

1. 迭代回顧會:30分鐘內。演示新功能。

哪些做得好,不好,下個迭代的嘗試。

”開始、停止、繼續“清單。設定一個檢驗點,驗證是否有改進。

執行單測程式碼覆蓋率工具。迭代開始的第4天前,完成所有story的高層次的測試用例。開發在迭代第4天前交付一個story給測試。維護一份待辦列表。

花時間慶祝,讓團隊暫停腳步,重新整理視角。

2. 成功的交付

培訓、文件。

定期做一個重構迭代,減少技術債務,提高測試覆蓋率。總有些測試不值得自動化。

自動化迴歸測試,至少每天執行。

可靠性測試、容錯、復原測試、安全性。

儘早使用外部第三方測試,降低風險。

用DB指令碼處理資料轉換,向後相容的問題。資料庫修改後,在資料庫上執行diff。

設定任務提醒功能。

3. 考慮文件是給誰的,他們用它做什麼,如果沒有答案,則考慮是否放棄寫文件。

4. 釋出標準:效能指標、測試覆蓋率、沒有重大缺陷、讓客戶明確新功能,比如現場演示。