隨著測(cè)試人員陸續(xù)開始嘗試角色轉(zhuǎn)變,堅(jiān)守得QA需要找到自己得發(fā)展之路。興趣和性格是客觀因素,好奇心和發(fā)散性思維則是幫助成為優(yōu)秀QA得必要因素。我想通過一些小得例子來與大家互動(dòng)探討。
測(cè)試你做對(duì)了么?讓我們從這樣一個(gè)現(xiàn)實(shí)中得小例子來開始我們得思考之旅 “假如一堆稻草中不小心掉入了一根針,我們?cè)撊绾螌⑺页瞿兀俊?/p>
回想當(dāng)時(shí)看到這個(gè)題目時(shí),我得第壹反應(yīng)是太難找了。從這個(gè)小事例聯(lián)想到自己得工作,我作為QA或多或少是否做過類似得事情呢?在初入行業(yè)得時(shí)候我可能就是這個(gè)在草堆里找針得人,我花費(fèi)了大量得時(shí)間仔細(xì)地在草堆外面認(rèn)真查找,甚至使用了放大鏡一點(diǎn)一點(diǎn)得反復(fù),努力不漏過每一個(gè)角落。再后來慢慢積攢了一些經(jīng)驗(yàn),我開始使用工具了。我嘗試使用不同吸力得磁鐵,金屬探測(cè)設(shè)備。這正是我工作經(jīng)歷中得純黑盒測(cè)試階段與純自動(dòng)化UI測(cè)試階段。
在有了不同得經(jīng)歷后,我開始反思自我。類似大草堆里找針這么大得工程,耗時(shí)耗力,是否會(huì)有更好得辦法呢?我真應(yīng)該去多了解一下每個(gè)產(chǎn)品使用得工具與技術(shù),以及深入了解并參與它得搭建過程。于是我加入了TW,開啟了第三段測(cè)試之旅。
再回來看看這個(gè)例子,我在想也許草堆得中間是空心得,有一扇隱形得門可以走進(jìn)去。但是在過去我竟然沒有想過要去嘗試(當(dāng)然,這里所說得沒有嘗試是比較夸張了點(diǎn))。在我們打算開始堆草堆得時(shí)候就應(yīng)該考慮得更多一些,制定相應(yīng)得策略保證在堆積得過程中不會(huì)有一些雜物不小心被堆進(jìn)去,我們應(yīng)該爭(zhēng)取在草堆堆積得過程中不讓這根針有機(jī)可乘。相信大家對(duì)于敏捷實(shí)踐中得質(zhì)量?jī)?nèi)建都非常得熟悉了,這里我就不再贅述了,具體得大家可以閱讀TW 洞見中質(zhì)量相關(guān)文章以及冰玉老師得個(gè)人博客。
多思考,多探討,不要急于開始有人告訴我下面這張支持中有一只蟲子,讓我猜猜它在哪里? 我仔細(xì)地找了一遍沒找到,于是又開始第二遍第三遍得尋找。甚至試圖拿著放大鏡仔細(xì)研究這張支持。我努力不放過每一個(gè)角落。可是最終我也未能找到,這只Bug到底藏在了哪里呢?
等到答案揭曉得時(shí)候,我忽然意識(shí)到了作為QA我竟然忽略了最重要得東西——澄清。上周在聽冰玉老師得session《構(gòu)建體系化思維》時(shí),她對(duì)于這塊也做了詳細(xì)得講解。對(duì)于她給出得測(cè)試茶杯得例子印象非常深刻。面試得時(shí)候經(jīng)常會(huì)隨機(jī)問候選人,水杯怎么測(cè),插線板怎么測(cè),開關(guān)怎么測(cè)。有相當(dāng)一部分得候選人覺得蒙圈,也有人覺得非常容易,很多人沒有要求思考時(shí)間也不提問,直接開始回答。這樣草率得回復(fù)怎么可能會(huì)是面試官想要聽到得答復(fù)呢?
下面我以所在得某項(xiàng)目中最近發(fā)生得一件事情為例引入我自己得一些反思。我們會(huì)批量生成一種類似于限量版得現(xiàn)金券,用戶收到該現(xiàn)金券便可使用它并從中受益,前期我們只做了簡(jiǎn)單得生成與存儲(chǔ)。Marketing團(tuán)隊(duì)會(huì)根據(jù)規(guī)則手動(dòng)將限量版得現(xiàn)金券發(fā)給特定得用戶群體。該功能投入生產(chǎn)后反響很棒,于是我們決定將發(fā)送流程自動(dòng)化,集成到內(nèi)部后臺(tái)系統(tǒng),根據(jù) Marketing 團(tuán)隊(duì)上傳得用戶列表生成對(duì)應(yīng)得現(xiàn)金券并綁定到相應(yīng)得用戶賬戶。到這里所有得需求都很清晰明了。
接下來客戶提出來既然券都跟用戶綁定了,那么我們?yōu)槭裁床话阉故窘o用戶呢?于是提出了我們需要做一個(gè)最早可用版本用來展示功能。我們?yōu)榇藢iT定了一次會(huì)議,參與得人有客戶多部門得老大以及我們項(xiàng)目小組得所有相關(guān)人員。大家都很興奮我們要實(shí)現(xiàn)這樣一個(gè)功能了,我們討論了需求,設(shè)計(jì),需求將要帶來得價(jià)值以及如何衡量這個(gè)需求是否成功得指標(biāo)與方法。我們也書寫了相關(guān)得需求文檔。
然而UX老大參與DC得時(shí)候,他詢問了我們這個(gè)版本是要給內(nèi)測(cè)人員看么?經(jīng)過一番討論,這時(shí)我們才發(fā)現(xiàn)大家得理解不一致。由于我們開始討論得時(shí)候提到了想根據(jù)市場(chǎng)效果再?zèng)Q定是否繼續(xù)做下一個(gè)版本,我們組得UX理解我們只給內(nèi)測(cè)用戶展示,所以她設(shè)計(jì)了一個(gè)很簡(jiǎn)單得展示版本。而其他人則認(rèn)為想先實(shí)現(xiàn)簡(jiǎn)化版得功能,再根據(jù)市場(chǎng)反饋決定是否再進(jìn)一步投入時(shí)間進(jìn)行優(yōu)化。等國慶假期過去了,我看到它竟然還沒有發(fā)布。直到上周我們終于發(fā)布了這個(gè)功能。
大致增加了:
對(duì)于純純得遠(yuǎn)程協(xié)作團(tuán)隊(duì)(成員分散在超過四個(gè)China,超過5個(gè)城市),我們得線下交流少之又少。每天得交流主要是在站會(huì)和Mob會(huì)議里(每天4小時(shí)),如果在我們開會(huì)討論需求得時(shí)候多討論幾句,在我們每天交流中多探討一些。可能我們能更早得意識(shí)到了我們大家對(duì)于Earlist usable 得理解是不同得,我們就能提早設(shè)計(jì),不至于后來返工拖延了發(fā)布。在后來得retro中,大家一致認(rèn)為在開始每一項(xiàng)工作之前我們就應(yīng)該做足夠得思考與探討。
花絮: 盡管有點(diǎn)插曲,但是在發(fā)布前內(nèi)測(cè)得時(shí)候,客戶得老大們對(duì)這個(gè)功能得實(shí)現(xiàn)非常滿意,團(tuán)隊(duì)開始感謝原創(chuàng)者分享marketing是否可以給我們每人一張現(xiàn)金券。客戶得老大們也開始通過這種方式去分享現(xiàn)金券給他們得好友們。
跳出思維定式得束縛讓我們從一個(gè)簡(jiǎn)單得小互動(dòng)開始,一起感受一下我們?cè)趺纯紤]這個(gè)問題。請(qǐng)大家拿出小本本一起畫出如圖得9個(gè)點(diǎn)。然后用一筆將9個(gè)點(diǎn)連起來,你會(huì)怎么連呢?
- 不同起點(diǎn)回形繞圈
- Z形
- 三角風(fēng)箏形
- 用一根足夠粗得筆一筆劃過
我相信一定有很多聰明得小伙伴們想到了第四種方法。此處有掌聲
但是還是會(huì)有很多小伙伴很容易被問題中“連起來”幾個(gè)字帶著開始連線而忽略了最簡(jiǎn)單得一筆劃過。
我看到過這樣一個(gè)實(shí)驗(yàn),將相當(dāng)數(shù)量得蜜蜂和蒼蠅置于一個(gè)開口得瓶子中,將瓶子放倒,讓瓶底朝著有光得地方。大家猜猜接下來會(huì)發(fā)生?
結(jié)果蒼蠅跑光了,而蜜蜂基于出口就在光亮處得思維方式,設(shè)定了出口就是那個(gè)有光得地方,所以它們一直朝著光亮得地方努力而忽略了藏在暗處得出口,一次次地撞向瓶底。而毫無邏輯得蒼蠅到處亂飛卻意外地找到了出口。
大多數(shù)時(shí)候思維定式?jīng)]有錯(cuò),但是在一個(gè)產(chǎn)品上工作久了得伙伴或多或少都會(huì)遇到越熟悉得地方越容易出錯(cuò)得情況。我自己也曾遇到過類似得問題。日復(fù)一日測(cè)試類似得功能讓我們很容易形成了思維定式,形成了固定得操作習(xí)慣。對(duì)于熟悉得功能反而考慮得不再那么周全,總是以老得方式去考慮熟悉得功能,殊不知在不知不覺中它已不再那么熟悉。而對(duì)于新得功能模塊大家通常都會(huì)格外得小心謹(jǐn)慎和感謝對(duì)創(chuàng)作者的支持。所以我自己會(huì)定期復(fù)盤,定期反思。一旦發(fā)現(xiàn)自己沉浸于思維定式里,一定要設(shè)法打破它。盡管我自己其實(shí)做得也并不是很好,但是我時(shí)常會(huì)反省并時(shí)刻提醒自己。
保持好奇,多提問這里又來了一個(gè)有意思得小互動(dòng),請(qǐng)大家?guī)兔φ艺乙韵逻@段話中包含有多少個(gè)字母F?
答案是6個(gè),你找對(duì)了么?
請(qǐng)大家再一次幫忙找找這段話中有多少F呢?
答案是68個(gè), 這次你對(duì)了么?
請(qǐng)大家回想一下在第壹遍大家都是如何找得呢?有沒有漏掉得呢?在第二遍查找得時(shí)候大家又是如何做得呢?是否將第壹次漏掉得字母找到了呢?看到這個(gè)配色大家應(yīng)該多少有點(diǎn)好奇,為什么好好得一段話要用黑色背景,有多少人因?yàn)楹闷娑隽诉M(jìn)一步得思考與調(diào)查呢?聯(lián)想我們得日常工作,我們可能偶爾得遇到了一些奇奇怪怪得問題,但是刷新,重試之后我們發(fā)現(xiàn)問題不存在了,我們是否繼續(xù)深究了呢?很多時(shí)候往往都是這些不起眼得小問題積壓最終導(dǎo)致越來越多得系統(tǒng)問題。
所以在我們每次遇到這些行為得時(shí)候一定要保持住好奇心,多思考多調(diào)研。即使不能重現(xiàn),我們可以停下來休息一下,畫一畫,再深入思考一下。我們可以截圖,查看日志,回想自己得操作步驟和不尋常之處(也可以利用系統(tǒng)得行為跟蹤工具,總結(jié)反饋或者感謝原創(chuàng)者分享相關(guān)人員。又或者我們可以記錄一個(gè)stakehold卡在我們得backlog里面用來追蹤后續(xù)。)一定不要等到有一天客戶報(bào)了問題過來,我們突然意識(shí)到這個(gè)錯(cuò)誤,這個(gè)問題自己曾經(jīng)也遇到過。當(dāng)然我們也得綜合考慮一下投入產(chǎn)出比,以及問題所帶來得用戶影響有多大,優(yōu)先級(jí)如何等。在移動(dòng)端測(cè)試中經(jīng)常會(huì)有一些偶現(xiàn)得問題,有得問題真得是特別邊緣得情況,多個(gè)條件同時(shí)滿足才能偶爾觸發(fā)。有得卻是通過某些特定得操作就會(huì)百分百觸發(fā)。所以保持好奇,適當(dāng)?shù)猛度胍恍┱{(diào)研是很有非常有必要得。
提高專注還得發(fā)散這個(gè)小題目貌似有點(diǎn)自相矛盾,到底是要專注呢還是要發(fā)散呢?讓我們還是先從互動(dòng)開始探討。假如有一個(gè)大得正方形,它被平均分為了四個(gè)小得正方形ABCD。A、B、C三個(gè)小正方形內(nèi)分別嵌套了一個(gè)更小得正方形,那么請(qǐng)按照要求得規(guī)則將每個(gè)圖形淡灰色部分進(jìn)行切分。
- 請(qǐng)將右上角得正方形A中淡色部分分成兩個(gè)相同得圖形
- 請(qǐng)將左上角得正方形B中淡色部分分成三個(gè)相同得圖形
- 請(qǐng)將左下角得正方形C中淡色部分分成四個(gè)相同得圖形
- 請(qǐng)將右下角得正方形D中淡色部分分成七個(gè)相同得圖形
如果按順序來做這四次分割,每次成功完成一步我們會(huì)很容易嘗試使用相同得方法求進(jìn)行下一次得圖形分割。然而到了第四步,我們可能還會(huì)專注于之前得分割思路。假如我只給出了一個(gè)單獨(dú)得正方形讓大家分成七份,大家應(yīng)該都會(huì)很容易就可以分成功。
再來說說我自己,入行不久我就發(fā)現(xiàn)我自己得思維比較發(fā)散,想象力豐富,我經(jīng)常是團(tuán)隊(duì)中討論需求提問最多得那個(gè)人。每次有了新得需求,除了需求本身得描述,我可能會(huì)瞬間聯(lián)想到與它相關(guān)得大大小小得功能。時(shí)間久了我慢慢得反思總結(jié),在討論需求得時(shí)候我們優(yōu)先需要考慮需求本身,我們需要更多得感謝對(duì)創(chuàng)作者的支持點(diǎn)。
其次,我們?cè)傧蛲獍l(fā)散考慮更多更深更遠(yuǎn)得情況。在之前得一家公司我們經(jīng)常在發(fā)布前回歸測(cè)試階段抽出一定得時(shí)間來做隨機(jī)測(cè)試。 經(jīng)常發(fā)現(xiàn)隨機(jī)測(cè)試發(fā)現(xiàn)得問題要比我們遵從測(cè)試用例做回歸測(cè)試發(fā)現(xiàn)得問題多一些。就我自己而言在隨機(jī)測(cè)試階段我可以掙脫束縛,隨心得設(shè)想一些配置,再搭配上特定得一些用戶行為。而在做隨機(jī)測(cè)試得時(shí)候,也不是完全沒有章法得胡亂感謝閱讀一通。我經(jīng)常會(huì)提前設(shè)想一些情況,在紙上列出來,再思考并挑選一些出來。但是往往在操作得過程中我得步驟就突然間改變了,我會(huì)操作完某一步后,突然間聯(lián)想到另外得一些情況。然后轉(zhuǎn)而去嘗試。結(jié)果大多數(shù)時(shí)候都會(huì)有出乎意料得發(fā)現(xiàn)。
我總結(jié)了一下我自己,我本身得性格非常急,所以在日常工作中,我可能有時(shí)候容易思想不夠集中。尤其是在那種特別長得會(huì)議里,我經(jīng)常會(huì)在聽到發(fā)言人得某些發(fā)言后瞬間蹦出一長串得疑問,這時(shí)候怎么辦呢?以前得我可能會(huì)很激動(dòng)地就直接發(fā)問了。現(xiàn)在得我慢慢地意識(shí)到自己得問題,于是我學(xué)著將自己得思緒拉回,不要繼續(xù)在自己得疑問里越走越遠(yuǎn)。我會(huì)強(qiáng)迫自己繼續(xù)聽發(fā)言人得后續(xù)發(fā)言,結(jié)果往往會(huì)發(fā)現(xiàn)會(huì)議結(jié)束得時(shí)候我得很多問題都不是問題了或者并不那么重要了。說了這么多我其實(shí)就是想分享一下我自己關(guān)于專注與發(fā)散得經(jīng)驗(yàn)。我相信很多QA在專注力與發(fā)散這塊都有一些很好得見解,歡迎大家分享探討~
小結(jié)賣了這么多關(guān)子,到了我該回答問題得時(shí)候了。這么多年我也不是沒有動(dòng)搖過,但是每一次動(dòng)搖得時(shí)候我都進(jìn)行了深入地思考。我嘗試自問自答,最終我還是堅(jiān)守在QA這個(gè)崗位。對(duì)于我為什么堅(jiān)守,我想首先肯定是非常喜歡得。其次我覺得是因?yàn)檫m合,這得歸功于我超強(qiáng)得好奇心以及發(fā)散得思維方式。當(dāng)然也有性格相關(guān)得因素在里面。另外,作為一名QA,我們必須要有很強(qiáng)得責(zé)任心與溝通協(xié)作能力。
對(duì)于QA得思維方式,我相信小伙伴們都有很多自己得見解。歡迎大家共同參與討論~
Think more and deeper
Think out of the box
Questioning / Curiosity
Focus / Defocus
參考資料文/Thoughtworks 趙瑞華
更多精彩洞見,請(qǐng)感謝對(duì)創(chuàng)作者的支持公眾號(hào)Thoughtworks洞見!