首頁>Club>
12
回覆列表
  • 1 # 使用者1804848196267

    敏捷開發最大的特點是迭代式開發,各個階段都具備獨立執行和獨立交付的特性。主要是以客戶的需求進化為核心,採用迭代、循序漸進的方法進行軟體開發。

    在敏捷開發中,軟體專案在構建初期被切分成多個子專案,即就是多個sprint,每個sprint中又會有劃分成多個build,在一個軟體專案完成後會對整個產品從頭到尾進行迴歸驗證,以確保軟體在每一次迭代過程中沒有錯誤產生。在軟體最後的釋出階段,客戶會對最終的產品進行驗收工作。上線後對軟體進行一直的維護。

    以軟體專案中的一個迭代即一個sprint為例,一個sprint一般會被分割成2-4個build,每個build的週期約為1周,每個sprint的第一步都需要對專案進行需求的分析和澄清過程,確保達到需求對齊(甲方和乙方)的目的。第二步根據分析所得的需求對測試進行計劃,確保在有計劃的基礎上進行每一項工作和任務。第三步根據測試計劃進行設計測試用例,需要有清晰的思路,對要測什麼,按照什麼順序測,覆蓋哪些要求,有明確的方向。第四步根據測試設計去進行軟體的開發,開發完成後,自己測試完畢並把測試出來的bug修復後進行版本轉測。基於每個build,第一步需要搭建測試環境,完成後對開發給的測試包進行冒煙測試,如果測試透過進行下一步操作,如果沒有透過進行版本打回。第二步執行測試用例,根據測試用例執行的結果將bug提交成開發,等bug修復後再次進行測試,完成通過後進行下一個build,等所有的build執行完成後,基於一個sprint,對真個過程進行總結,並編寫測試報告。

    敏捷相關概念:

    Sprint(Sprint本身是一個事件,包括瞭如下4個事件)

    Sprint計劃會議(SprintPlanning Meeting)

    每日站會(DailyScrum Meeting)

    Sprint評審會議(SprintReview Meeting)

    Sprint回顧會議(SprintRetrospective Meeting)

    TDD:測試驅動開發(Test-DrivenDevelopment)

    測試驅動開發是敏捷開發中的一項核心實踐和技術,也是一種設計方法論。TDD的原理是在開發功能程式碼之前,先編寫單元測試用例程式碼,測試程式碼確定需要編寫什麼產品程式碼。TDD的基本思路就是透過測試來推動整個開發的進行,但測試驅動開發並不只是單純的測試工作,而是把需求分析,設計,質量控制量化的過程。TDD首先考慮使用需求(物件、功能、過程、介面等),主要是編寫測試用例框架對功能的過程和介面進行設計,而測試框架可以持續進行驗證。

    BDD:行為驅動開發(BehaviorDriven Development)

    行為驅動開發是一種敏捷軟體開發的技術,它鼓勵軟體專案中的開發者、QA和非技術人員或商業參與者之間的協作。主要是從使用者的需求出發,強調系統行為。BDD包括驗收測試和客戶測試驅動等的極限程式設計的實踐,作為對測試驅動開發的迴應。

    持續整合CI(Continuous Integration)

    持續整合強調開發人員提交了新程式碼之後,立刻自動的進行構建、(單元)測試。根據測試結果,我們可以確定新程式碼和原有程式碼能否正確地整合在一起。

    持續整合過程中很重視自動化測試驗證結果,對可能出現的一些問題進行預警,以保障最終合併的程式碼沒有問題。

    持續部署CD(continuous deployment)

    是透過自動化的構建、測試和部署迴圈來快速交付高質量的產品。某種程度上代表了一個開發團隊工程化的程度,畢竟快速運轉的網際網路公司人力成本會高於機器,投資機器最佳化開發流程化相對也提高了人的效率,讓 engineering productivity 最大化。

  • 中秋節和大豐收的關聯?
  • “立冬之後就要拔蘿蔔了”這種說法有什麼道理呢?