和需求評(píng)審一樣光稼,開發(fā)設(shè)計(jì)方案也是需要進(jìn)行評(píng)審的坤次,只是目前還沒有機(jī)會(huì)去做出相關(guān)的系統(tǒng)檢查表步鉴,就要離開這個(gè)項(xiàng)目了揪胃。
先把現(xiàn)階段我有的一些心得沉淀一下。目前我主要的開發(fā)設(shè)計(jì)方案評(píng)審基本是基于自我設(shè)計(jì)猜想而來的。
1、和開發(fā)打交道--體現(xiàn)自身專業(yè)與價(jià)值
想要對(duì)開發(fā)的設(shè)計(jì)進(jìn)行評(píng)審绑榴,少不免要和開發(fā)GG聊天。有些開發(fā)團(tuán)隊(duì)會(huì)非常的樂于和你分享自己的設(shè)計(jì)思路熊响,但是有些比較傳統(tǒng)的開發(fā)團(tuán)隊(duì)會(huì)認(rèn)為測試只要做好自己的執(zhí)行就可以了,不需要來了解設(shè)計(jì)也無法理解設(shè)計(jì)。
那么這種情況下杠览,測試就需要讓自己的上游知道QA存在與介入這個(gè)階段的價(jià)值俏讹。舉個(gè)栗子当宴,最初接觸開發(fā)設(shè)計(jì)是基于最基本的好奇心。于是就主動(dòng)去詢問開發(fā)關(guān)于功能的實(shí)現(xiàn)泽疆,好在開發(fā)比較樂于分享即供,對(duì)功能模塊設(shè)計(jì)進(jìn)行了介紹,出于測試的敏感于微,我提出了幾個(gè)設(shè)計(jì)上的質(zhì)疑,例如你這樣設(shè)計(jì)青自,可能可以被別人截獲包株依,對(duì)數(shù)據(jù)進(jìn)行更改,就可以對(duì)這個(gè)功能進(jìn)行操作了延窜。開發(fā)評(píng)估確實(shí)存在這個(gè)問題就趕緊進(jìn)行了調(diào)整恋腕。這樣就避免了一個(gè)BUG提高了自己的質(zhì)量,于是在下次功能開發(fā)的時(shí)候開發(fā)在設(shè)計(jì)接口定義的時(shí)候不僅拉上了前端還叫上了QA
2逆瑞、如何進(jìn)行設(shè)計(jì)猜想
憑空說自己去猜想設(shè)計(jì)這個(gè)是比較抽象的荠藤,所以我總結(jié)了一些方法和思路去執(zhí)行。
有些同學(xué)會(huì)反饋無從下手获高,那么我建議可以從一些核心流程開始哈肖。
猜想切入點(diǎn)==抓住核心功能流程,從功能層面落地想象念秧。
舉個(gè)例子淤井。打開你測試的軟件,選取某個(gè)功能摊趾,比如購買某個(gè)物品的功能币狠,
1、首先你會(huì)點(diǎn)擊來到商品列表界面(這個(gè)過程客戶端請(qǐng)求后端獲取商品列表)
2砾层、接著你會(huì)點(diǎn)擊的某個(gè)商品進(jìn)入商品詳情(這個(gè)過程客戶端請(qǐng)求后端獲取商品詳情)
3漩绵、選擇商品屬性后生成訂單(客戶端提交訂單請(qǐng)求,服務(wù)端進(jìn)行訂單生成)
4肛炮、用戶進(jìn)行支付操作? ?(客戶端向支付寶sdk發(fā)起支付請(qǐng)求止吐,支付寶方返回訂單支付信息給業(yè)務(wù)方,再反饋前端展現(xiàn))
那么以上就是整個(gè)功能的設(shè)計(jì)猜想铸董,相應(yīng)的我們可以畫出對(duì)應(yīng)的時(shí)序圖祟印,請(qǐng)忽略我拙劣的畫技,由于是隨意舉例并且是猜想所以很有可能存在錯(cuò)誤
猜想技能養(yǎng)成==善于使用接口wiki或者抓包工具
對(duì)于一些經(jīng)驗(yàn)不足的同學(xué)來說粟害,需要直接看功能表現(xiàn)或者策劃案去猜想設(shè)計(jì)會(huì)存在一定的難度蕴忆。
那么有個(gè)折中的技能養(yǎng)成方案,我們可以通過抓包或者查看接口wiki知道客戶端在什么時(shí)候會(huì)發(fā)起什么內(nèi)容的請(qǐng)求悲幅,同樣開始梳理出業(yè)務(wù)時(shí)序圖套鹅。
但是這樣更多是依托于現(xiàn)有的實(shí)現(xiàn)站蝠,而沒有獨(dú)立的想法,容易被開發(fā)GG帶著跑卓鹿。
猜想技能養(yǎng)成==通過切割黑盒子菱魔,理清模塊之間協(xié)作流程來梳理業(yè)務(wù)脈絡(luò)或者想象業(yè)務(wù)脈絡(luò)
以上兩個(gè)模塊基本上都是說明了這個(gè)思想,一開始對(duì)于我們來說整個(gè)功能模塊就是黑盒子一個(gè)吟孙。那么我們最簡單的入手方法澜倦,就是
1、采用手段對(duì)這個(gè)黑盒子切上一刀杰妓,比如通過抓包或者接口定義我們可以知道前后端是怎么協(xié)作的藻治,于是可以梳理出前后端的交互脈絡(luò)。
2巷挥、然后我再對(duì)前端進(jìn)行切割一刀桩卵,將前端切分為本公司開發(fā)部分與支付寶部分。于是我們可以通過接口或者支付寶sdk接入wiki等手段理清客戶端這個(gè)模塊的業(yè)務(wù)脈絡(luò)
3倍宾、也許遠(yuǎn)遠(yuǎn)不止以上的兩個(gè)層次雏节,比如前端商城與背包的交互,后端數(shù)據(jù)庫交互等等高职,我們都可以進(jìn)行切割钩乍。
3、設(shè)計(jì)猜想的價(jià)值
? ? 溝通
當(dāng)我們有了基本設(shè)計(jì)方案猜想以后初厚,我們和開發(fā)的溝通會(huì)變的順暢許多件蚕,去找開發(fā)了解具體實(shí)現(xiàn)邏輯的時(shí)候可以先說我是這樣猜想的,開發(fā)來糾正产禾,或者能夠更加清晰自己需要了解的重點(diǎn)是什么排作。
????對(duì)比
拿出的你方案和開發(fā)的方案進(jìn)行對(duì)比,和開發(fā)溝通的時(shí)候不妨多問一句為什么要這么設(shè)計(jì)亚情。
例如現(xiàn)在要實(shí)現(xiàn)一個(gè)簡單的列表功能
我的設(shè)計(jì)方案是
1妄痪、根據(jù)時(shí)間戳進(jìn)行列表分頁功能實(shí)現(xiàn)
開發(fā)的設(shè)計(jì)方案是:
1、根據(jù)記錄個(gè)數(shù)進(jìn)行分頁功能實(shí)現(xiàn)? 從第一個(gè)開始取 一頁取50個(gè)
經(jīng)過對(duì)比兩個(gè)方案的優(yōu)劣楞件,發(fā)現(xiàn)開發(fā)的方案存在一個(gè)問題衫生,當(dāng)我已經(jīng)獲取第一個(gè)分頁的時(shí)候,有新的記錄插入土浸,這個(gè)時(shí)候原來的第五十條記錄會(huì)變成第51條罪针,于是我再去加載第二分頁的時(shí)候會(huì)出現(xiàn)原來取的50條和現(xiàn)在取的51條記錄是同一條。用戶表現(xiàn)為出現(xiàn)2條一樣的記錄黄伊。
? ? 迭代
我有一個(gè)思想泪酱、你有一個(gè)思想,我們交換一下,我們各自都有2個(gè)思想墓阀。
我有一個(gè)方案毡惜,你有一個(gè)方案。我們PK一下斯撮,我們都有了2個(gè)方案以及這2個(gè)方案的優(yōu)劣经伙。