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