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