• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Scrum方法的軟件測試教學(xué)模式探索與實踐

      2018-02-08 12:17:21吳瀟雪慕德俊郭艷靜
      計算機(jī)教育 2018年2期
      關(guān)鍵詞:軟件測試測試目標(biāo)

      吳瀟雪,鄭 煒,慕德俊,郭艷靜

      (1.西北工業(yè)大學(xué) 自動化學(xué)院,陜西 西安710072;2. 西北工業(yè)大學(xué) 軟件與微電子學(xué)院,陜西 西安 710072)

      1 軟件測試教學(xué)現(xiàn)狀

      軟件測試是伴隨IT產(chǎn)業(yè)的發(fā)展而出現(xiàn)的新興工作崗位,不論目前還是將來,人才市場對軟件測試人才都有很大的需求量[1]。軟件測試課程教學(xué)存在的一些問題導(dǎo)致教學(xué)效果與期望目標(biāo)相差較大,需要引入先進(jìn)的教學(xué)管理理念和教學(xué)模式進(jìn)行指導(dǎo),進(jìn)一步強化對學(xué)生自主能力和實踐能力的培養(yǎng)以適應(yīng)市場發(fā)展的需要。

      軟件測試課程是計算機(jī)軟件專業(yè)的一門新課程,該課程的實踐性很強,如果沒有實驗、實訓(xùn)環(huán)節(jié)的支持,用傳統(tǒng)的灌輸式教學(xué)方式枯燥地講解測試?yán)碚摵蜏y試方法,會使學(xué)生產(chǎn)生抵觸和厭學(xué)情緒[2]。軟件測試課程使用的工具和測試的對象都是看不見、摸不著的軟件產(chǎn)品,實驗與實訓(xùn)課程的組織和實施有較大的難度,容易造成實驗的隨意性。

      目前大部分高校的計算機(jī)相關(guān)專業(yè)所開設(shè)的軟件測試課程的學(xué)習(xí)內(nèi)容主要包括軟件測試的基本概念,黑盒、白盒測試用例的設(shè)計技術(shù)和測試自動化工具的使用[3]。由于該課程學(xué)習(xí)過程過于短促,加上學(xué)習(xí)內(nèi)容拘泥于書本,所以在課程學(xué)習(xí)結(jié)束后,大部分學(xué)生對該課程的印象較淺,即使是學(xué)習(xí)特別用心的學(xué)生,所學(xué)到的也僅是書面的內(nèi)容,掌握的也只有軟件測試的基礎(chǔ)理論知識,極度缺乏實踐環(huán)節(jié)的經(jīng)驗,仍然無法圓滿完成一個軟件項目測試的實際工作。

      隨著軟件工程領(lǐng)域研究的逐步深入,軟件開發(fā)涉及的技術(shù)也層出不窮,如大數(shù)據(jù)、云計算等。不斷涌現(xiàn)的軟件開發(fā)新概念、新方法、新技術(shù)和新工具給軟件測試課程的教學(xué)提出了挑戰(zhàn),傳統(tǒng)軟件測試教學(xué)方法顯得捉襟見肘。

      2 敏捷開發(fā)與Scrum模型

      2.1 敏捷開發(fā)

      敏捷開發(fā)又稱“輕型軟件工程”,是以人為核心的軟件開發(fā)思想[4],強調(diào)開發(fā)人員的溝通、可持續(xù)交付工作以及對軟件需求和開發(fā)問題的快速靈活響應(yīng)。VersionOne公司2017年發(fā)布的第十一次敏捷調(diào)研報告顯示[5],Scrum以及Scrum與XP的混合模式是大多數(shù)組織的敏捷開發(fā)方法,約占68%以上。

      2.2 Scrum開發(fā)模型

      Ken Schwaber和Jeff Sutherland 于1993年正式確立Scrum,這一過程已經(jīng)被Yahoo、Microsoft、谷歌、思科、華為、阿里巴巴等公司使用。許多團(tuán)隊表示,Scrum極大地提升了團(tuán)隊的產(chǎn)能和士氣,是一種有效的團(tuán)隊工程控制方法。

      Scrum定義團(tuán)隊中的主要角色包括[6]:敏捷教練或項目經(jīng)理(確保團(tuán)隊合理運作Scrum,并幫助團(tuán)隊移除實施中的障礙);產(chǎn)品負(fù)責(zé)人(確定產(chǎn)品的方向和愿景,定義產(chǎn)品發(fā)布的內(nèi)容、優(yōu)先級及交付時間);開發(fā)團(tuán)隊(包括美術(shù)、運維、測試等所有需要的專業(yè)人員)。

      Scrum 流程[7]包括:①開始Scrum。由產(chǎn)品負(fù)責(zé)人列舉所有產(chǎn)品需求,根據(jù)全部需求明確優(yōu)先級,形成product backlog,開始Sprint 迭代。②Sprint迭代。每個Sprint 之前,先進(jìn)行Sprint計劃會議。首先,由產(chǎn)品負(fù)責(zé)人和開發(fā)團(tuán)隊一起回顧product backlog,彼此交換對此backlog 的看法。其次,由開發(fā)團(tuán)隊從product backlog 中選擇本次Sprint提交完成的需求項,通常按照優(yōu)先級順序來選擇。最后,由開發(fā)團(tuán)隊估計每個成員在此次sprint 中完成任務(wù)需要投入的時間。確定時間后,開發(fā)團(tuán)隊將優(yōu)先級最高的需求項分解為單個任務(wù),并記錄到Sprint backlog 文檔中。任務(wù)確定后,團(tuán)隊成員自愿認(rèn)領(lǐng)任務(wù),需要考慮任務(wù)順序,估計每個任務(wù)的時間并確保每個成員工作負(fù)載平衡,然后順序完成各項需求。圖1是簡單的Scrum流程示意圖。

      3 基于Scrum方法的軟件測試教學(xué)模式

      3.1 總體思想

      圖1 Scrum流程示意圖

      將完成實際項目的測試任務(wù)作為用戶需求,以實現(xiàn)用戶需求為目標(biāo),以學(xué)生為核心,采用Scrum開發(fā)方法指導(dǎo)學(xué)習(xí)過程。課上,教師引導(dǎo)學(xué)生一起進(jìn)行制定目標(biāo)、領(lǐng)取任務(wù)、探討問題、分享經(jīng)驗;課下,學(xué)生自主進(jìn)行知識評測、補充,分解問題,完成目標(biāo)任務(wù)。學(xué)生的軟件測試?yán)碚撝R評測和學(xué)習(xí)主要依托國家級MOOC——學(xué)堂在線,同時,通過開源服務(wù)Github以及華為云服務(wù)平臺實現(xiàn)信息共享和交流。

      3.2 角色與職責(zé)

      Scrum方法強調(diào)以人為本、協(xié)同工作,該模型中的每個角色都必須充分發(fā)揮其作用,才能保證最終目標(biāo)的達(dá)成。在軟件測試課程的教學(xué)中,參與人員有任課教師、助教以及選擇該課程的全體學(xué)生,參與課程的學(xué)生以3~6人自由組合為多個小組,并選出一名小組組長。由于大多數(shù)學(xué)生都沒有Scrum模式的項目開發(fā)經(jīng)驗,所以在實施過程中需要特別安排有Scrum經(jīng)驗的老師以助教的身份首先進(jìn)行Scrum開發(fā)方法及過程相關(guān)理論介紹以及過程跟蹤指導(dǎo)。各成員在基于Scrum方法的軟件測試課程教學(xué)模式中所承擔(dān)的角色以及對應(yīng)的職責(zé)說明見表1。

      3.3 Scrum教學(xué)模式實施流程

      以西北工業(yè)大學(xué)軟件測試課程為例說明Scrum教學(xué)模式實施流程,將Scrum 過程引入課程教學(xué)的核心要點是明確教學(xué)目標(biāo),該校課程的教學(xué)目標(biāo)是通過教師引導(dǎo)與管理,學(xué)生在完成實際項目測試的過程中,能夠運用和掌握所學(xué)習(xí)的軟件開發(fā)原理和技能。課程周期為3個月,具體教學(xué)過程以每兩周為一個Sprint周期,整個教學(xué)過程大約由6個Sprint組成,具體實施過程如圖2所示。

      1)制定課程目標(biāo)任務(wù)。

      軟件測試課程目標(biāo)任務(wù)主要包括基礎(chǔ)理論、測試實踐以及提高能力3方面的任務(wù)目標(biāo),每方面的任務(wù)又可以細(xì)化為若干小的、可驗收的目標(biāo)任務(wù)。基礎(chǔ)理論目標(biāo)包括軟件測試方法、類型、策略、黑盒測試、白盒測試、軟件測試過程管理、軟件測試的度量等知識的掌握。測試實踐的任務(wù)包含測試計劃設(shè)計與編寫、測試用例設(shè)計、測試執(zhí)行、缺陷跟蹤、回歸測試等任務(wù),其中部分測試活動需要使用自動測試工具,如單元測試工具Junit,功能測試工具Selenium、UFT(unified functional testing)以及性能測試工具LoadRunner。提高能力的任務(wù)目標(biāo)是指面向軟件測試領(lǐng)域熱點研究問題,引導(dǎo)學(xué)生積極探索最新的研究領(lǐng)域,及時了解最新的研究成果。

      表1 Scrum模型角色及職責(zé)情況

      圖2 基于Scrum方法軟件測試課程教學(xué)模式

      每個Sprint開始前,教師會將本次Sprint要完成的目標(biāo)任務(wù)進(jìn)行描述并上傳到華為云平臺作為Backlog。

      2)分組并確定各組Scrum Master。

      根據(jù)參與課程的學(xué)生人數(shù),以便于溝通協(xié)作為原則以自由組合方式對學(xué)生進(jìn)行分組,一般3~6人一組,并確定出第一個Sprint的Scrum Master(建議組織協(xié)調(diào)能力較強者),在后續(xù)的Sprint中,原則上建議Scrum Master輪流承擔(dān),讓每個同學(xué)都能體驗到不同角色和職責(zé)。

      3)各組任務(wù)分配。

      各項目小組的任務(wù)分配首先采取自行選擇的方式,助理教師協(xié)助并進(jìn)行任務(wù)監(jiān)控,盡可能減少各組任務(wù)之間的依賴。

      4)各組Sprint過程實施。

      任務(wù)目標(biāo)確立后,各組進(jìn)入各自的Sprint循環(huán)過程,包括Sprint計劃、任務(wù)拆分、組員任務(wù)認(rèn)領(lǐng)和實現(xiàn)以及最后的回顧總結(jié)等活動。在進(jìn)行具體任務(wù)實現(xiàn)之前,每個學(xué)生需要利用MOOC在線評測系統(tǒng)對自己的知識掌握情況進(jìn)行評測,為了較好地完成任務(wù)目標(biāo),學(xué)生需要自行借助MOOC在線視頻以及查閱資料等方式進(jìn)行知識的查漏補缺。

      5)成功驗收交付。

      任務(wù)完成之后,由Scrum Master在課堂上向全體同學(xué)和老師進(jìn)行完成任務(wù)的展示和講解,由任課老師和助教老師評定完成情況是否達(dá)到目標(biāo)。確認(rèn)達(dá)成目標(biāo)之后,組內(nèi)對本次Sprint中的優(yōu)點和不足進(jìn)行總結(jié)記錄,一方面在下次Sprint中繼續(xù)推廣或改進(jìn);另一方面,在Step5的全體回顧會議中有重點地進(jìn)行分享和借鑒。

      6)全體回顧總結(jié)。

      該活動在每個Sprint最后進(jìn)行。通過老師引導(dǎo),各組的Scrum Master對組內(nèi)回顧會議的結(jié)論進(jìn)行分享,全體同學(xué)參與討論、溝通與補充的方式,吸收借鑒各組Sprint過程中好的方法,改進(jìn)不足之處,達(dá)到互相促進(jìn)、共同提高的目的。另外,教師對學(xué)習(xí)成果進(jìn)行分析歸納,并可聯(lián)系實際,對當(dāng)前知識點進(jìn)行深化、遷移與提高。

      4 Scrum教學(xué)模式實施成果

      4.1 學(xué)生獲得專業(yè)知識與實踐經(jīng)驗

      基于Scrum方法的軟件測試教學(xué)模式,將敏捷思想應(yīng)用到軟件工程教學(xué)中,將課程教學(xué)目標(biāo)轉(zhuǎn)化為軟件工程項目目標(biāo),將學(xué)習(xí)過程轉(zhuǎn)化為一次次的項目實踐過程。學(xué)生在教師的引導(dǎo)下,應(yīng)用已學(xué)到的軟件工程理論知識來達(dá)成目標(biāo),激發(fā)了學(xué)習(xí)的興趣,加快了對目標(biāo)教學(xué)知識掌握的速度和理解的深度,對其他軟件工程過程理論知識的鞏固和實踐使學(xué)生深刻理解并牢固掌握了基本思想和方法。課程中選擇實際項目測試任務(wù)作為實踐項目,學(xué)生在獲得理論知識的同時,也獲得了實際項目經(jīng)驗。

      4.2 培養(yǎng)學(xué)生健康的個性和豐富的創(chuàng)造力

      除了傳播知識之外,培養(yǎng)學(xué)生健康、豐富的個性也是高校教學(xué)的目標(biāo)之一。個體主體性是個人生活的靈魂,也是健全、公正、民主的社會建立的基石?;赟crum的教學(xué)模式尊重個體,在該過程中,獨立思考與團(tuán)隊協(xié)作并重,鼓勵學(xué)生從多維度探索不同方法解決問題。實際項目的引入和完成任務(wù)的明確化,督促學(xué)生為了完成任務(wù)積極主動學(xué)習(xí)所需知識,培養(yǎng)了學(xué)生自主學(xué)習(xí)和研究的能力。另外,學(xué)生通過承擔(dān)不同角色,培養(yǎng)了獨立思考、發(fā)現(xiàn)問題和解決問題的能力。

      4.3 教學(xué)、科研成果

      基于Scrum模式的教學(xué)方法,課程實施形式豐富、活動真實、關(guān)注每個學(xué)生的想法和觀點,也催生了多個教學(xué)科研成果。學(xué)生在跟老師以及同學(xué)之間的相互溝通中獲得了專業(yè)知識、提高了能力和素養(yǎng),如在2016全國軟件測試大賽中,學(xué)生獲得國家一等獎1個、二等獎1個、三等獎9個;在美國數(shù)模競賽中獲得一等獎1個、二等獎1個。老師也從學(xué)生豐富的思想中得到啟發(fā),促進(jìn)教學(xué)和學(xué)術(shù)創(chuàng)新,如任課教師主講的軟件測試課程獲得國家級慕課立項,即全國工程教指委2016年第一批重大在線課程立項,課程于2017年在國內(nèi)最大的慕課平臺——在線學(xué)堂正式上線,選課人數(shù)超過2 000人。

      5 結(jié) 語

      軟件測試課程的教學(xué)必須要緊跟技術(shù)發(fā)展的步伐,基于Scrum方法的軟件測試教學(xué)模式有利于教學(xué)的開展,其簡單、易于使用的特點使其推廣使用有了便利的條件,在實踐中取得的良好效果也證明了該模式的有效性。在后續(xù)的教學(xué)過程中,教師可嘗試將該教學(xué)模式推廣到其他課程的教學(xué)中。

      [1]劉超. 關(guān)于“軟件工程”課程體系的基本架構(gòu)及課程系列設(shè)置的探討[J]. 計算機(jī)教育, 2009 (21): 22-26.

      [2]中國工程教育認(rèn)證協(xié)會秘書處. 工程教育認(rèn)證工作指南(2013版)[EB/OL]. (2014-11-16)[2017-12-13]. http://www.clocin.com/p-961961086.html.

      [3]鄭煒. 軟件測試[M]. 西安: 西北工業(yè)大學(xué)出版社, 2011: 5-10.

      [4]Arora R, Sondhi S. An agile approach for engaging students in research and development[C]// Xsede16 Conference on Diversity,Big Data, and Science at Scale. New York: ACM, 2016: 51.

      [5]Mahnic V. A capstone course on agile software development using scrum[J]. IEEE Transactions on Education, 2012, 55(1): 99-106.

      [6]尹華, 王志堅. 基于Scrum敏捷開發(fā)的軟件實訓(xùn)設(shè)計[J]. 計算機(jī)教育, 2016 (6): 65-69.

      [7]徐建軍, 董威, 譚慶平, 等. 基于Scrum敏捷開發(fā)模型的軟件工程實踐課程探索[J]. 大學(xué)教育, 2015(4): 115-116.

      猜你喜歡
      軟件測試測試目標(biāo)
      幽默大測試
      幽默大師(2020年11期)2020-11-26 06:12:12
      基于OBE的軟件測試課程教學(xué)改革探索
      “攝問”測試
      “攝問”測試
      “攝問”測試
      EXCEL和VBA實現(xiàn)軟件測試記錄管理
      電子制作(2018年16期)2018-09-26 03:27:18
      關(guān)于軟件測試技術(shù)應(yīng)用與發(fā)展趨勢研究
      電子測試(2017年15期)2017-12-18 07:19:20
      軟件測試工程化模型及應(yīng)用研究
      我們的目標(biāo)
      新目標(biāo)七年級(下)Unit?。尘毩?xí)(一)
      哈巴河县| 栾城县| 沁阳市| 手游| 新巴尔虎右旗| 昆山市| 泰来县| 仙游县| 贡觉县| 饶平县| 栾城县| 屯门区| 莒南县| 达州市| 米脂县| 广丰县| 云龙县| 盐山县| 兴安盟| 馆陶县| 河曲县| 延庆县| 浙江省| 孝义市| 当涂县| 南宁市| 蒲城县| 漳浦县| 安塞县| 滨州市| 旬邑县| 潜山县| 化德县| 邯郸市| 齐齐哈尔市| 蓝山县| 浦县| 綦江县| 永安市| 延庆县| 河北省|