魏鄖華
關(guān)鍵詞:敏捷開(kāi)發(fā)模型Scrum;敏捷測(cè)試;Web系統(tǒng)
1敏捷開(kāi)發(fā)模型Scrum
隨著IT行業(yè)的發(fā)展,用戶(hù)應(yīng)用的業(yè)務(wù)系統(tǒng)愈來(lái)愈復(fù)雜多變。用戶(hù)要求業(yè)務(wù)系統(tǒng)上線(xiàn)時(shí)間快,傳統(tǒng)的軟件開(kāi)發(fā)測(cè)試模型已經(jīng)無(wú)法適應(yīng)市場(chǎng)的變化,日寸下流行的敏捷開(kāi)發(fā)測(cè)試技術(shù)模型Scrum應(yīng)運(yùn)而生。
Scrum模型是典型敏捷開(kāi)發(fā)模型的具體實(shí)踐形式。在該模型中,涉及的角色可以分為三大類(lèi)——第一類(lèi)是產(chǎn)品負(fù)責(zé)人,該角色將在整個(gè)產(chǎn)品開(kāi)發(fā)中負(fù)責(zé)完成前期規(guī)劃工作,以及產(chǎn)品需求分析;第二類(lèi)是軟件開(kāi)發(fā)人員,包括前端和UI開(kāi)發(fā)人員、后端和數(shù)據(jù)庫(kù)開(kāi)發(fā)人員、測(cè)試人員。Scrum開(kāi)發(fā)團(tuán)隊(duì)對(duì)成員的崗位素質(zhì)、技術(shù)技能、溝通能力要求相對(duì)較高。一個(gè)結(jié)構(gòu)合理的開(kāi)發(fā)團(tuán)隊(duì)成員人數(shù)在6~9人。測(cè)試人員作為開(kāi)發(fā)團(tuán)隊(duì)中的一員,需要完成開(kāi)發(fā)測(cè)試、并行推進(jìn)等任務(wù),以及懂得更多的專(zhuān)業(yè)開(kāi)發(fā)知識(shí)和技能,從而更好地和開(kāi)發(fā)人員進(jìn)行對(duì)接和交流:第三部分是整個(gè)流程管理協(xié)調(diào)人員,也稱(chēng)Scrum master[1]。
Sprint也是Scrum模型中非常重要的一個(gè)概念。Scrum本質(zhì)上就是一種持續(xù)迭代、持續(xù)交付、增量式的產(chǎn)品開(kāi)發(fā)模型,其中被開(kāi)發(fā)軟件產(chǎn)品被分解成若干個(gè)相對(duì)獨(dú)立的Sprint項(xiàng)目。在開(kāi)源禪道敏捷項(xiàng)目管理平臺(tái)中,將被開(kāi)發(fā)軟件理解為產(chǎn)品,Sprint理解為項(xiàng)目。軟件產(chǎn)品的最終實(shí)現(xiàn),其實(shí)就是多個(gè)Sprint項(xiàng)目迭代交付的結(jié)果,一個(gè)Sprint項(xiàng)目的最終輸出必須滿(mǎn)足可運(yùn)行、可用和可交付發(fā)布等特點(diǎn)。每一個(gè)Sprint項(xiàng)目開(kāi)發(fā)測(cè)試時(shí)間周期在1~4周,具體周期需要開(kāi)發(fā)團(tuán)隊(duì)依據(jù)軟件產(chǎn)品的需求用戶(hù)故事點(diǎn)多少而確定。
2敏捷測(cè)試解析
敏捷測(cè)試就是順應(yīng)敏捷開(kāi)發(fā)方法、力求達(dá)到質(zhì)量和效率平衡的一系列測(cè)試實(shí)踐。敏捷測(cè)試是一套解決方案、一類(lèi)測(cè)試操作與管理的框架、一組實(shí)踐或由一定順序的測(cè)試活動(dòng)構(gòu)成的特定的測(cè)試流程。通常我們把敏捷軟件開(kāi)發(fā)過(guò)程中開(kāi)展的測(cè)試稱(chēng)作敏捷測(cè)試(Agiletesting)。敏捷測(cè)試是遵循敏捷宣言的一種測(cè)試實(shí)踐。目前,并沒(méi)有完整的敏捷測(cè)試定義。事實(shí)上,敏捷測(cè)試隨著敏捷開(kāi)發(fā)的出現(xiàn)而誕生。和傳統(tǒng)軟件測(cè)試相比,敏捷測(cè)試主要在工作方式、工作流程上有了很大的變化。
眾所周知,軟件測(cè)試的核心之一是測(cè)試用例的設(shè)計(jì),傳統(tǒng)軟件測(cè)試用例需要把測(cè)試數(shù)據(jù)、操作步驟、預(yù)期結(jié)果羅列清晰,軟件需求也以軟件需求規(guī)格說(shuō)明書(shū)的形式非常明確地表述出來(lái),測(cè)試用例設(shè)計(jì)只需要把軟件需求規(guī)格說(shuō)明書(shū)的每一項(xiàng)技術(shù)指標(biāo)的測(cè)試設(shè)計(jì)成測(cè)試用例,就能很好地完成一定覆蓋率和測(cè)試精度的測(cè)試用例設(shè)計(jì)。敏捷測(cè)試雖然也需要測(cè)試用例,但是繁簡(jiǎn)程度不同,需求則是以用戶(hù)故事的形式表述出來(lái),可能沒(méi)有十分清晰、明確的需求,用例格式也不是關(guān)注重點(diǎn)。測(cè)試人員需要針對(duì)產(chǎn)品需求來(lái)表述用戶(hù)故事,敏捷測(cè)試用例可以簡(jiǎn)化為“誰(shuí)”如何“操作”系統(tǒng),完成什么“目標(biāo)”,即使是業(yè)務(wù)事務(wù)描述性需求,也可以寫(xiě)成一條測(cè)試用例。用戶(hù)故事可“粗線(xiàn)條”合并描述,也可細(xì)化分解描述。
3敏捷測(cè)試技術(shù)在Web應(yīng)用軟件系統(tǒng)中的應(yīng)用
本節(jié)以Web應(yīng)用軟件——森林防火運(yùn)行管理平臺(tái)為例,詳細(xì)介紹敏捷測(cè)試在Web應(yīng)用軟件測(cè)試流程中的主要測(cè)試活動(dòng)。
3.1項(xiàng)目背景
森林防火運(yùn)行管理平臺(tái)1.0是根據(jù)林草局森林防火業(yè)務(wù)的需求描述,構(gòu)建森林防火平臺(tái)應(yīng)用系統(tǒng),實(shí)現(xiàn)火災(zāi)監(jiān)控的信息化和智能化。該系統(tǒng)采用B/S結(jié)構(gòu),最終用戶(hù)有三類(lèi)——單位用戶(hù),如林草局各級(jí)防火機(jī)構(gòu);系統(tǒng)管理員,一般有多位成員,對(duì)本系統(tǒng)極其了解,具有對(duì)系統(tǒng)添加、修改、刪除的權(quán)利,可及時(shí)更新系統(tǒng)數(shù)據(jù);超級(jí)管理員,具有對(duì)本系統(tǒng)的系統(tǒng)參數(shù)定義、維護(hù)等權(quán)限[2]。
3.2敏捷開(kāi)發(fā)和測(cè)試的主要活動(dòng)
典型的敏捷開(kāi)發(fā)和測(cè)試主要由三部分構(gòu)成:(1)用戶(hù)故事設(shè)計(jì)和發(fā)布計(jì)劃;(2)幾次Sprint周期的迭代開(kāi)發(fā)和測(cè)試;(3)最后的產(chǎn)品發(fā)布。
敏捷開(kāi)發(fā)的每個(gè)時(shí)間段都有相應(yīng)的測(cè)試活動(dòng),敏捷開(kāi)發(fā)與敏捷測(cè)試主要活動(dòng)如表1所列。
3.3森林防火運(yùn)行管理平臺(tái)1.0的用戶(hù)故事和發(fā)布計(jì)劃階段
在此階段,項(xiàng)目經(jīng)理和產(chǎn)品經(jīng)理會(huì)根據(jù)客戶(hù)的需求,制定概要的產(chǎn)品發(fā)布日程計(jì)劃。測(cè)試人員可以和開(kāi)發(fā)人員一起學(xué)習(xí)新的功能,了解客戶(hù)的需求。此階段有兩個(gè)主要活動(dòng),即尋找隱藏的假設(shè)和設(shè)計(jì)概要的驗(yàn)收測(cè)試用例。
用戶(hù)故事從終端用戶(hù)的維度出發(fā),描述用戶(hù)期望實(shí)現(xiàn)的業(yè)務(wù)過(guò)程,其中包含三個(gè)要素:首先是身份角色,即功能或業(yè)務(wù)流程的使用對(duì)象:其次是活動(dòng),即角色期望實(shí)現(xiàn)的功能或業(yè)務(wù)流程;最后是商業(yè)價(jià)值。
以森林防火運(yùn)行管理平臺(tái)注冊(cè)功能為例,ueserstory可以表述如下:林草局單位防火機(jī)構(gòu)用戶(hù)或機(jī)構(gòu)系統(tǒng)管理員通過(guò)注冊(cè)功能可以進(jìn)入森林防火運(yùn)行管理平臺(tái)系統(tǒng)。森林防火運(yùn)行管理平臺(tái)登錄功能用戶(hù)故事表述如下:user storyl、各林草局防火機(jī)構(gòu)已注冊(cè)用戶(hù)輸入正確的用戶(hù)名和密碼,可登錄系統(tǒng)。若userstory2、各林草局防火機(jī)構(gòu)系統(tǒng)管理員已注冊(cè)用戶(hù)輸入錯(cuò)誤的用戶(hù)名或錯(cuò)誤的密碼,系統(tǒng)會(huì)拒絕登錄,并給出“用戶(hù)名或密碼錯(cuò)誤”的相應(yīng)提示,以保證系統(tǒng)的安全。森林防火運(yùn)行管理平臺(tái)部門(mén)查詢(xún)功能用戶(hù)故事表述如下:各林草局防火機(jī)構(gòu)已注冊(cè)用戶(hù)輸入部門(mén)名稱(chēng)等正確信息,可以查詢(xún)部門(mén)相關(guān)信息。如此一來(lái),通過(guò)用戶(hù)的角度將完整的軟件需求分解為若干個(gè)用戶(hù)故事,然后將每個(gè)用戶(hù)故事作為一個(gè)短期(一般1~4周)內(nèi)實(shí)現(xiàn)并可以發(fā)布交付的項(xiàng)目實(shí)施。這里的用戶(hù)故事也是后期測(cè)試用例設(shè)計(jì)的重要原始依據(jù)。
3.4森林防火運(yùn)行管理平臺(tái)1.0的幾次Sprint周期迭代開(kāi)發(fā)和測(cè)試
針對(duì)森林防火運(yùn)行管理平臺(tái)系統(tǒng),采用Scrum開(kāi)發(fā)模型,并分解為多個(gè)Sprint。比如,第一個(gè)Sprint可以包含平臺(tái)涉及的用戶(hù)注冊(cè)、登錄、修改個(gè)人信息、用戶(hù)管理需求點(diǎn)以及對(duì)應(yīng)的用戶(hù)故事。當(dāng)?shù)谝粋€(gè)Sprint完成后,再進(jìn)行第二個(gè)包含森林防火運(yùn)行管理平臺(tái)系統(tǒng)其他用戶(hù)故事需求的Sprint開(kāi)發(fā)測(cè)試,以此類(lèi)推,直至所有Sprint完成。表2列舉了一些依據(jù)用戶(hù)故事的測(cè)試用例。
3.5森林防火運(yùn)行管理平臺(tái)1.0的發(fā)布
前期,經(jīng)過(guò)幾輪的迭代開(kāi)發(fā)測(cè)試后,基本完成森林防火運(yùn)行管理平臺(tái)的系統(tǒng)測(cè)試,并由發(fā)布人或項(xiàng)目經(jīng)理、產(chǎn)品經(jīng)理根據(jù)發(fā)布計(jì)劃交付給客戶(hù)[3]。
4Web系統(tǒng)敏捷測(cè)試在禪道上的應(yīng)用配置和管理
禪道是現(xiàn)階段敏捷開(kāi)發(fā)項(xiàng)目管理使用頻率和用戶(hù)體驗(yàn)評(píng)價(jià)都非常高的一款開(kāi)源軟件,在禪道上管理整個(gè)敏捷開(kāi)發(fā)軟件產(chǎn)品,有一整套的操作流程,快捷高效。
針對(duì)森林防火運(yùn)行管理Web系統(tǒng)的敏捷開(kāi)發(fā)測(cè)試,在禪道上可以把被開(kāi)發(fā)測(cè)試Web系統(tǒng)定義為產(chǎn)品。
(1)產(chǎn)品經(jīng)理可以把產(chǎn)品名稱(chēng)和產(chǎn)品代號(hào)、產(chǎn)品負(fù)責(zé)人、測(cè)試負(fù)責(zé)人、發(fā)布負(fù)責(zé)人以及產(chǎn)品簡(jiǎn)介等相關(guān)信息輸入產(chǎn)品頁(yè)面并保存。比如,產(chǎn)品名稱(chēng)為“森林防火運(yùn)行管理Web系統(tǒng)1.0”,產(chǎn)品代碼可以設(shè)置為SLfh1.0。
(2)產(chǎn)品經(jīng)理可以根據(jù)需要添加功能模塊,將產(chǎn)品結(jié)構(gòu)整體信息傳遞給團(tuán)隊(duì)成員,這也是之后用戶(hù)故事需求分解和測(cè)試用例歸類(lèi)的重要依據(jù)。森林防火運(yùn)行管理Web系統(tǒng)分為以下功能模塊:用戶(hù)管理、角色管理、權(quán)限管理、部門(mén)管理、日志管理和行政區(qū)域劃分管理。后期,相關(guān)模塊可以隨著需求變更進(jìn)行維護(hù)、編輯、修改,不是固定不變的,這也是敏捷開(kāi)發(fā)測(cè)試獨(dú)有的特點(diǎn)之一。
(3)產(chǎn)品經(jīng)理建立Sprint項(xiàng)目,完成項(xiàng)目團(tuán)隊(duì)構(gòu)建和任務(wù)分配。在禪道的新建項(xiàng)目頁(yè)面可以完成相關(guān)數(shù)據(jù)的提交和保存。產(chǎn)品經(jīng)理以項(xiàng)目覆蓋需求點(diǎn)功能來(lái)編寫(xiě)用戶(hù)故事,在提需求頁(yè)面,根據(jù)需求大綱完成需求頁(yè)面信息的輸入和保存。這在頁(yè)面驗(yàn)收標(biāo)準(zhǔn)中非常重要。除了產(chǎn)品經(jīng)理,產(chǎn)品需求開(kāi)發(fā)工程師也可以編寫(xiě)用戶(hù)故事以及提交需求,而測(cè)試工程師只需要引用項(xiàng)目功能需求和用戶(hù)故事來(lái)設(shè)計(jì)測(cè)試用例。有了明確、清晰的需求,開(kāi)發(fā)人員便開(kāi)啟開(kāi)發(fā)流程,測(cè)試人員緊隨其后開(kāi)啟測(cè)試流程。測(cè)試用例頁(yè)面可以新建用例、刪除用例、復(fù)制用例、執(zhí)行用例等。綜上所述,禪道平臺(tái)為Web系統(tǒng)敏捷開(kāi)發(fā)測(cè)試工作提供了科學(xué)、高效的管理手段。
5結(jié)束語(yǔ)
在“互聯(lián)網(wǎng)+”時(shí)代,敏捷開(kāi)發(fā)與測(cè)試有著非常廣闊的應(yīng)用前景。許多互聯(lián)網(wǎng)公司都在采用敏捷開(kāi)發(fā)與測(cè)試模式。在該模式下,敏捷測(cè)試工程師屬于敏捷開(kāi)發(fā)團(tuán)隊(duì)中的一員,軟件測(cè)試不再和軟件開(kāi)發(fā)分離,而是相伴相生。