趙蓮芬 潘正軍
摘要:針對(duì)基于案例的軟件測(cè)試實(shí)驗(yàn)教學(xué)過(guò)程中無(wú)法對(duì)整個(gè)項(xiàng)目生命周期進(jìn)行有效的管理和溝通,對(duì)開(kāi)源項(xiàng)目管理工具“禪道”進(jìn)行分析,引入到實(shí)際的軟件測(cè)試實(shí)驗(yàn)教學(xué)過(guò)程中,詳細(xì)的闡述了該工具在軟件測(cè)試實(shí)驗(yàn)教學(xué)中的應(yīng)用。
關(guān)鍵詞: 軟件測(cè)試;實(shí)驗(yàn)教學(xué);項(xiàng)目管理;禪道
中圖分類號(hào):TP311.5 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)05-0999-04
The Application of Project Management Tools "Zentao" in The Experimental Teaching of Software Testing
ZHAO Lian-fen1, PAN Zheng-jun2
(1. Department of Network Technology of South China Institute of Software Engineering, Guangzhou 510990, China; 2. Department of Software Engineering of South China Institute of Software Engineering, Guangzhou 510990, China)
Abstract: In view of the experimental teaching of software testing based on the case are not effective management and communication on the whole project life cycle, analysis the open source project management tool "zentao" and apply to experimental test in the actual teaching process, described in detail the application of the tool in the experimental teaching of software testing.
Key words: software test; experimental teaching; project management; zentao
軟件測(cè)試是一種思維和工程性的活動(dòng)[1],軟件測(cè)試貫穿軟件開(kāi)發(fā)的整個(gè)生命周期,從需求分析到最后軟件產(chǎn)品的交付,每個(gè)階段都存在軟件測(cè)試的工作[2]。因此,軟件測(cè)試實(shí)驗(yàn)教學(xué)的好壞,直接影響到最終的教學(xué)效果。目前有效的軟件測(cè)試實(shí)驗(yàn)教學(xué)方法是基于項(xiàng)目驅(qū)動(dòng)的案例教學(xué)法[3];基于完整項(xiàng)目驅(qū)動(dòng)的實(shí)驗(yàn)教學(xué)能夠讓學(xué)生清楚的理解整個(gè)項(xiàng)目開(kāi)發(fā)和測(cè)試的每一個(gè)流程,搞清楚測(cè)試和開(kāi)發(fā)的關(guān)系[4],但對(duì)于項(xiàng)目整個(gè)生命周期如何進(jìn)行管理,每一個(gè)環(huán)節(jié)如何進(jìn)行銜接和處理并沒(méi)有進(jìn)行具體的闡述。軟件測(cè)試管理的工具有很多種,有開(kāi)源的和非開(kāi)源的,有偏重于測(cè)試管理的,有偏重于項(xiàng)目管理的,如何進(jìn)行選擇成了一個(gè)比較重要的問(wèn)題,既要考慮工具的功能、價(jià)格,還要考慮工具對(duì)項(xiàng)目整個(gè)生命周期各階段的適應(yīng)性、連續(xù)性和一致性[5]。因此,軟件測(cè)試實(shí)驗(yàn)教學(xué)過(guò)程中如何選擇合適的項(xiàng)目管理工具進(jìn)行項(xiàng)目案例生命周期的管理和溝通,如何提高軟件測(cè)試的質(zhì)量和效率,把握好質(zhì)量控制和管理,讓學(xué)生在以項(xiàng)目驅(qū)動(dòng)的實(shí)驗(yàn)教學(xué)過(guò)程中深刻理解真實(shí)的測(cè)試案例,是軟件測(cè)試實(shí)驗(yàn)教學(xué)過(guò)程中面臨的一個(gè)重要問(wèn)題。
1 軟件測(cè)試實(shí)驗(yàn)教學(xué)現(xiàn)狀
目前的軟件測(cè)試實(shí)驗(yàn)教學(xué)方法主要分為兩種,一種是采用理論和實(shí)驗(yàn)結(jié)合的傳統(tǒng)教學(xué)方法,這種方式學(xué)生學(xué)習(xí)到的知識(shí)是孤立和單一的,缺乏整體思維和全局觀,不適合于培養(yǎng)學(xué)生的邏輯思維能力,分析問(wèn)題和解決問(wèn)題的能力。另一種方法是基于項(xiàng)目驅(qū)動(dòng)的案例教學(xué)法,這種方式有利于培養(yǎng)學(xué)生的整體思維,分析和解決問(wèn)題的能力,但是也存在如何真實(shí)的模擬企業(yè)進(jìn)行管理項(xiàng)目生命周期每一個(gè)過(guò)程和環(huán)節(jié),提高溝通和協(xié)作能力,提高測(cè)試的質(zhì)量和效率等問(wèn)題。
在基于項(xiàng)目驅(qū)動(dòng)的案例實(shí)驗(yàn)教學(xué)中,學(xué)生對(duì)于軟件測(cè)試的每一個(gè)流程和環(huán)節(jié)都非常清楚,但是測(cè)試和需求如何進(jìn)行銜接,每一個(gè)測(cè)試流程如何過(guò)渡到下一個(gè)測(cè)試流程,它們之間有怎么樣的關(guān)系,從需求到測(cè)試的整個(gè)生命周期是如何流轉(zhuǎn)的,怎么樣通過(guò)一個(gè)工具就可以清楚的管理每一個(gè)環(huán)節(jié)產(chǎn)生的測(cè)試需求、用例以及文檔等,都是學(xué)生最需要掌握的重要內(nèi)容。通過(guò)對(duì)開(kāi)源項(xiàng)目管理工具“禪道”進(jìn)行分析和實(shí)際應(yīng)用,發(fā)現(xiàn)能夠很好的解決上述問(wèn)題,在實(shí)際的測(cè)試實(shí)驗(yàn)教學(xué)過(guò)程中已經(jīng)取得良好效果。
2 開(kāi)源項(xiàng)目管理工具“禪道”簡(jiǎn)介
禪道(zentao)是第一款國(guó)產(chǎn)的開(kāi)源項(xiàng)目管理軟件。它集產(chǎn)品管理、項(xiàng)目管理、質(zhì)量管理、文檔管理、組織管理和事務(wù)管理于一體,是一款專業(yè)的研發(fā)項(xiàng)目管理軟件,完整地覆蓋了項(xiàng)目管理的核心流程。禪道還首次創(chuàng)造性的將產(chǎn)品、項(xiàng)目、測(cè)試這三者的概念明確分開(kāi),產(chǎn)品人員、開(kāi)發(fā)團(tuán)隊(duì)、測(cè)試人員,這三者分立,互相配合,又互相制約,通過(guò)需求、任務(wù)、缺陷(Bug)來(lái)進(jìn)行交相互動(dòng),最終通過(guò)項(xiàng)目拿到合格的產(chǎn)品[6]。
2.1 為什么要用“禪道”
在基于項(xiàng)目驅(qū)動(dòng)的軟件測(cè)試實(shí)驗(yàn)教學(xué)中,當(dāng)需要進(jìn)行項(xiàng)目的管理時(shí),大部分學(xué)生往往只關(guān)注項(xiàng)目本身而忽略了缺陷(Bug),其實(shí),項(xiàng)目和缺陷是不同層次的兩個(gè)概念,只面對(duì)項(xiàng)目就達(dá)不到軟件測(cè)試實(shí)驗(yàn)教學(xué)的初衷,但是只面對(duì)缺陷又會(huì)導(dǎo)致思維的混亂和跳躍,缺乏對(duì)項(xiàng)目的整體理解、控制和管理,不利于案例教學(xué)過(guò)程的有效管控、積累、溝通和提升。
目前測(cè)試實(shí)驗(yàn)教學(xué)過(guò)程中存在的問(wèn)題是:
1)大部分學(xué)生有項(xiàng)目的意識(shí),但缺少管理項(xiàng)目的手段
目前軟件測(cè)試實(shí)驗(yàn)教學(xué)過(guò)程中大多都引入了缺陷(Bug)管理系統(tǒng),但是這類系統(tǒng)有很多局限性,當(dāng)面對(duì)發(fā)布了某個(gè)版本的項(xiàng)目時(shí),無(wú)法清楚的知道這個(gè)版本解決了哪些需求,參與了多少人,花了多少時(shí)間等,沒(méi)有一個(gè)有效的管理手段。
2)將需求和缺陷(Bug)混淆在一起
缺陷(Bug)管理系統(tǒng)并未明確的區(qū)分需求和缺陷,這兩者是不同的概念,前者指用戶希望實(shí)現(xiàn)的功能,后者是已發(fā)布的功能存在的不足,如果不進(jìn)行區(qū)分和關(guān)聯(lián),就不知道哪些缺陷對(duì)應(yīng)哪些需求,長(zhǎng)期積累,學(xué)生會(huì)感覺(jué)很困惑,降低了學(xué)習(xí)的興趣,實(shí)驗(yàn)課的效果會(huì)大打折扣。
3)沒(méi)有集成測(cè)試功能
階段性的軟件測(cè)試只是單純的依靠測(cè)試文檔,這樣無(wú)法提高測(cè)試效率,也不利于各階段的關(guān)聯(lián)和積累,看不到某個(gè)功能從需求到測(cè)試直至發(fā)布的整個(gè)生命周期,而且不同版本之間發(fā)布之后,相同的缺陷會(huì)重復(fù)出現(xiàn),這導(dǎo)致測(cè)試人員面對(duì)同一個(gè)問(wèn)題無(wú)從下手。如果能將測(cè)試、需求和開(kāi)發(fā)集成到同一個(gè)界面中,這種問(wèn)題可以輕松避免。
通過(guò)引入“禪道”項(xiàng)目管理工具,可以很好的解決上述問(wèn)題。
2.2 “禪道”的主要功能
“禪道”的主要功能如表1所示。
表1 “禪道”主要功能
[主要功能\&詳細(xì)說(shuō)明\&組織管理\&包括部門(mén)管理、用戶管理、分組管理、權(quán)限管理\&產(chǎn)品管理\&包括產(chǎn)品管理、需求管理、計(jì)劃管理、發(fā)布管理、路線圖\&項(xiàng)目管理\&包括項(xiàng)目管理、任務(wù)管理、項(xiàng)目需求管理、團(tuán)隊(duì)管理、工時(shí)管理、build管理、燃燒圖\&質(zhì)量管理\&包括Bug管理、測(cè)試用例管理、測(cè)試任務(wù)管理\&事務(wù)管理\&包括todo管理,我的任務(wù)、我的Bug、我的需求、我的項(xiàng)目等個(gè)人事務(wù)管理功能\&文檔管理\&包括產(chǎn)品文檔庫(kù)、項(xiàng)目文檔庫(kù)、自定義文檔庫(kù)等功能\&統(tǒng)計(jì)功能\&豐富的統(tǒng)計(jì)表\&搜索功能\&強(qiáng)大的搜索功能,幫助您找到相應(yīng)的數(shù)據(jù)\&]
3 基于項(xiàng)目驅(qū)動(dòng)的軟件測(cè)試實(shí)驗(yàn)教學(xué)中教師和學(xué)生的角色
3.1 教師的角色
1) 首先,作為實(shí)驗(yàn)教學(xué),教師必須具有實(shí)際的軟件測(cè)試經(jīng)驗(yàn),否則只能是紙上談兵,當(dāng)然,如果有些教師不具備企業(yè)的軟件測(cè)試經(jīng)驗(yàn),可以通過(guò)校企合作的模式進(jìn)行解決;
2) 其次,教師必須能夠模擬真實(shí)的企業(yè)環(huán)境搭建完整的軟件測(cè)試環(huán)境;
3) 在實(shí)驗(yàn)教學(xué)中引入真實(shí)的企業(yè)項(xiàng)目作為案例,并能夠?qū)Π咐M(jìn)行分解和集成,讓學(xué)生理解和明白真實(shí)的企業(yè)項(xiàng)目開(kāi)發(fā)和測(cè)試的整個(gè)流程;
4) 聯(lián)合企業(yè)進(jìn)行軟件測(cè)試項(xiàng)目實(shí)訓(xùn),模擬真實(shí)的企業(yè)軟件測(cè)試和管理過(guò)程;
5) 做好測(cè)試實(shí)驗(yàn)內(nèi)容的設(shè)置、測(cè)試實(shí)驗(yàn)工具集的選擇以及實(shí)驗(yàn)案例庫(kù)的建立。
3.2 學(xué)生的角色
1) 掌握好基本的理論知識(shí),能夠根據(jù)教師給的測(cè)試案例以小組為單位完成相應(yīng)的測(cè)試任務(wù)。
2) 能夠在教師的引導(dǎo)下獨(dú)立搭建企業(yè)級(jí)軟件測(cè)試模擬環(huán)境。
3) 能夠根據(jù)具體的項(xiàng)目案例,對(duì)整個(gè)軟件的開(kāi)發(fā)和測(cè)試生命周期進(jìn)行分解,完成不同階段的任務(wù)。
4) 具有團(tuán)隊(duì)協(xié)作精神,能夠根據(jù)自己的角色完成相應(yīng)任務(wù),并和小組成員進(jìn)行討論溝通,相互學(xué)習(xí)。
5) 能夠以小組為單位做好企業(yè)級(jí)項(xiàng)目實(shí)訓(xùn),理解每一個(gè)角色的任務(wù)并做到融會(huì)貫通。
4 基于項(xiàng)目驅(qū)動(dòng)的軟件測(cè)試實(shí)驗(yàn)教學(xué)中教師和學(xué)生的角色
4.1 管理流程的應(yīng)用
首先,在班級(jí)內(nèi)模擬企業(yè)級(jí)流程組建團(tuán)隊(duì),每個(gè)團(tuán)隊(duì)5-8人,每人有不同的角色,包括產(chǎn)品經(jīng)理、項(xiàng)目經(jīng)理、產(chǎn)品人員、開(kāi)發(fā)人員和測(cè)試人員,團(tuán)隊(duì)中一個(gè)人也可以承擔(dān)多個(gè)角色,為了達(dá)到測(cè)試實(shí)驗(yàn)教學(xué)的效果,團(tuán)隊(duì)每個(gè)成員都必須是測(cè)試人員。根據(jù)“禪道”的管理流程,可以把測(cè)試實(shí)驗(yàn)教學(xué)案例分為五個(gè)階段進(jìn)行管理,具體如表2所示。
表2 管理流程應(yīng)用
[主要階段\&具體應(yīng)用說(shuō)明\&需求收集\&在教師的指導(dǎo)下作為產(chǎn)品人員的學(xué)生維護(hù)需求列表,并根據(jù)需要設(shè)置好需求的優(yōu)先級(jí)和預(yù)計(jì)完成學(xué)時(shí)\&確立項(xiàng)目\&教師組織團(tuán)隊(duì)小組成員開(kāi)討論會(huì),大家就目前項(xiàng)目所需完成的需求達(dá)成一致,形成需求列表\&分解任務(wù)并完成\&每個(gè)團(tuán)隊(duì)在規(guī)定的學(xué)時(shí)內(nèi)對(duì)需求進(jìn)行任務(wù)分解并完成\&測(cè)試\&團(tuán)隊(duì)內(nèi)的測(cè)試人員根據(jù)需求創(chuàng)建自己的測(cè)試用例,當(dāng)有版本提交以后,建立相應(yīng)的測(cè)試任務(wù),記錄缺陷,開(kāi)發(fā)人員角色的學(xué)生修復(fù)Bug\&總結(jié)\&項(xiàng)目完成后,每個(gè)團(tuán)隊(duì)進(jìn)行演示答辯,向教師和其它組的學(xué)生演示取得的成果,作為產(chǎn)品角色的學(xué)生要把教師和其他同學(xué)所提意見(jiàn)和建議整理成需求,然后進(jìn)入下一輪的循環(huán)。\&]
4.2 具體工作流程的應(yīng)用
因?yàn)榛诎咐能浖y(cè)試實(shí)驗(yàn)教學(xué)不能脫離開(kāi)發(fā)的每一個(gè)流程,要想深刻的理解真實(shí)的企業(yè)級(jí)項(xiàng)目是如何進(jìn)行建立和測(cè)試的,那么就必須清楚相應(yīng)的工作流程。根據(jù)“禪道”的特點(diǎn),一個(gè)完整案例的具體工作流程如圖1所示。
圖 1 具體工作流程
以上工作流程清楚的把基于項(xiàng)目驅(qū)動(dòng)的案例進(jìn)行拆分和關(guān)聯(lián),學(xué)生可以根據(jù)教師的安排清楚的知道自己每個(gè)流程要做什么,如何做,做到理論和實(shí)際結(jié)合,提高了學(xué)生學(xué)習(xí)的興趣和積極性,也提高了實(shí)驗(yàn)課堂的教學(xué)效果。
4.3 具體應(yīng)用實(shí)例
根據(jù)對(duì)管理流程和具體工作流程的深刻理解,假設(shè)在軟件測(cè)試實(shí)驗(yàn)教學(xué)過(guò)程中有案例“XXX”,有一團(tuán)隊(duì)共有6名成員,分別為學(xué)生A、B、C、D、E、F,他們分別承擔(dān)不同的角色和職責(zé),具體的應(yīng)用如表3所示。
表3 具體應(yīng)用實(shí)例
[角色\&主要職責(zé)\&產(chǎn)品經(jīng)理(學(xué)生A)\&對(duì)現(xiàn)有案例“XXX”在規(guī)定的學(xué)時(shí)開(kāi)團(tuán)隊(duì)小組討論會(huì),確定項(xiàng)目要做的需求,確立項(xiàng)目的目標(biāo)和成員\&項(xiàng)目經(jīng)理(學(xué)生B)\&確定項(xiàng)目的需求和任務(wù),假設(shè)項(xiàng)目共有M個(gè)需求,分解需求為N個(gè)任務(wù);
每次測(cè)試實(shí)驗(yàn)課開(kāi)始前,團(tuán)隊(duì)小組討論15分鐘,每人回答3個(gè)問(wèn)題,上次實(shí)驗(yàn)課做了什么?本次實(shí)驗(yàn)課要做什么?以及遇到了哪些困難?學(xué)生B在課后進(jìn)行總結(jié),然后把總結(jié)后的問(wèn)題在系統(tǒng)中共享給小組每一位學(xué)生\&產(chǎn)品人員(學(xué)生A,C)\&添加需求,完善需求;
參加團(tuán)隊(duì)小組討論,了解整個(gè)項(xiàng)目的進(jìn)度,及時(shí)糾正錯(cuò)誤的功能\&開(kāi)發(fā)人員(學(xué)生D、E)\&領(lǐng)取任務(wù),并且每天更新任務(wù);
創(chuàng)建發(fā)布版本,提交測(cè)試\&測(cè)試人員(學(xué)生A、B、C、D、E、F)\&維護(hù)測(cè)試視圖,設(shè)計(jì)測(cè)試用例;
管理測(cè)試任務(wù),執(zhí)行測(cè)試,提交缺陷(Bug)\&]
5 結(jié)論
該文通過(guò)把項(xiàng)目管理工具“禪道”引入到基于項(xiàng)目驅(qū)動(dòng)的軟件測(cè)試實(shí)驗(yàn)教學(xué)當(dāng)中,能夠很好的把測(cè)試的各個(gè)具體環(huán)節(jié)和流程進(jìn)行有效的管理,提高了軟件測(cè)試實(shí)驗(yàn)課的教學(xué)質(zhì)量和效率,也為學(xué)生理解企業(yè)級(jí)軟件開(kāi)發(fā)和測(cè)試的流程提供了很好的幫助,提高了學(xué)生分析問(wèn)題和解決問(wèn)題的能力,也為大家進(jìn)行軟件測(cè)試實(shí)驗(yàn)案例教學(xué)提供一種參考。
參考文獻(xiàn):
[1] 程茂,溫靜,吳玉潔. 軟件測(cè)試課程的教學(xué)研究[J].河北師范大學(xué)學(xué)報(bào),2010(4):117-120.
[2] 丁智國(guó),呂振洪.軟件測(cè)試課程實(shí)驗(yàn)教學(xué)探索[J].計(jì)算機(jī)教育,2012(3):104-105.
[3] 周元哲.“軟件測(cè)試”教學(xué)改革的探索和實(shí)現(xiàn)[J].計(jì)算機(jī)教育,2008(22):14-15.
[4] 穆海倫,李萬(wàn)清.面向企業(yè)的高校軟件測(cè)試教學(xué)改革探索[J].計(jì)算機(jī)教育,2013(10):36-39.
[5] 王雅文,宮云戰(zhàn),楊朝紅.軟件測(cè)試工具綜述[J].北京化工大學(xué)學(xué)報(bào),2007(34):2-3.
[6] 關(guān)于禪道項(xiàng)目管理軟件.[EB/OL].[2009-10-13].http://www.zentao.net/help-read-78648.html.