趕在多年難遇的對稱日20211202,項目V2.3版本上線了笋颤,急急忙忙乳附,加班加點,終于按期交付伴澄,直呼不容易赋除。
該項目是一個Web類型項目,分為前臺和后臺非凌。本期主要是結(jié)算相關(guān)的功能举农,后臺給用戶設(shè)置各種結(jié)算規(guī)則,驗證日收益敞嗡,月收益颁糟,賬單數(shù)據(jù)是否正確。
訂單源頭在數(shù)據(jù)部喉悴,本后臺負(fù)責(zé)設(shè)置規(guī)則棱貌,將規(guī)則推送至數(shù)據(jù)部,數(shù)據(jù)部負(fù)責(zé)計算數(shù)據(jù)箕肃,最后將計算好的數(shù)據(jù)推送給后臺婚脱。
本次迭代人員安排是,前端1人,后端2.5人(后臺接口1.5人障贸,數(shù)據(jù)部1人)错森,測試1.5人,產(chǎn)品1人篮洁。
工期是開發(fā)8天涩维,測試3天,總計Bug54個嘀粱,測試前期1.5天幾乎都在配合聯(lián)調(diào)激挪。
本次測試的重點在驗證日數(shù)據(jù)的正確性辰狡,難點在于設(shè)置的規(guī)則和造數(shù)據(jù)的步驟锋叨,規(guī)則有三層(本后臺一層,其他后臺兩層)宛篇,每層規(guī)則都有時間區(qū)間娃磺,三層規(guī)則可排列組合,就組合出了很多場景叫倍。
整個迭代偷卧,簡單總結(jié)下,一方面是記錄下自己的工作過程吆倦,另一方面也希望給大家提供一點參考價值听诸,避免踩同樣的坑。
一蚕泽、做得比較好的點
1晌梨、做到了按期交付
按道理,這個迭代的業(yè)務(wù)邏輯還是挺復(fù)雜的须妻,規(guī)則復(fù)雜不說仔蝌,還跟錢有關(guān),測試起來需要更謹(jǐn)慎荒吏,萬一計算錯誤敛惊,就是大問題了。
而且項目負(fù)責(zé)人已經(jīng)跟業(yè)務(wù)部門承諾了12月初绰更,上線本期的功能瞧挤,本次迭代的估期并不是按實際情況來的,而是知道DDL儡湾,排除開發(fā)日期皿伺,剩下的就是測試日期了,沒有選擇盒粮,被迫營業(yè)的排期鸵鸥。
項目負(fù)責(zé)人的期望是,只要保證業(yè)務(wù)的主要計算流程沒有大問題,一些異常的計算規(guī)則以及場景可以不完全覆蓋妒穴,先上線宋税,后續(xù)遇到問題再解決,因為這個迭代的結(jié)算數(shù)據(jù)還沒有開放給用戶讼油,只是供內(nèi)部人員看杰赛,所以即使有問題,也不會造成任何經(jīng)濟損失矮台,修復(fù)成本不大乏屯。
本著這個原則,覆蓋了主體計算流程瘦赫,就上線了辰晕,項目負(fù)責(zé)人對上線結(jié)果還是挺滿意的。
2确虱、及時調(diào)整測試策略
由于數(shù)據(jù)源在數(shù)據(jù)部含友,每次造數(shù)據(jù),都得從源頭造起校辩,而且造數(shù)據(jù)的步驟比較復(fù)雜窘问,又不能自己去造,只能依賴于數(shù)據(jù)部同學(xué)宜咒,每次一個流程下來惠赫,都得15到20分鐘的樣子,效率很低故黑。
持續(xù)了半天之后儿咱,發(fā)現(xiàn)除了日數(shù)據(jù)頁面,其他頁面例如月數(shù)據(jù)等倍阐,直接在后臺數(shù)據(jù)庫造就行了概疆,因為只需要驗證從數(shù)據(jù)庫到頁面的展示邏輯,所以不必從源頭造峰搪。
后來的測試策略就是岔冀,在造源頭數(shù)據(jù)等待的過程中,自己去后臺數(shù)據(jù)庫造數(shù)據(jù)概耻,驗證月數(shù)據(jù)等其他頁面的功能使套,大大節(jié)省了測試時間。
在測試過程中鞠柄,需要根據(jù)實際情況實時調(diào)整試策略侦高,不斷提升測試效率。
二厌杜、需要改進的點
1奉呛、提測質(zhì)量
本次迭代涉及的頁面共6個计螺,產(chǎn)出Bug共計54個,測試前的1.5天都處于0進度的狀態(tài)瞧壮,可以說在配合聯(lián)調(diào)登馒。
以前的項目流程,是在提測前咆槽,進行冒演示陈轿,如果問題太多是會打回重做的。但是這次由于在周五晚上提測秦忿,就沒時間演示了麦射,結(jié)果周末來加班,發(fā)現(xiàn)重點頁面即日數(shù)據(jù)頁面灯谣,按規(guī)則計算的邏輯大概70%是錯的潜秋。
前期就一直在造數(shù)據(jù),驗證酬屉,修復(fù)Bug半等,再次驗證揍愁,時間成本是很高的呐萨。
后續(xù)即使遇到時間很趕的情況,也要按照流程來莽囤,否則谬擦,結(jié)果就是項目負(fù)責(zé)人以為正在測試階段,其實還處于聯(lián)調(diào)的階段朽缎,最后統(tǒng)計測試進度惨远,結(jié)果不忍直視。
2话肖、原型的細(xì)粒度
本次的測試北秽,在日數(shù)據(jù)頁面,有10個跟錢相關(guān)的字段最筒,而且每個字段的計算規(guī)則不一樣贺氓,在需求評審階段,測試同學(xué)也沒有深入思考計算方式床蜘,以為只要按著數(shù)據(jù)庫的字段核對即可辙培,結(jié)果發(fā)現(xiàn),很多字段之間是有關(guān)聯(lián)的邢锯,比如字段A=由字段B*設(shè)置的某個規(guī)則比例計算來的扬蕊。
后來又去找產(chǎn)品同學(xué)確認(rèn),發(fā)現(xiàn)開發(fā)同學(xué)的很多計算方式與產(chǎn)品期望的不一致丹擎,中間也花費了很多時間尾抑。
后續(xù)對于跟結(jié)算相關(guān)的字段,可以在需求評審階段,就將字段的算法確認(rèn)清楚再愈,開發(fā)和測試過程中庶骄,按著需求來即可,而不是做了不對践磅,推翻再來单刁,時間成本太高了。
在項目前期府适,測試同學(xué)盡量將需求理解的細(xì)一點羔飞,將問題提前暴露,秉承測試左移的思想檐春,將Bug扼殺在搖籃里逻淌。
3、新人對項目的熟悉度
在造數(shù)據(jù)的過程中疟暖,有個小插曲卡儒,由于數(shù)據(jù)部的同學(xué)是新人,首次參與我們這邊的項目俐巴,在測試中骨望,由于需要支持其他項目,不能全力配合測試同學(xué)造數(shù)據(jù)欣舵。
于是找到他的師傅擎鸠,經(jīng)過溝通后,發(fā)現(xiàn)有更簡單的方法缘圈,數(shù)據(jù)部同學(xué)與后臺開發(fā)同學(xué)將表做處理之后劣光,測試同學(xué)可以直接在后臺造數(shù)據(jù),從而可以完全釋放數(shù)據(jù)同學(xué)了糟把。
所以绢涡,在有新同學(xué)負(fù)責(zé)的項目中,當(dāng)發(fā)現(xiàn)整個流程走得特別復(fù)雜的時候遣疯,可以多問問他的師傅或其他同學(xué)雄可,是不是有更優(yōu)解。
三另锋、與錢相關(guān)的兩個測試點
1滞项、注意小數(shù)點
模擬真實的數(shù)據(jù),注意小數(shù)點設(shè)置夭坪,不能只測試整數(shù)文判。
比如在設(shè)置某個比例的時候(一般的比例都是保留兩位小數(shù)),不要只設(shè)置整數(shù)的比例室梅,需要覆蓋小數(shù)戏仓,曾經(jīng)在線上看到過一個未處理小數(shù)位的Bug疚宇。
其次就是結(jié)算金額,小數(shù)位數(shù)的保留赏殃,大多數(shù)情況下是保留小數(shù)點后兩位敷待,而且進行四舍五入。
2仁热、數(shù)據(jù)重跑
結(jié)算系統(tǒng)的邏輯大多是本月發(fā)上個月的錢榜揖,但是對于上個月的錢有疑問的,會調(diào)整規(guī)則抗蠢,重跑結(jié)算腳本举哟,這個時候,就需要驗證重跑后對系統(tǒng)的影響迅矛,是否影響已經(jīng)結(jié)算的數(shù)據(jù)妨猩,是否會出現(xiàn)重復(fù)數(shù)據(jù)等等。
不知不覺秽褒,這已經(jīng)是本項目的第三次復(fù)盤了壶硅,先立個Flag,這個項目每次中大型迭代都會出一個復(fù)盤销斟,大家敬請期待~
ps:我是lc馨馨紫庐椒,全網(wǎng)名稱統(tǒng)一,期待優(yōu)秀的你關(guān)注我~
原創(chuàng)文章票堵,轉(zhuǎn)載請注明出處~