縱觀各大公司的核心理念,每每都有一條相似「以客戶爲中心」的價值觀。華爲公司更是把「以客戶爲中心」放在其核心價值觀的第一條,以顯示它的重要性。從我 們入職培訓開始,公司就反覆強調並引導你們深刻討論,但願使這一理念深刻人心。那對於咱們從事軟件測試的工程師來說,如何真正踐行「以客戶爲中心」的理 念,如何把這一理念融入平常的測試工做呢?
在回答這些問題以前先來看一個故事:
都說中國人喜歡搞運動,喜歡搞活動,老外就不這樣。那是否是呢?講述一個我經歷的IBM舉辦的「以客戶爲中心(Think as Customer)」的活動。
那是在2006年我爲IBM 工做期間,我所在的WebSphere 產品線開展了很是大的 「Think as Customer」培訓和實踐活動以及硬性要求。這個活動跟咱們測試相關的思想是:
- 測試人員要站在用戶的視角看待產品和問題;
- 當測試人員在測試過程當中遇到產品的問題,用戶也一樣會遇到;
- 當測試人員經過錯誤提示和日誌都沒法找到緣由並解決問題,用戶也會面臨一樣的狀況;
- 發現並解決一個很小的Serviceability問題,就會減小一個客戶打support電話的機會,每處理一個support電話,公司就花費200美圓。
對於咱們測試團隊,這個活動的硬性指標是:每發現10個1,2級的問題,必須開出3個3,4 級的Usability或Serviceability的問題。在這種要求下,迫使咱們測試人員在測試過程當中審視產品每個細節,仔細去驗證產品的提示信 息、錯誤信息和日誌是否正確反映了當時的狀況,是否能夠指引用戶去獨立修正錯誤而不須要求助於support。當時的確花費了咱們不少時間,但帶來的好處 是把多年來不少小問題,測試人員以爲可提可不提的問題,開發人員認爲不是問題的問題等等,統統開出defect去修復。正由於有了從上到下的貫徹和執行 力,測試人員和開發人員共同參與這個活動,這讓開發和測試對於這種類型的問題很容易達成共識,測試人員少了不少阻力,不少的交鋒就無形化解了。
雖然說這個活動爲了3,4級defect而專門去找、去修復,讓人感受有些死板和機械,可是活動自己促成咱們對Usability和 Serviceability問題進行了深刻的學習和討論,加深了對此類問題的理解,並對以客戶爲中心的測試理念深刻人心。即便產品後來再也不搞這種專門的 活動,咱們已經造成了意識和習慣,自覺去踐行這一理念,由於Think as Customer已經融入到咱們的工做之中。
再舉一個最近發生的例子:
測試人員在測試大數據量備份時發現提交一個啓用重刪功能的備份做業,看成業運行一半左右的時間,終止它,這時做業會在一小段時間內終止,這裏並無問題。 問題是接下來,當提交下一個備份做業後,做業顯示正在進行中,而實際上須要等待2個小時左右,備份做業纔會真正開始。當測試人員遇到這個問題,不知道爲什 麼做業會等待這麼久才運行,並且沒有日誌輸出告知咱們做業在幹什麼。讓人很容易會覺得做業hang住並再次取消它,除非你不去管它,不然我不知道誰有耐心 持續等待2個小時左右。
這個場景經開發人員分析,認爲這一現象出現是由於終止第一個重刪做業後,後臺在進行碎片整理和刪除工做,在這個工做完成以前新的做業是不能啓動的,因此前 端會看到新的做業等待2個小時後才真正開始。開發就此得出的結論是這個不是問題,由於從他們的角度去看,這是正常的,當終止一個重刪備份做業後,後臺要進 行清理工做,而實際上後臺也正是在作刪除和碎片整理。可是若是從客戶角度去看待這個問題,這個是不能接受的!首先,碎片整理和刪除工做自己性能須要提 升,2個小時的處理時間太長;其次,若是性能沒法提高,那碎片整理和刪除這個工做自己出現的時機就須要改進,不能影響用戶下一個備份做業,應該選擇在沒有 備份做業執行的時候運行;最後,日誌也並無任何輸出,用戶沒法得知後臺在幹什麼,容易致使用戶更多錯誤操做,甚至認爲是產品出現問題。
管中窺豹,從這個例子咱們能夠看到,同一個場景,從開發人員角度以爲不是問題的,但從客戶角度看就有多是一個問題。因此對測試人員來講,咱們對產品和問題的評判應該從客戶角度出發,對不利於客戶理解,不方便使用的問題說不,對於客戶可能遇到的問題不妥協。
再來看下面這兩個問題,是否容易得出答案了呢:
- 軟件測試是以開發設計爲中心,仍是以客戶爲中心?
- 當開發和設計人員說:產品就是這麼設計的,就是這麼工做的;而咱們發現從用戶角度來看並不合理,咱們該怎麼辦?
軟件測試應該站在客戶的立場上去看待產品和問題,當與設計開發的場景發生衝突時,更要從客戶使用的角度去考慮,模擬本身就是客戶在使用咱們的產品,對因而 否是問題,判斷起來就容易明晰。另外,咱們從上到下都應該貫徹「以客戶爲中心」的理念,當設計、開發和測試人員都有這種理念的時候,咱們對問題的識別和解 決就會順利不少,更容易達成一致。
從客戶角度考慮問題,不只限於發現問題,從產品設計和使用上,咱們也應秉承這一理念,測試人員是產品的第一個客戶,若是咱們以爲產品很差用,不容易理解的 地方,咱們的客戶也會遇到一樣的問題,咱們應該促使產品的設計和開發更加符合客戶的使用,更加合理。這也是測試工程師的職責所在。
Please Think as Customer!性能