對于初涉敏捷的測試工程師來(lái)說(shuō),如果定位自己的角色和職責、如何從傳統開(kāi)發(fā)模式成功遷移到敏捷模式、如何跟上短迭代的節奏等等問(wèn)題都迫切地想要找到答案。 資深敏捷實(shí)踐者Lisa Crispin和Janet Gregory在《敏捷軟件測試:測試人員與敏捷團隊的實(shí)踐指南》一書(shū)中,列舉了敏捷測試工程師的十條法則,對讀者或許有借鑒意義。
提供持續反饋(Provide Continuous Feedback)
既然是測試驅動(dòng)敏捷項目,那么很顯然反饋在敏捷團隊中占據重要的地位。測試人員的傳統角色就是“信息提供者”,這使得她天生就對敏捷團隊很有價(jià)值。敏捷測試人員的最大貢獻之一是幫助產(chǎn)品負責人或者客戶(hù)采用實(shí)例和測試的形式描述清楚每一個(gè)用戶(hù)故事的需求。然后,測試人員與團隊同事將這些需求轉化為可執行的測試。測試人員、開(kāi)發(fā)人員和其他團隊成員盡快運行這些測試,并不斷接收有意義的反饋。
為用戶(hù)創(chuàng )造價(jià)值(Deliver Value to the Customer)
敏捷開(kāi)發(fā)就是在較小的版本發(fā)布中提供客戶(hù)目前最迫切需要的功能。這通常意味著(zhù)限定范圍。我們經(jīng)常在客戶(hù)團隊中遇到較酷功能的需求。任何人都可以質(zhì)疑這些內容,但是測試人員會(huì )判斷其對故事的影響,因為他們需要考慮測試后果。
敏捷測試人員需要總覽全局。我們可以在當前迭代中發(fā)布最重要的功能,稍后再完善。如果讓新功能偷偷混進(jìn)來(lái),就面臨一無(wú)所獲的風(fēng)險。如果過(guò)于關(guān)注邊邊角角,而忽略了核心功能,就無(wú)法提供業(yè)務(wù)所需的價(jià)值。
促進(jìn)面對面的溝通(Enable Face-to-Face Communication)
敏捷測試人員從客戶(hù)的角度思考每一個(gè)故事,但是也理解實(shí)現功能相關(guān)的技術(shù)和局限性。他們可以幫助客戶(hù)和開(kāi)發(fā)人員達成共識。業(yè)務(wù)人員和軟件人員經(jīng)常使用不同的語(yǔ)言。他們不得不找到一些共同點(diǎn)來(lái)協(xié)作。測試人員可以幫助他們達成一種共通語(yǔ)言。
面對面的溝通是不可替代的。敏捷開(kāi)發(fā)依賴(lài)于持續的合作。就像其他敏捷團隊成員一樣,從事測試工作的人會(huì )不斷尋找客戶(hù)和技術(shù)團隊成員來(lái)討論和合作。當敏捷測試人員對某個(gè)隱藏的假設或者誤解的需求產(chǎn)生懷疑時(shí),她會(huì )與客戶(hù)和開(kāi)發(fā)人員討論。如果處于不同地點(diǎn)的人需要交談,他們會(huì )試圖尋找創(chuàng )造性的方式替代面對面、實(shí)時(shí)的交流。
勇氣(Have Courage)
當最初加入敏捷團隊或者當前的團隊開(kāi)始過(guò)渡到敏捷開(kāi)發(fā)模式時(shí),通常會(huì )產(chǎn)生恐懼感,并且存在大量的問(wèn)題需要答案。我們到底如何才能在如此短的時(shí)間內完成每一個(gè)用戶(hù)故事的測試任務(wù)?測試如何跟上開(kāi)發(fā)的節奏?如何確定多少測試就夠了?又或者你是功能測試經(jīng)理或者質(zhì)量過(guò)程經(jīng)理,不清楚在敏捷團隊中如何定位自己的角色,沒(méi)人知道答案。敏捷測試人員需要勇氣找到這些問(wèn)題的答案,但是除此之外還有其他原因。我們需要勇氣允許自己失敗,至少我們會(huì )短暫失敗,并從中學(xué)習教訓。在由于構建版本不穩定導致一次迭代失敗之后,我們開(kāi)始尋找方法以確保這種事情不再發(fā)生。
簡(jiǎn)單化(Keep It Simple)
簡(jiǎn)單并不意味著(zhù)容易。對于測試人員來(lái)說(shuō),這意味著(zhù)采用能夠找到的最輕量級的工具和技術(shù)恰到好處地測試。工具可以簡(jiǎn)單到只是一張電子表格或者清單。需要自動(dòng)化回歸測試,但是應該把它們分解到最底層以獲取快速反饋。甚至簡(jiǎn)單的冒煙測試也可能滿(mǎn)足面向業(yè)務(wù)的測試自動(dòng)化。
持續改進(jìn)(Practice Continuous Improvement)
想辦法把工作做得更出色是敏捷測試人員思想的一部分。當然,整個(gè)團隊都應該具有這樣的想法,因為敏捷的核心價(jià)值就是團隊總是嘗試更出色地工作。測試人員參加團隊總結會(huì ),評估做得好的方面和需要增加和改變的方面。測試人員把測試問(wèn)題擺到整個(gè)團隊中解決。團隊通過(guò)采取過(guò)程改進(jìn)實(shí)踐最大程度地改善測試和所有其他領(lǐng)域。對于更大的問(wèn)題,團隊一次只關(guān)注一到兩個(gè)問(wèn)題,以確保徹底解決了實(shí)際問(wèn)題,而不是表面文章。
響應變化(Respond to Change)
響應變化是敏捷實(shí)踐的重要價(jià)值,但是我們發(fā)現這對測試人員來(lái)說(shuō)卻是最困難的概念之一。測試人員渴望的是穩定,所以他們會(huì )說(shuō):“我已經(jīng)測試過(guò)了,任務(wù)完成了”。持續的需求變化是測試人員的噩夢(mèng)。但是,作為一名敏捷測試人員,我們不得不擁抱變化。周三,我們可能期望啟動(dòng)故事A和B,下周五做C。但是到了周五,客戶(hù)重新設定了優(yōu)先級,現在需要故事A、X和Y。只要我們持續與客戶(hù)交流,就能處理這些變化,因為我們與團隊的其他成員保持同步。
自我組織(Self-Organize)
敏捷測試人員是自組織敏捷團隊的組成部分。團隊文化貫徹于敏捷測試理念。當開(kāi)發(fā)人員、系統管理員、分析員、數據庫專(zhuān)家和客戶(hù)團隊持續關(guān)注測試和測試自動(dòng)化,測試人員就會(huì )獲得全新的視角。自動(dòng)化測試很困難,但是當整個(gè)團隊都在為此努力時(shí)就會(huì )簡(jiǎn)單得多。當大家具有多重技能和多層次視角時(shí),任何測試問(wèn)題都更容易解決。
關(guān)注人(Focus on People)
堅持敏捷理念的敏捷團隊對所有團隊成員一視同仁。敏捷測試人員對團隊做出了特有的貢獻,開(kāi)發(fā)團隊認識到要想更加成功,團隊需要擁有測試技能和背景的人。舉例來(lái)說(shuō),一位熟練的探索性測試人員可能會(huì )發(fā)現自動(dòng)化功能測試無(wú)法察覺(jué)的問(wèn)題。一些測試經(jīng)驗豐富的工程師會(huì )提出其他人想不到的重要問(wèn)題。測試知識是任何一個(gè)成功團隊的組成部分。
享受樂(lè )趣(Enjoy)
在我們看來(lái),測試人員的理想團隊是:所有成員協(xié)作,從項目的開(kāi)始一直到結束,利益相關(guān)者與開(kāi)發(fā)團隊共同工作,整個(gè)團隊負責質(zhì)量和測試。相信很多人都認為每個(gè)人都應該在工作中找到樂(lè )趣。敏捷開(kāi)發(fā)珍視敏捷測試人員對工作的激情。
眾所周知,敏捷軟件測試工作不是一件輕松的事情,讀者在敏捷軟件測試實(shí)踐中存在哪些優(yōu)秀的經(jīng)驗,歡迎分享。
文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/