作者|張元
背景
隨著QA進行全流程的質(zhì)量把控逐步成為趨勢,QA在項目中的關(guān)注點不僅僅停留在測試階段,在項目的每一個階段都可以看到QA在積極地推進項目進度、把控項目質(zhì)量。
本文將主要介紹在技術(shù)設(shè)計評審階段尤揣,QA可以從哪些地方入手,做到真正有效的參與其中柬祠,并發(fā)揮作用北戏。
為什么要參與技術(shù)設(shè)計評審?
在介紹參與技術(shù)設(shè)計評審之前漫蛔,我們首先要明確為什么要參與技術(shù)設(shè)計評審嗜愈?參與技術(shù)設(shè)計評審能給我們帶來什么?只有我們明確了參與技術(shù)設(shè)計評審能給我們帶來的好處莽龟,我們才更有動力做這件事情蠕嫁。我認為, QA參與技術(shù)設(shè)計評審毯盈,有以下四點好處:
1剃毒、糾正項目成員對需求的錯誤理解。在參與技術(shù)設(shè)計評審時搂赋,通過對開發(fā)的設(shè)計思路的了解赘阀,了解開發(fā)對于需求的理解,發(fā)現(xiàn)開發(fā)對需求理解不正確的地方脑奠;同時基公,在了解設(shè)計思路的同時,可能會發(fā)現(xiàn)自己對需求理解有偏差的地方宋欺。通過對這些點的及時糾正轰豆,能盡早地避免某些bug的出現(xiàn)胰伍。
2、為測試方案提供依據(jù)酸休。通過參與技術(shù)設(shè)計評審骂租,了解具體的實現(xiàn)方案,針對開發(fā)的設(shè)計方案進行相應(yīng)的測試方案選型斑司,例如核心的接口渗饮、核心的服務(wù)是否需要進行接口測試、重要的邏輯覆蓋陡厘、測試場景的數(shù)據(jù)構(gòu)造抽米、測試所需的工具等特占,都可以在這個階段結(jié)合開發(fā)的技術(shù)設(shè)計進行思考和產(chǎn)出糙置。
3、有效的評估影響范圍是目。有些場景需求文檔上并未提到谤饭,但是因為相應(yīng)的代碼有改動,相關(guān)的功能可能會受到影響懊纳,參與技術(shù)設(shè)計評審能夠幫我們發(fā)現(xiàn)這些影響點揉抵,及時地補充測試用例,避免遺漏嗤疯。
4冤今、有效的評估風險點。通過了解開發(fā)的技術(shù)設(shè)計茂缚,了解改動的范圍戏罢,評估工作量以及相應(yīng)的風險點。甚至脚囊,在技術(shù)評審階段龟糕,開發(fā)會提供多種設(shè)計方案,通過對每種方案的了解悔耘,QA可以有效的評估到每種方案的影響范圍和風險點讲岁,從而選擇風險更小的解決方案。
QA如何高效參與技術(shù)設(shè)計評審衬以?
設(shè)計評審會議的時間一般不會太長缓艳,想要在一個設(shè)計評審會上跟上開發(fā)同學的思路,理解設(shè)計方案看峻,達到自己的目的郎任,提前做好準備工作是非常重要的。我把設(shè)計評審大致分為三個階段:設(shè)計評審前备籽、設(shè)計評審中舶治、設(shè)計評審后分井,在每一個階段,我們需要做的事情主要有:
1霉猛、?設(shè)計評審前:通知到位尺锚,提前準備。
(1)確保相關(guān)人員通知到位惜浅。評審會上確保相關(guān)人都在場瘫辩,提前做好通知;
(2)熟悉需求文檔坛悉,提前看技術(shù)設(shè)計文檔伐厌。結(jié)合需求文檔,理解技術(shù)設(shè)計文檔裸影,有問題提前做好批注挣轨。
2、設(shè)計評審中:重點關(guān)注技術(shù)設(shè)計是否滿足需求轩猩、涉及的接口卷扮、測試范圍。
(1)流程圖均践∥钋拢可以清晰的展示此次需求的業(yè)務(wù)流程;
(2)系統(tǒng)間交互圖彤委。以時序圖或協(xié)作圖的形式提供鞭铆,可以清晰的體現(xiàn)出系統(tǒng)間的信息傳遞;
(3)配置類功能焦影。設(shè)計中哪些是配置實現(xiàn)的车遂。apollo配置、緩存偷办、mq艰额、定時任務(wù)等;
(4)數(shù)據(jù)庫設(shè)計椒涯。數(shù)據(jù)庫的庫表結(jié)構(gòu)柄沮,關(guān)鍵字段的描述;
(5)設(shè)計是否完整废岂。是否覆蓋了產(chǎn)品需求文檔中要求的功能祖搓,避免遺漏;
(6)已有接口的復用或修改湖苞。如果是復用已有接口的能力拯欧,看是否該接口真能滿足新的需求,如果在原有接口的基礎(chǔ)上修改财骨,需要清楚更改了哪些內(nèi)容镐作,是否會影響到已有邏輯藏姐;
(7)新接口的定義。如果是新的接口该贾,看實現(xiàn)的功能是否符合需求羔杨,接口定義是否明確;
(8)需要第三方提供的接口杨蛋。明確哪些接口是需要第三方提供的兜材,明確對接人,方便后續(xù)的溝通逞力;
(9)對外提供的接口曙寡。對外提供接口的作用,做好對應(yīng)的測試方案寇荧,與使用方做好溝通举庶;
(10)影響范圍的評估。明確此次需求改動影響的范圍是什么砚亭,需要做哪些場景回歸灯变;如果影響范圍比較大殴玛,是否有更好的設(shè)計方案捅膘;
(11)具備可測性。面對分批提測的需求滚粟,模塊拆分后是否具備可測性寻仗;針對特殊場景,是否需要開發(fā)或測試提供工具方便測試凡壤;不可測的情況下署尤,劃分分工的邊界,明確告知RD我們能測試的點亚侠,明確不可測試的地方的質(zhì)量把控方案曹体;
(12)新老數(shù)據(jù)兼容。是否涉及新老數(shù)據(jù)兼容的測試驗證硝烂;
(13)核心接口性能指標箕别。是否需要對核心接口做性能測試;
總之滞谢,評審過程中串稀,要積極地跟上開發(fā)同學的思路,理解RD設(shè)計的理由狮杨,持不同看法時勇敢地提出自己的想法和建議母截。
3、設(shè)計評審后橄教,做好待辦事情的跟進清寇,完成測試方案的設(shè)計喘漏。
(1)相關(guān)群里同步待跟進的事情。明確對接人及問題的解決時間华烟,做好持續(xù)的跟進陷遮;
(2)設(shè)計測試方案。按照項目準則選擇測試手段垦江、編寫測試用例帽馋、提供數(shù)據(jù)構(gòu)造或腳本工具等、結(jié)合技術(shù)設(shè)計方案比吭,做好風險評估绽族。
QA深度參與技術(shù)設(shè)計評審的項目實踐
下面我將以一個項目為例,具體介紹如何通過技術(shù)評審推動項目最終高效衩藤、高質(zhì)地完成吧慢。
項目名稱:第三方供應(yīng)商可投轉(zhuǎn)轉(zhuǎn)廣告
項目背景:在第三方供應(yīng)商后臺新增“我要推廣”入口,撮合第三方供應(yīng)商使用商業(yè)廣告投放赏表,提升廣告主成單效率检诗,并提升廣告收入
在整個設(shè)計評審階段,做了如下的一些工作:
1瓢剿、熟悉需求文檔逢慌,加深需求理解,挖掘需求的重難點间狂,并關(guān)注其對應(yīng)的設(shè)計方案攻泼;
2、提前看技術(shù)設(shè)計文檔鉴象,嘗試理解開發(fā)的設(shè)計思路忙菠,有疑問的地方提前問;
3纺弊、技術(shù)評審現(xiàn)場牛欢,檢查參與項目開發(fā)的前后端開發(fā)同學以及產(chǎn)品同學是否全數(shù)到場,以免評審過程中產(chǎn)生需求改動點而沒有同步到所有相關(guān)人淆游。
4傍睹、檢查RD提供的流程圖是否正確,是否與需求一致稽犁;
5焰望、由于項目涉及第三方,因此需要關(guān)注涉及第三方的系統(tǒng)交互圖已亥,了解各方負責的功能范圍熊赖,評估第三方可能帶來的風險;
6虑椎、關(guān)注需求中重點邏輯的實現(xiàn)方案震鹉,數(shù)據(jù)庫表設(shè)計俱笛,評估設(shè)計方案對應(yīng)的測試范圍;
7传趾、根據(jù)設(shè)計文檔迎膜,指定測試方案,包括數(shù)據(jù)準備浆兰、接口測試磕仅、case設(shè)計、數(shù)據(jù)構(gòu)造工具準備簸呈。
設(shè)計評審效果:
1榕订、基于對需求理解和對RD提供的流程圖的檢查,發(fā)現(xiàn)了RD流程圖與需求不一致的情況蜕便,從源頭上預防了bug的產(chǎn)生劫恒。
2、建議選擇對于測試范圍影響更小的開發(fā)方案轿腺,縮小了測試范圍两嘴。其中涉及2個需求點:
需求點之一:如何標識第三方用戶,并記錄第三方用戶信息(電話族壳、地址)憔辫?
可能方案1:原有商業(yè)用戶表中增加字段?
(1)劣勢1:若在原有商業(yè)用戶表中增加字段標識第三方用戶决侈,并且新增字段單獨存第三方用戶的電話螺垢,需要回歸原有的商業(yè)用戶創(chuàng)建功能喧务;
(2)劣勢2:新交接的業(yè)務(wù)赖歌,現(xiàn)接手的RD對原有業(yè)務(wù)不太了解,不太敢直接冒風險改動原有功能功茴;
可能方案2:新增一個表單獨記錄第三方用戶及相關(guān)信息庐冯?
(1)優(yōu)勢:避免回歸商業(yè)用戶的新增功能;
需求點之二:如何讓第三方用戶繞開商業(yè)用戶身份和資質(zhì)校驗坎穿,繼而使用商業(yè)的各種功能展父?
可能方案1:在每處校驗時,判斷第三方用戶并作特殊處理玲昧。
(1)劣勢1:商業(yè)用戶身份和資質(zhì)校驗栖茉,是商業(yè)營銷管理各種功能使用的前提,校驗的地方太多涉及多個集群孵延,梳理起來容易遺漏吕漂,且回歸范圍廣。
(2)劣勢2:后續(xù)新增商業(yè)功能尘应,都需要識別是否是第三方用戶并作特殊處理惶凝,兼容成本大吼虎。
可能方案2:新登陸接口插入數(shù)據(jù)以確保后續(xù)流程能通過校驗。
(1)優(yōu)勢:新接口中加功能苍鲜,只需保證本次項目涉及的流程功能思灰,影響范圍小。
如圖所示:
結(jié)論:從QA的角度混滔,基于對影響范圍的評估洒疚,都推薦采用了第二種方案
3、基于RD設(shè)計文檔中提供的系統(tǒng)間的交互圖坯屿,明確了涉及第三方的功能分工拳亿。
以下是交互圖:
由此可知,第三方供應(yīng)商側(cè)只需要保證用戶能夠正確跳轉(zhuǎn)到商業(yè)側(cè)愿伴,以及所帶的用戶信息的正確性肺魁,后續(xù)流程則是有商業(yè)側(cè)來保證。由交互圖也能得知對方的工作量在整個項目中的占比隔节,能大致評估出第三方可能帶來的風險大小鹅经。
4、基于第2點中需求點之二的方案2怎诫,可得知從第三方供應(yīng)商側(cè)登陸商業(yè)側(cè)的接口所做的哪些額外處理瘾晃,這是僅僅從需求文檔中無法獲知的。設(shè)計評審后幻妓,明確了每個接口做了哪些處理蹦误,以此為依據(jù),進行了測試方案制定肉津,包括:
(1)數(shù)據(jù)如何準備;
(2)接口測試重點測試入?yún)⑹怯傻谌教峁┑?個接口强胰,尤其關(guān)注入?yún)榭盏那闆r;
(3)case設(shè)計;
(4)?數(shù)據(jù)構(gòu)造工具準備等。
項目整體效果:各方職責清晰妹沙、測試影響范圍縮信佳蟆(case少)、項目質(zhì)量高(測試期只有1個前端bug距糖,無線上bug)玄窝。
寫在最后?
每個項目有其不一樣的特點,本文列出了大而全的檢查點悍引,可以幫助提醒我們在設(shè)計評審環(huán)節(jié)可以從哪些方向上去考慮恩脂。
通過參與設(shè)計評審,QA能夠深入理解技術(shù)的實現(xiàn)方案趣斤,有助于制定合理的測試方案俩块。同時,通過不斷的實踐,QA也能在設(shè)計評審時典阵,提出一些合理的建議奋渔,幫助項目更高效、更高質(zhì)的完成壮啊,提升QA在整個項目中的影響力嫉鲸。
加油吧,測試人歹啼!路就在腳下玄渗,成功就在明天!
未來的你肯定會感謝現(xiàn)在拼命的自己狸眼!
給大家推薦一個軟件測試技術(shù)交流群:1079636098? 群友福利免費領(lǐng)取
愿你我相遇藤树,皆有所獲! 歡迎關(guān)注微信公眾號:程序員一凡
1.免費領(lǐng)取一份216頁軟件測試工程師面試寶典文檔資料拓萌。
2.軟件測試學習路線以及相對應(yīng)的視頻學習教程免費分享岁钓!