???? 以近期測試的O2O微商城項(xiàng)目為例,另提一下51挖寶游戲微信小程序項(xiàng)目,簡要分享以下3點(diǎn)測試經(jīng)驗(yàn)。
? ?? 首先是微信返回事件。當(dāng)我們使用微信的導(dǎo)航欄的時(shí)候,IOS默認(rèn)點(diǎn)擊微信左上角的返回是回到上一個(gè)頁面,另Android點(diǎn)擊自帶的返回鍵也是返回到上一個(gè)頁面(新版本的微信已經(jīng)做出改變,返回操作放在了頁面下方進(jìn)行類似瀏覽器的返回)。但是,有時(shí)候我們在微信網(wǎng)頁里面點(diǎn)擊導(dǎo)航欄的返回,并不一定是想要去返回上一個(gè)頁面?;蛘哒f,直接返回到上一個(gè)頁面在邏輯理解上是違背常規(guī)的。比如O2O微商城,當(dāng)我們在訂單結(jié)算頁面點(diǎn)擊提交訂單之后,會跳轉(zhuǎn)到成功提交訂單的頁面。此時(shí)如果我們點(diǎn)擊返回,默認(rèn)是返回到訂單結(jié)算頁面的,這在常規(guī)上是解釋不通的。因?yàn)樯唐肺乙呀?jīng)結(jié)算過了而且已經(jīng)成功提交。所以正常來說,應(yīng)該是返回到訂單結(jié)算的前一個(gè)頁面。而進(jìn)入點(diǎn)擊結(jié)算頁面是可以通過商品詳情的立即購買或者購物車結(jié)算進(jìn)入的。那么怎么進(jìn)入提交的就應(yīng)該返回到哪個(gè)頁面。即最好的返回就是從購物車結(jié)算提交訂單的,返回就是回到購物車。從商品詳情立即購買提交訂單的,返回就是回到商品詳情。但是,基于目前web無法針對每個(gè)入口做監(jiān)聽,對每種返回做出處理,我們目前的處理方式是統(tǒng)一返回到首頁。

???? 然后說的是頁面跳轉(zhuǎn)。這里想講的一點(diǎn)是規(guī)范或者說是需求的問題。因?yàn)橛袝r(shí)候頁面跳轉(zhuǎn)過去另一個(gè)頁面的需求是不明確的。從不同的理解,有時(shí)候都可以說得通。比如說51挖寶小游戲在鋤地翻牌之后,點(diǎn)擊結(jié)束游戲的頁面跳轉(zhuǎn)。你是直接跳到游戲首頁讓用戶重新選擇是否開始游戲呢?還是跳到我的獎(jiǎng)品頁面查看獎(jiǎng)品呢?我的想法是前者,但是開發(fā)的做法可能是后者。當(dāng)然,后面改為了前者啦,哈哈。雖然頁面跳轉(zhuǎn)只需要改一個(gè)url,挺簡單的,但是我想說的是公司產(chǎn)品的需求不明確,會增加開發(fā)測試的成本。(這里純粹是想吐槽一下??)

???? 最后說的是特殊值測試。理論說明,經(jīng)常呢,一些bug的發(fā)生都是發(fā)生在特殊值的處理中。比如O2O微商城的購物車修改數(shù)量問題,我們是支持輸入數(shù)量的。那對于輸入值,我們就手癢會輸入一些特殊值。比如,負(fù)數(shù)啦,小數(shù)啦,漢字啦,0啦,等等。而當(dāng)我們輸入小數(shù)之后,點(diǎn)擊數(shù)量的加減事件是會報(bào)錯(cuò)的,報(bào)什么string類型不正確之類的錯(cuò)誤。這就是對于特殊值沒有處理到位。由于時(shí)間關(guān)系,web目前沒有對此做出處理,而是去掉了輸入數(shù)量的功能。再者提一下特殊值比如emoj表情,我們數(shù)據(jù)庫不支持,目前也是沒有做出處理的。還有提一下邊界值,也是bug發(fā)生的重災(zāi)區(qū)。如上圖所示,挖地的時(shí)候點(diǎn)擊最后一塊地(第16塊地)無法挖地,后來演變成挖地之后能量沒有減少,后臺報(bào)數(shù)組越界的問題。這可能跟web處理的是16而后臺處理的是15有關(guān)。所以說啊,有時(shí)候一不小心就埋坑~~~