本文原載于2018年9月的《質量文摘》。作者艾莉森?霍克(Alison Hawke)是WWT Asynchrony Labs信息技術咨詢公司的質量倡導主管,負責一支由40多名質量保證人員組成的團隊,幫助指導和培訓公司的新員工。在現(xiàn)代的軟件行業(yè)中,隨著對質量的強調,質量專業(yè)人士又被稱為“倡導者”,以表明他們的工作貫穿從概念到產品發(fā)布的全過程,以確保軟件開發(fā)團隊提供優(yōu)質的產品或客戶解決方案。本文介紹了優(yōu)秀質量倡導者具有的3種特質,以及適合他們的方法和工具組合。
從歷史上看,流程中的質量都是在生產線末端完成的。你對制造完成的零部件進行檢查,如果發(fā)現(xiàn)它有缺陷,就對其進行修理或將其拋棄。
與許多現(xiàn)代制造環(huán)境一樣,軟件的質量已經成為一個貫徹始終的過程。需要從最終的質量控制思維模式轉變?yōu)楦右杂脩魹橹行牡恼w團隊質量倡導,從一開始就注重質量,并使之成為軟件團隊中所有角色的一部分工作,從而有助于提供更好的產品,
從軟件開發(fā)項目的第一天開始,就需要質量倡導者介入進來,并成為從軟件構思到最終發(fā)布整個開發(fā)過程的一部分。隨著對質量的強調,質量專業(yè)人士的稱號已經被正確地命名為“倡導者”,以表明他們的工作貫穿從概念到出品的全過程,并確保軟件開發(fā)團隊提供優(yōu)質的產品或客戶解決方案。
換句話說,“質量倡導”現(xiàn)在更像是一項廣泛的活動。
這允許質量倡導者在流程早期就開始考慮最終用戶,以及他們將如何使用正在開發(fā)的產品、應用程序或網站。為此,質量倡導者使用各種工具來幫助了解最終用戶。其中一個工具是測試角色。
測試角色有助于識別一些因素,諸如“他們是在沒有Wi-Fi、明亮陽光照射下的田野中,擁有一雙大手的農民嗎”“他們是在午夜光線昏暗的醫(yī)院中的醫(yī)療服務提供者嗎”識別這些角色讓質量倡導者更貼近最終用戶,幫助他們確認所服務客戶的最高優(yōu)先級。
他們對最終用戶和應用程序的使用領域了解得越多,就越能夠更好地使用正確的流程構建適當的產品。這些領域可以是支持企業(yè)之間活動或交易的任何東西,包括管理汽車租賃、組織比薩餅交付或使用會議工具等。例如,如果你從一開始就知道應用程序將在魁北克使用,你可以在開發(fā)之初就構建對法語的支持,而不是到最后才嘗試去改進。這必然會節(jié)省時間和金錢,同時提高產品質量。
與此同時,當開發(fā)人員在考慮語言、函數庫和框架時,質量倡導者正在考慮如何證明軟件正在做它應該做的事情。同樣重要的是,不做它不應該做的事情,不讓每一款軟件在很不理想的條件下使用,質量倡導者的作用就是幫助準備和應對這些挑戰(zhàn)。
火鍋大餉接近尾聲,在眾小編此起彼伏的“呼”“吁”“哈”“嗝”聲中,意編意猶未盡地放下了筷子:為什么,專挑今天沒有豬腦!
質量倡導者的工作是梳理關于應用程序需求的假設。如果你是該領域的專家,這些假設是顯而易見的,但你不一定總是能夠將它們明確地講清楚。
除了開發(fā)人員和質量倡導者,軟件團隊通常還包括許多角色,他們共同合作生產高質量的產品。人員組合在幫助團隊獲得成功方面可以發(fā)揮重要作用。對于質量倡導者,他們經常與開發(fā)人員配對,創(chuàng)建一個使測試更容易的工具,或估計某個產品功能需要耗費多少工作量。他們可能與用戶體驗設計師和前端工程師配合,思考工作流程、可訪問性和易用性。質量倡導者也經常與其他質量倡導者配對,以全新的視角審視應用程序。他們也可能與產品開發(fā)者合作,幫助撰寫功能需求。
質量倡導者的第一個特征是好奇心。質量倡導者就像是修補匠,他們喜歡測試、解決和探索。但這種好奇心不是漫無目的和隨意的,而是基于科學方法的好奇心。他們提出一個假設,構建一個實驗,并測試該假設。然后,他們會改變一個變量并重復測試,他們總是知道自己在尋找缺陷的過程中走了哪些死胡同。
優(yōu)秀的質量倡導者的第二個特征是樂于學習。隨著瀏覽器、操作系統(tǒng)和計算機語言新版本的出現(xiàn),他們的工作環(huán)境也在不斷變化。如果停止學習,他們就會落伍。質量倡導者總是樂于學習新的技術、工具和方法。
優(yōu)秀的質量倡導者的第三個特征是教導。優(yōu)秀的學習者可以成為優(yōu)秀的教師,軟件開發(fā)團隊的質量倡導者的責任之一就是教導。每當他們學習了一種新測試方法,來揭示應用程序中的缺陷時,他們將了解這種缺陷是如何形成的,并將其傳授給團隊的其他成員和其他質量倡導者。然后,他們從另一位質量倡導者那里了解到新的潛在缺陷,并重復學習和教導過程。從測試網頁應用程序到iPhone再到JavaScript,質量倡導者需要不斷學習和實踐新的工具,并分享所獲得的知識。
需要指出的一點是,質量倡導者并不是悲觀、令人厭煩且不近人情的挑剔者。他們之所以這樣做是因為他們發(fā)現(xiàn)它非常有趣。你手機上的一個應用程序崩潰了?那很有趣,它是什么原因造成的?可以讓這種情況再次發(fā)生嗎?應如何解決這個問題?
能夠發(fā)現(xiàn)一個缺陷是開發(fā)團隊其他成員感到興奮的原因,因為他們共同努力完成了一些令人高興并對用戶有所幫助的事情。如果他們能夠使產品在開發(fā)過程中崩潰,他們相信他們就有責任找出導致這種情況發(fā)生的原因以及糾正的方法。他們采用了整體團隊協(xié)作的質量方法,每個人都會為此做出貢獻。他們有一個共識,質量倡導者不是唯一關心質量的人,而是關鍵人物和主題專家,他們沿著正確的方向引導團隊測試工作和研究最佳實踐。
除了擁有可靠的質量倡導者所固有的適當特征外,合適的方法和工具組合也是必不可少的。
質量倡導者經常提出的第一個問題是:“這個功能是否會按照預期的方式工作?”這是一個簡單的擁有“是”或“否”答案的問題。然而,更有趣的問題是:“如果我將手機置于飛行模式下,它仍然可以工作嗎?如果接聽電話、電池沒電、數據流量用完或者中途停止安裝的情況下呢?”這些“假設”問題來自非功能性測試領域,這些問題不是關于應用程序的個別功能,而是關于該應用程序如何在其他設備、數據源和瀏覽器等生態(tài)系統(tǒng)中運行的問題。
第二個測試是國際化測試和可訪問性測試,這兩個測試都是非功能性測試的一部分。除非你能保證應用程序的所有用戶都擁有良好的視力、健全的身體和強大的網絡信號,否則你可能會遇到具有視力缺陷、肢體缺陷或其他外部限制的用戶。他們需要讓所有這些用戶滿意,讓他們的生活更輕松。有些用戶可能希望文本方向是從右到左而不是從左到右,有些用戶希望使用與應用程序編寫語言不同的其他語言??赡苡行┯脩魺o法區(qū)分紅色文本和綠色文本之間的區(qū)別,有些用戶想要在其用戶名和密碼中使用表情符號。所有這些情況都需要考慮在內。
質量倡導者進行的另一項基本測試是測試自動化。測試自動化使他們能夠執(zhí)行更多的測試,并且比單獨的手動測試覆蓋更多的內容。他們實現(xiàn)了對自動化功能的自動化測試,同時考慮了自動化測試的成本和優(yōu)勢。
自動化測試套件允許運行浸泡測試,這將幫助他們找到內存泄漏等缺陷。你可以在星期五運行浸泡測試并將其設置為重復進行。星期一的時候,你可以檢查日志和服務器,由于重復了數百次或數千次相同的操作,可以將某個小問題放大。
最重要的是,質量倡導者希望最糟糕的事件發(fā)生在軟件或產品發(fā)布之前。質量倡導者會在應用程序的整個生命周期中對其施壓和吹毛求疵,以最終獲得更好的產品。嚴格的實驗和探索的樂趣是他們關注細節(jié)和廣泛工作流程的動力。最后,他們的客戶將成為質量倡導的真正受益者。