敏捷測試流程_第1頁
敏捷測試流程_第2頁
敏捷測試流程_第3頁
敏捷測試流程_第4頁
敏捷測試流程_第5頁
已閱讀5頁,還剩1頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

敏捷測試流程在敏捷方法中,XP方法強調測試在整個項目開發過程中的重要性。針對敏捷開發方法的敏捷測試不同于以往針對傳統開發模式的測試,在敏捷團隊中,測試是整個項目組的〃車頭燈”,它告訴大家現在到哪了,正在往哪個方向走。測試員為項目組提供豐富的信息,使得項目組基于這些可靠的信息作出正確的決定。不僅是測試員要保證質量,而是整個項目組的每一個人都要對質量負責。測試員不跟開發人員糾纏錯誤,而是幫助他們找到目標,共同為達到項目的最終目標而努力。敏捷測試也需要高度迭代工作、頻繁得到客戶的反饋需要動態調整測試計劃、測試的執行。并且,敏捷測試人員參與到了更多的敏捷生產活動中,積極的影響了團隊做出的決定和計劃。根據公司項目目前采用的敏捷開發模式,相應的敏捷測試建議采用以下流程:驗證需求和設計需求和設計具體來說一般包括:由項目經理根據需求文本而編寫的功能設計文本(FunctionalDesignSpecification)由開發人員根據功能文本而編寫的實施設計文本(ImplementationDesignSpecification)包括(ArchitectureDocument,ProjectScopeStatement,UseCase)。作為測試人員,審核重點是檢查文本對用戶需求定義的完整性、嚴密性和功能設計的可測性.在測試初期,測試人員要學會做靜態測試,做好需求分析,做好對設計邏輯的分析。測試人員要更多的思考需求的可實現性,將自身作為第一用戶積極參與項目和系統的需求分析,設計和開發。積極地參與前期工作,并迅速反饋給設計和開發其靜態測試結果。要盡早的開始測試,不要等待到功能完全做好才開始。產出物:測試需要提交評審結果文檔,可以讓測試更多的參與DBDesign,框架的評審中來測試計劃,測試用例1) 編寫計劃、測試用例在敏捷開發的過程中由于是根據每個userstory來估算時間的。開發人員將對本次迭代所需要的完成的userstory進行評估。開發人員可以和客戶直接溝通,來確定每個userstory的優先級。好處:客戶可以很清楚的了解到哪些userstory需要花賽多長的時間,以及他們的優先級。問題:在userstory的時間估算上,開發人員常會估算過少。引起版本無法按時發布或者必須進行加班才能進行發布。分析:由于版本更新很快,任務的時間都是以小時來進行估算的。開發人員一般會忽略掉開發以外的時間,比如開發中遇到問題的時間,開會,給其他成員提供幫助的時間,等等。舉個例子:開發人員估算某個userstory編碼的時間需要1.5天,開發人員自己估算了其他時間為半天。于是開發人員給的估算時間是2天。開發階段實際的花賽時間如下,每天花賽開例會的時間。在例會中項目的其他成員需要技術上的支持。于是發賽了3個小時進行幫助。在開發的過程中遇到了一些沒有預見到的問題,結果解決問題花賽了4個小時。(也許更多)。需要處理一些公司突發性的事務等等。所以非常建議大家在估算時間上能充分的考慮到以外的因素,某本XP相關的書上寫到,在時間估算上最好的時間是編碼時間的2-3倍。聽起來很嚇人,但是實際的過程中,的確需要這么多的時間。測試人員根據已審核通過的需求和設計編制測試計劃,設計測試用例。在前面提到的三種文本中,功能設計文本是主要依據。測試的這兩個文本也要被項目經理和開發人員審核。2) 測試用例的審核為使開發人員能參與到TestCase的Review中來,以保證TC的質量和可行性,確保測試工作的順利進行,讓開發人員迅速地了解測試的重點并給出相應的意見和建議,測試人員在出TC的同時,應出一份TC_Matrix(TestCase跟蹤矩陣),其中注明TC已覆蓋了哪些Features,具體每個Features對應的TC的編號,這樣在測試經理和PM對TC進行Review的時候,能夠對TC的覆蓋率一目了然,對覆蓋率不足(如某個重點Feature的TestCase不夠)的地方能夠及時給出意見。另外,在每天早上的MorningMeeting上,測試人員可以簡潔地講述一下當天測試的重點部分,以及項目中存在哪些嚴重的bug,讓開發人員了解當天測試的重點是什么,怎樣進行測試,并提出自己的意見和建議。這樣做加強了開發與測試人員的交流和溝通,使測試工作能夠更加有效,更加順利地開展。在迭代后期測試要抽時間更新testcase。實施運行測試在敏捷方法中,測試有兩種:單元測試和接收測試。單元測試是由開發人員來完成的,接收測試是由客戶代表來完成。由于我們客戶無法在現場,我們采取了,開發人員做單元測試,測試人員做驗證測試,最后由客戶進行接收測試。在每個版本發布給客戶之前必須由測試人員進行測試,發布版本之后由客戶做接收測試,提出需要修改的地方。需要修改的地方將在下一個發布完成。1)單元測試在dailybuild版本給測試前,開發首先要做單元測試,提前告知軟件中的薄弱環節,幫助測試人員調整測試重點。Unittest做單元測試的好處是可以提高版本質量,減輕測試的工作量,減少淺層次的bug的發生率,使測試人員能夠將更多的精力投入到尋找深層次的bug上面。2)驗證測試

