期刊VIP學術指導 符合學術規范和道德
保障品質 保證專業,沒有后顧之憂
摘 要:為了使軟件在測試過程中所出現的問題被更好地解決,從而保證軟件產品的測試順利通過,在測試過程中引入相應的敏捷測試方法和理念是非常重要的,可以使測試進度加快,同時也可以提高測試過程中的科學性。基于此,該文針對敏捷措施的核心理念及關鍵方法展開論述,說明了敏捷測試在軟件測試中的應用理念和實踐流程,希望可以為軟件測試工作提供一定的參考。
關鍵詞:軟件質量 敏捷測試 客戶需求
1 敏捷開發產生的背景
當前,互聯網行業成為了新一輪經濟增長的重點領域之一,作為互聯網行業中的重要組成部分,軟件開發和測試工作的重要性不言而喻[1]。
在傳統的軟件開發模式中,工程師對于開發的流程規范性和開發文檔是否齊全非常重視。并且,開發者在開發的整個流程,從系統的需求分析到軟件產品的最終發布,都按照正常順序進行,對于開發過程中的各個環節都進行嚴格的把關并反復地測試。并且通常遵循自上而下的順序。
在這種開發背景下,往往會產生大量的開發文檔,并且在開發的早期工程師不能夠直接觀測到開發的結果和階段性進度,一旦用戶的需求發生了調整,那么整體的文檔都需要被重新構建重寫。并且之前的工作往往需要推導出來,不能享用用戶的動態需求,費時費力,軟件產品發布的風險也大大提高。但隨著當前軟件開發工程的需求量不斷變化,用戶的需求也呈動態性。上述情況表明,以往的開發模式在當今復雜多變的用戶需求下,已經遠遠不能適應。
根據上述情況,為了快速地響應客戶的實際需求,與需求為核心的敏捷開發應運而生,在這種模式下測試和開發工作呈現你中有我,我中有你,不再各自獨立。并且軟件開發中的一個關鍵環節就是測試工作,為了保證軟件產品的質量,敏捷開發使測試員從客戶的角度提出相應的需求,然后軟件測試人員在與開發人員一起將客戶的實際需求轉變為可執行的規范,再用這些規范來指導代碼的編制。隨著編碼和測試的同步進行來建立新軟件的基本框架和軟件的品質表現,一直到軟件產品滿足客戶的實際需求[2]。
2 敏捷測試的特點
作為一種更接近人類活動和實際情況的方法,敏捷軟件開發講究以人為本,在開發中滿足軟件的不斷變化的動態需求,畢竟敏捷測試提倡個人小于團隊,團隊的工作任務是以客戶需求為導向,來積極地投入到軟件產品的開發過程中,并且根據客戶的變化需求來及時地交付軟件產品。上述開發模式使得缺陷的數目可以在早期的項目過程進行中得到有效的控制。同時也可以使軟件測試的作用在敏捷開發中更加充分地發揮出來。
敏捷測試主要有如下幾個方面的特點:首先,敏捷測試在迭代過程需要技術人員針對產品本身有一個大概的了解和認識,從用戶的角度來分析軟件的應用需求和軟件的測試策略,從而高效準確地完成測試工作,并且在測試過程中應該積極地創建應對方法和思路,確保按時完成產品的開發工作。其次,在整個產品的開發過程中,測試的方法十分靈活,敏捷測試可以根據軟件工程的進度,來針對性地采用各種方法和測試手段。例如,如果客戶對軟件的需求發生變化,那么軟件的功能也應該得到及時的調整,但是對于一些較為成熟平穩的功能,可以用自動化的測試方法測試,對于一些具有探索性的功能可以人工測試。最后,作為敏捷開發中最為核心的部分,客戶的需求必須被測試所緊緊圍繞和保障。
3 敏捷測試項目實踐
3.1 敏捷測試的流程和方法
在一些應用類的軟件產品測試中,采用敏捷化的測試理念,可以引入先進的控制方法和測試過程,針對傳統的測試流程中的復雜文檔和計劃進行合理的揚棄,取而代之的是靈活迭代和精簡計劃。
3.1.1 迭代計劃
迭代計劃是測試團隊和開發團隊進行充分交流的基礎上進行的測試迭代計劃,測試迭代和開發迭代之間相互關聯又相互獨立。并且開發迭代工作在整個軟件開發工程的項目中都不受到測試周期的干擾和影響,在軟件的測試階段乃至前期的開發初始階段,都可以持續反饋各種各樣的漏洞,然后修復工作隨時進行。總體來說,穩定工程的測試工作和正常的開發工作步伐基本相同。
3.1.2 設計過程
根據設計的迭代計劃,團隊中的開發和測試小組進行分工,并且在設計的評審階段,測試小組和開發小組成員共同進行,針對開發過程中的設計和測試環節進行充分的論證,并針對設計過程中的一些意見提出各自的看法,盡可能將問題扼殺在起始階段。
3.1.3 提交與驗證
首先,開發團隊成員在完成了初步的開發工作以后就可以提交測試團隊,然后測試團隊就可以根據開發團隊的成果進行測試的準備工作,軟件項目的初始版本一旦提交就可以進行下一輪的開發;其次,團隊的測試工作需要在第1代版本提交過程中,將下一輪的目標變更情況進行明確,從而及時調整測試方法和方向來指導測試的具體性工作;再次,在測試和驗證階段,測試驅動可驗證的過程之間具有著十分緊密的聯系,一旦在測試期間發現任何漏洞,需要及時與軟件開發人員進行反饋和溝通,保證測試過程中所發現的漏洞,在下一個迭代版本中能夠被及時地修復[3];最后,在軟件工程的測試過程中,進行每日例會是非常重要的,團隊成員可以將測試工作情況進行逐頁的匯報,使每一位成員都了解項目工程各個具體細節的進度情況,并且每一位參會的成員都可以提出測試工作中所需要協調解決的各項問題,然后再依托團隊的力量進行集中解決。
3.2 敏捷測試的優勢
3.2.1 迭代周期明顯縮短
在以往的測試中,測試活動和開發之間的聯系相對比較緊密,所以測試活動和開發之間往往需要較長的空窗期。上述情況造成軟件工程迭代的周期相對比較長,但一般情況下,測試工作和開發工作往往處于并行,在工程項目開發的各個階段都應該有測試人員的身影,這樣就避免了缺陷暴露的時候不被發現的問題,也可以使軟件工程的迭代周期大大縮短。
3.2.2 軟件質量有效提升
所有的軟件測試活動在敏捷開發模式下都緊緊圍繞軟件工程的質量展開,軟件的設置人員需要具有較高的專業技術水平,并且在測試的過程中,也應該快速地響應市場和用戶的需求。在敏捷測試過程中,十分注重用戶體驗和產品自身的質量問題。綜上所述,為了將版本的迭代速度大大縮短,技術人員應該通過持續性的設置來提高工程的開發水平和管理水平。
3.2.3 流程精簡高效
一般情況下,與傳統的軟件開發流程不同,敏捷測試不會死板地遵從經典軟件開發流程,由于傳統的軟件開發流程,往往會由于缺乏一些必要的開發文檔而停滯不前,造成了軟件開發工作的制約。但敏捷測試流程相對精簡高效,其理念是為軟件開發所提供良好的配套服務,所以如果開發需求不能對開發流程所滿足時,或者開發流程和開發之間產生沖突時,應該軟件開發作為主導,適當地改變軟件的測試流程。
4 結語
在敏捷開發中,軟件測試應該遵循敏捷開發的基本性原則。軟件工程在測試過程中應該根據不同的開發流程和環境進行分門別類的調整,敏捷開發中的敏捷測試方法在軟件工程的測試過程中也應該被工作人員所充分重視。在軟件測試過程中,往往會涉及到測試的充分性,以及分析不同軟件版本的測試關系,所以還應該將傳統測試方法中的一些優秀策略應用到敏捷測試中,只有這樣才能更好地為軟件項目提供測試服務。
參考文獻
[1] 胡兆華,何舒,王慧.敏捷測試在軟件項目中的應用研究與實踐[J].數字技術與應用,2017(9):92-93,95.
[2] 覃琳,楊程,孫衛寧,等.基于敏捷開發下的協同創新管理服務平臺能力提升[J].企業科技與發展,2019(2):9-10.
[3] 孫子謙,王雅琴,黃明明.戴明循環在敏捷軟件質量管理中的應用方法研究[J].計算機應用與軟件,2016,33(11):8-10.
推薦閱讀:SCI論文圖片用什么軟件做?