Scrum測試方法
在當今不斷發展和快節奏的環境中,高速實施至關重要。這對於所有商品和服務都適用。假設您在使用應用程式時因問題而受阻。您自然希望團隊在報告問題後儘快修復錯誤。如果沒有,您的下一步將是切換到不同的服務。
客戶希望立即進行調整和升級。因此,大多數軟體組織正在採用專注且靈活的軟體測試。記住,如果您讓客戶等待,您的競爭對手只需幾次按鍵即可!
在最佳化整個軟體開發生命週期同時節省時間和資源至關重要。這就是為什麼大多數企業更喜歡與敏捷團隊一起進行測試的原因。讓我們仔細看看這意味著什麼。
在這篇文章中,我將向您展示從傳統的測試環境切換到敏捷環境如何影響專案的預算、資源使用和及時性。您將瞭解Scrum測試、測試人員在敏捷環境中面臨的問題以及最終如何累加。因此,您將學習如何提高公司的產出和客戶滿意度。
什麼是Scrum?
Scrum是一種軟體開發方法,專注於複雜軟體應用程式的開發。它提供完成困難任務的簡單方法。Scrum允許開發團隊專注於軟體開發的所有方面,例如質量、效能和可用性。為了避免複雜性,它允許在整個軟體開發過程中進行透明化、檢查和適應。
Scrum是一個框架,允許團隊解決複雜問題,同時仍然交付產品。即使問題很複雜,交付產品的質量也必須很高。當問題複雜時,需要有效的團隊協作。
Scrum是一種簡單易懂的方法。但是,掌握它可能很困難。與普遍的看法相反,Scrum不是一種方法。它只是一個框架。
Scrum團隊由以下人員組成:
- 產品負責人
- Scrum主管
- 一群開發人員和測試人員
整個Scrum理念的基礎是確保更好的靈活性和創造力,同時提高生產力。團隊是多功能的。這樣就無需依賴其他團隊來完成任務。由於團隊是自組織的,因此它們不需要任何外部指導。
Scrum測試的目標
Scrum測試的目標是:
- 確定軟體的複雜性。
- 評估軟體的質量。
- 評估軟體的效能。
- 評估軟體的可用性。
- 協助單元測試。
Scrum和敏捷的區別
敏捷是一套原則,指導您完成迭代式軟體開發過程。但是,在敏捷環境中,測試人員必須遵守某些準則。Scrum就是這套準則的名稱。Scrum是一種用作敏捷框架一部分的工具。讓我們更仔細地看看敏捷和Scrum,以便更好地理解。
敏捷管理
敏捷管理是一套軟體開發方法。這些方法是迭代的和漸進的。理性統一過程 (RUP)、極限程式設計 (XP) 和 Scrum 都是敏捷管理的例子。敏捷方法還會導致需求和產出的演變。由於團隊協作,這種專案開發方法的演變是可實現的。
敏捷團隊是自組織和跨職能的。新專案的分析、文件編制和開發都是交織在一起的。每次迭代都使我們更接近目標。這種方法簡化了適應修改的過程。它還提高了可擴充套件性。運營和流程變得更具適應性。
Scrum生態系統
敏捷生態系統包括 Scrum,它是敏捷生態系統的一個子集。這是一種處理難題同時交付高質量成果的方法。如果需要立即更改,團隊可以靈活地進行必要的調整。Scrum 的有效性取決於有效的團隊合作和頻繁的溝通。此外,每次衝刺都會帶來新的方法來提高效率。
由於Scrum是敏捷測試的一部分,我們也應該瞭解敏捷方法,因此敏捷測試的一些重要部分:
是什麼讓敏捷測試不同於傳統測試?
為了快速實施概念,軟體開發生命週期 (SDLC) 需要一種可靠的方法。傳統測試是常態,但當公司轉向敏捷測試時,生產力會提高。讓我們看看敏捷測試與傳統測試有何不同,以及它如何幫助您的公司。
傳統測試
傳統測試試圖找出使用者想要什麼,然後構建一個產品來滿足他們的需求。在釋出產品之前,測試人員會對其進行測試並報告任何問題。然後,開發團隊會處理這些問題,使用最佳可用解決方案糾正任何缺陷。反饋。
傳統測試的假設是流程是可重複和可預測的。
其理念是團隊可以在 SDLC 期間控制流程。在不同的級別,層次結構保持穩定性。它透過根據個人的能力將不同的工作分配給不同的人來標準化流程。但是,雖然標準範例似乎很簡單,但它缺乏靈活性。由於團隊必須按特定順序完成任務,因此該方法需要很長時間。
敏捷測試
傳統測試很僵硬,而敏捷測試旨在解決這個問題。它是一種基於團隊的方法,但與傳統測試不同,它具有互動性和動態性。因此,產品到達所需的時間減少了。專案被分成衝刺,這是定時任務。每個衝刺都有一個特定的時間限制。我們談論的是不可預測的流程。此外,這些流程一開始可能看起來有點難以掌握。這是因為任務沒有明確定義。
但是,該流程的高度適應性和靈活性使其物有所值。敏捷測試方法會在使用者需要時快速適應變化。迭代週期會根據定期的客戶溝通和反饋做出調整。
切換到敏捷測試之前測試人員應該瞭解什麼
對於習慣於瀑布模型的人來說,適應敏捷環境是一個巨大的轉變。在切換到敏捷測試之前,測試人員應該瞭解一些事情。
自動化工具專業知識
對每次衝刺進行重複測試是浪費時間。測試人員必須加快回歸測試速度。他們還必須熟悉自動化工具才能加快測試速度。這些工具的例子包括 Selenium WebDriver、HP UFT 和 Appium。在轉向敏捷測試之前,需要掌握的一些 BDD 和單元測試工具包括 JUnit、Cucumber、Pytest、JBehave 等。
專案管理工具知識
曾經有一段時間,測試人員使用 HP Quality Center 來跟蹤錯誤並報告錯誤。Slack、JIRA 和 Mantis 是可以用於多種用途的工具示例。除了發現問題之外,它們還有助於高效的合作和專案管理。
Scrum方法的關鍵特徵
Scrum 的主要特徵如下:
為了適應快速變化的開發需求,Scrum 使用稱為衝刺的具有可變範圍的短期固定釋出週期計劃。每次釋出可能有多個衝刺。每個 Scrum 專案可能有多個釋出週期。
一系列重複出現的會議、事件和里程碑。
一種測試和實施新需求(稱為故事)的方法,以確保在每個衝刺結束時釋出一些準備就緒的工作。
Scrum 由三個關鍵組成部分組成。
角色:
- 產品負責人
- Scrum主管
- 團隊
工件:
- 產品待辦事項列表
- 衝刺待辦事項列表
- 燃盡圖
儀式:
- 衝刺計劃
- 衝刺回顧
- 衝刺反思
- 每日站會
讓我們分別看看每一個。
Scrum 的角色
在Scrum測試中,產品負責人、Scrum主管和開發團隊是三個主要角色。讓我們仔細看看它們。
產品負責人
他或她定義產品的特性。
產品負責人確定釋出日期和相關特性。
他們根據產品的市場價值和盈利能力對屬性進行排序。
他或她負責產品的盈利能力。
他或她可以選擇接受或拒絕工作專案的成果。
Scrum主管
他/她負責團隊的生產和管理。
他/她跟蹤開發中的障礙並將其消除。
他或她負責協調所有職責和職能。
他/她保護團隊免受外部影響。
需要參加每日站會、衝刺評審和計劃會議。
開發團隊
團隊通常由5到9人組成。
它包含程式設計師、設計師,有時還有測試人員等等。
團隊自行安排和安排工作。
有權在專案範圍內做任何事情以實現衝刺目標。
積極參與每日例會
Scrum工件
產品待辦事項列表 −
1. 釋出待辦事項列表(釋出1)- 1. 衝刺待辦事項列表(衝刺1)- 衝刺計劃 – 每日站會工作(每日站會) - 衝刺回顧
2. 衝刺待辦事項列表(衝刺2)
2. 釋出待辦事項列表 – 釋出2
Scrum流程包含以下步驟 −
使用者案例 − 它們是對正在測試的系統功能的簡潔總結。例如,對於保險提供商來說,“可以使用線上系統支付保費”。
產品待辦事項列表 − Scrum產品的待辦事項列表是收集的使用者故事的集合。產品待辦事項列表由產品負責人準備和維護。產品負責人對其進行優先順序排序,任何人都可以在產品負責人的許可下新增內容。
釋出待辦事項列表 − 釋出是一段時間,在此期間完成一定數量的迭代。產品負責人和Scrum主管合作確定哪些故事應該優先發布。
釋出待辦事項列表中的故事計劃在特定版本中完成。
衝刺 − 衝刺是產品負責人和程式設計團隊完成使用者故事的預定時間段,通常為2-4周。
衝刺待辦事項列表 − 衝刺待辦事項列表是必須在一個衝刺中完成的使用者故事的集合。在衝刺待辦事項列表期間從不分配工作,團隊自行認領任務。團隊擁有並管理它,並且每天都會更新預計剩餘的工作量。它是衝刺期間必須完成的任務列表。
阻塞列表 − Scrum主管的阻塞列表每天更新,列出了未作出的決策和障礙。
燃盡圖 − 在整個過程中,燃盡圖描繪了正在進行的工作和已完成工作的總體進度。它以圖表形式顯示未完成的故事和特性。
Scrum中的儀式(流程)
衝刺計劃 − 團隊將故事從釋出待辦事項列表匯入到由Scrum主管主持的衝刺待辦事項列表中。測試人員估計測試衝刺待辦事項列表中每個故事所需的時間。
每日站會 − 持續大約15分鐘,由Scrum主管主持。在每日站會期間,成員將討論前一天完成的工作、第二天計劃的工作以及衝刺期間遇到的問題。在每日站立會議期間跟蹤團隊的進度。
衝刺評審/回顧 − 由Scrum主管主持,此會議持續大約2-4小時,討論團隊在上一個衝刺中完成的工作以及吸取的經驗教訓。
Scrum測試是什麼樣的?
當我第一次瞭解Scrum時,整個測試方法被分成四個象限的事實讓我感到驚訝。讓我們仔細看看。
第一象限
第一步是檢查程式碼質量。測試人員提供即時反饋。然後,開發人員根據輸入繼續他們的工作。單元測試和元件架構測試就是這些工作的例子。前者是指開發人員檢查程式碼單元以驗證它是否滿足要求。後者是確保將程式碼片段組合在一起時,它們可以工作。
第二象限
測試人員和開發人員都理解需求。兩者在履行職責的同時,牢記公司的目標。這包括對多種場景進行測試。原型和線框測試必須在考慮使用者體驗的情況下進行。
第三象限
自動化測試評估產品的可用性。儘管產品開發尚未完成,但仍在進行測試。預定的演示驗證開發是否按照公司的目標進行。第三象限涵蓋以下五個階段 −
- 測試期間的協作
- 使用者驗收測試
- 觀察性研究
- 可用性測試
- 結對測試
第四象限
測試人員測試效能、資料遷移、基礎設施、壓力和負載。其他考慮因素包括身份驗證安全性。產品應具有反駭客和反攻擊功能。測試人員的另一個考慮因素是可擴充套件性。
Scrum對測試人員意味著什麼?
與標準測試環境不同,測試人員不必等到流程結束才進行測試,而必須在整個過程中進行測試。除了測試之外,測試人員還可以學習新技能,例如開發或業務分析。工作場所文化發生了變化。讓我們看看測試人員在進行Scrum測試時遇到的一些事情。
更好地理解業務邏輯
測試人員會接受關於領域應用程式如何工作的廣泛培訓。他們必須與開發團隊緊密合作。這使他們能夠提出新的有效的業務案例場景。架構圖和開發術語變得更加熟悉。測試人員需要清晰的業務邏輯,以便他們可以與業務分析師和開發人員討論應用程式規範。
自動化測試以節省時間。
測試人員應該熟悉Selenium、Appium、UFT、GitLab、Codeship、Jenkins等工具。為了保持競爭力,他們必須擁抱變化。
快速測試需要自動化。儘管測試人員必須在自動化過程中處理一些重大變化,但這卻是磨練技能的機會。除此之外,自動化降低了與迴歸測試相關的風險。
最好使用Testim之類的服務。它提供人工智慧輔助的自動化功能測試。在自動化測試過程中,它還可以加快執行、創作和維護速度。
從一開始就遵循SDLC
在瀑布方法中,測試人員過去是在測試開始之前等待的。但是,在Scrum測試中,測試人員必須從一開始就遵循SDLC。
透過這種方法,測試視窗擴大,協作得到改善。在這種方法中,測試人員可以徹底瞭解流程。因此,不會跳過任何測試階段。
定期進行每日站會
在敏捷環境中,測試人員需要參加定期的每日站會。這些會議通常持續15到30分鐘,並且在一天開始時舉行。這時,經理或Scrum主管會詢問每個團隊成員他們前一天的活動。他們還會獲取有關當天的任務和潛在障礙的資訊。
讓測試人員參加每日站會有助於避免專案早期的障礙。包括測試人員在內的整個團隊都知道正在發生的事情。它保證某些任務能夠完成。
Scrum中測試人員的角色
在Scrum流程中,測試人員沒有積極的角色。測試通常由使用單元測試的開發人員完成。在每個衝刺期間,產品負責人也大量參與測試過程。根據專案型別和複雜性,一些Scrum專案使用專門的測試團隊。
那麼,是否有測試人員的角色呢?下一段將透過測試人員的工作來解答這個問題。
Scrum測試活動
在Scrum的各個階段,測試人員執行以下任務。
衝刺計劃
在衝刺準備期間,測試人員應從產品待辦事項列表中選擇一個使用者故事進行測試。
作為測試人員,您必須確定完成您選擇的每個使用者故事的測試需要多少小時(工作量估算)。
作為測試人員,他或她必須瞭解衝刺目標。
作為測試人員,為優先順序排序過程做出貢獻。
衝刺
協助開發人員進行單元測試
使用者故事完成後,對其進行測試。測試執行在一個實驗室中進行,測試人員和開發人員都在那裡一起工作。
使用缺陷管理應用程式每天跟蹤缺陷。在Scrum會議期間,可以討論和分析缺陷。缺陷一旦得到解決,就會重新測試並部署進行測試。
作為測試人員,他/她參加所有每日站會以發表意見。
作為測試人員,他/她可以將任何無法在當前衝刺中完成的待辦事項帶到下一個衝刺。
測試人員編寫自動化指令碼。他使用持續整合 (CI) 系統來規劃自動化測試。由於交付時間緊迫,自動化正變得越來越重要。
可以使用市場上各種免費和商業產品來實現測試自動化。這種方法非常適合確保已完成所有需要測試的內容。透過與團隊的密切溝通,可以獲得足夠的測試覆蓋率。
審查CI自動化的結果並向利益相關者提供報告。
對已批准的使用者故事執行非功能性測試
與客戶和產品負責人合作,為驗收測試定義驗收標準。
在某些情況下,在衝刺結束時,測試人員進行驗收測試 (UAT) 並驗證當前衝刺的測試是否完成。
衝刺回顧
作為測試人員,他將找出當前衝刺中哪裡出了問題以及哪裡做對了。
作為測試人員,他確定了經驗教訓和最佳實踐。
Scrum測試的好處
Scrum測試具有以下好處 −
它有助於確定軟體的質量。
它對單元測試有益。
它有助於開發複雜的軟體。
測試報告
Scrum測試指標報告為利益相關者提供了專案的透明度和可見性。所報告的指標使團隊能夠評估其成功並規劃未來的產品改進策略。在報告方面,通常採用兩種指標。
燃盡圖 (Burndown chart) − Scrum主管每天在燃盡圖上記錄衝刺中預期的剩餘工作量。燃盡圖就是這樣,它每天都會更新。
燃盡圖快速總結了專案的進度;它包含諸如專案中需要完成的總工作量、每個衝刺中完成的工作量等資料。
速度歷史圖 (Velocity history graph) − 速度歷史圖預測團隊在每個衝刺中的速度。這是一個條形圖,顯示團隊的產出如何隨時間推移而變化。
進度燃盡、預算燃盡、主題完成百分比、已完成的故事與剩餘的故事以及其他指標可能也很有價值。