測試人員的驗證測試從總體上說就是將上一步設計的測試用例按計劃付諸實施的過程。這一階段的測試必須在周密的計劃下進行。這種計劃性首先體現在開發和測試的相互協調配合,根據產品的架構和功能模塊的依賴關系,按照項目的總體計劃共同推進。從測試的過程來看,測試執行的一開始可以是針對部分功能的,之后可以逐步擴展。接著開始采用迭代的過程完成測試任務,即將測試任務劃分為多個周期,一開始可以做些關鍵的功能性測試,可以對代碼中的可復用部分(組件,構件)做完整的測試。接著的迭代周期可以做邊緣化的功能測試和其他測試,最后的幾個迭代應該用于回歸測試,和關鍵的性能和穩定性測試。3) 每日提供bug趨勢為方便衡量項目的進度,測試可每天測試完畢后提供測試的bug趨勢,即將每天新生成的Bug數和每天被解決的Bug數標成一個趨勢圖表。一般在項目的開始階段新生Bug數曲線會呈上升趨勢,到項目中后期被解決Bug數曲線會趨于上升,而新生Bug數曲線應下降,到項目最后,兩條曲線都趨向于零。PM會持續觀察這張圖表,確保項目健康發展,同時通過分析預測項目Bug,對于每個版本的bug,開發都應該想想為什么會出現這樣的問題,特別是很低級的bug,對于同類的bug,是否可以避免。測試需要考慮:探索性測試用例的編寫4) 測試用例的維護在執行測試階段中,測試人員需要對已有的測試用例進行及時的維護。通常以下兩種情況下要新增一些測試用例:一是對于當初測試設計不周全的領域,二是對于外部的Bug(比如從Beta客戶報告來的),沒有被現有測試用例所覆蓋。當產品的功能設計出現更改時(敏捷項目中功能設計的更改頻繁),所涉及的測試用例也要相應地修改,使測試用例保持和現有的功能需求同步。5) 根據項目不斷補充CommonSense在項目進行過程中,測試人員需要不斷積累經驗,不斷補充、完善各類目的CommonSense標準。例如,由CTTS項目總結出的CommonSenseforUSA標準,在以后的美國項目中要嚴格按照它來執行測試,保證以前出現過的失誤在以后的項目測試中不會再出現。在保證項目質量的同時,不斷積累新的經驗。6) 控制中間版本為更好地保證軟件質量,規避風險,必須加強對中間版本的控制。例如,客戶要求或者計劃周五要提交版本,則周三一定要提交一個中間過程的版本進行測試,也就是控制中間版本,避免所有的工作都壓到后期最緊急的時候去完成。以前的項目中出現過項目前期很輕松,到后期bug越來越多,開發人員和測試人員都異常忙碌,經常加班的情況。為減少后期工作量,規避風險,建議開發進行DaliyBuild,或者按照完成一個feature就進行一次build,針對這個feature進行測試,這樣就可以有效避免后期bug越來越多的狀況發生,后期工作量也就會相應減少,項目的質量也會更有保證。7) 發布版本前編寫ReleaseNote在每次發布版本之前,測試人員要根據待發布的版本情況編寫ReleaseNote,使客戶對發布的版本情況一目了然。ReleaseNote主要包括三方面的內容:Fixed,NewFeatures,KnownProblems。其中,Fixed部分寫明此版本修復了上個版本中存在的的哪些比較大的bug;NewFeatures部分寫明此版本新增加了哪些功能;KnownProblems部分寫明此版本尚存在哪些比較大的問題,有待下個版本改善;或者列出需求不太明確的地方,有待客戶給出明確答復意見,在下個版本中完成。需求管理采用敏捷開發模式的項目中,客戶對于需求的變更很頻繁。因此,需求管理是十分必要和重要的工作。整個項目進行過程中,對不斷變化的需求,一定要作跟蹤,每次的需求變更都要有相應的歷史記錄,方便后期的管理和維護工作。可將每次的變更整理記錄到需求跟蹤文檔中,并使該文檔始終保持最新更新的狀態,與需求的變化保持同步。問題:客戶可能會在一個功能點上來回修改他們的需求,也許開始需要某個功能,結果做完以后又覺得不好,于是讓去掉這個功能。后來又由于一些原因,有需要加上。在整個過程中可能來回修改了很多次。那一定要記錄下變更的內容和日期。可能后期客戶會覺得一個功能怎么會花那么多的時間,不是以前很早就做過了嗎?這時這些記錄才是解決客戶疑慮的最好證明。說白了,是有證據證明我們做了很多的變更。大家可能覺得,怎么會有這個問題。其實當一個項目長達半年以上,也許大家的記憶力都不可靠了。建議:目前采用的是vss工具,對每天的Email中提到的需求變更做一次backup,文檔以當天收到Email的日期命名。項目開發末期開展“山9大掃除”在項目開發的末期,可以開展“bug大掃除”活動。劃出一個專門的時間段,在這期間所有參與項目的人員,集中全部精力,搜尋項目的Bug。注意以下

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論