一道面試題:百度首頁(yè)的測(cè)試用例設(shè)計(jì)
最近我被裁員,去面試的時(shí)候有這個(gè)題目:
說一下對(duì)百度首頁(yè)的測(cè)試用例設(shè)計(jì)。
以下內(nèi)容除說明百度出來(lái)的以外全部原創(chuàng)。。。拋磚引玉,僅供參考。
××××××××××××××××××××××××××××××××××
先來(lái)一個(gè)一般上測(cè)試人員最喜歡最常用的測(cè)試方法,邊界值法。
文本框邊界值,一般可以測(cè)試一下輸入字符的數(shù)量。
探索過程:
1.不輸入文字,直接按搜索----->頁(yè)面刷新,無(wú)變化---->結(jié)論1
2.復(fù)制粘貼一段很長(zhǎng)的中文進(jìn)入文本框----->被百度自動(dòng)截取其中前100個(gè)字-->結(jié)論2
3.按下搜索按鈕,百度跳轉(zhuǎn)到搜索結(jié)果頁(yè)面,并提示“"××" 及其后面的字詞均被忽略,因?yàn)榘俣鹊牟樵兿拗圃?8個(gè)漢字以內(nèi)”,將被自動(dòng)截取的內(nèi)容復(fù)制粘貼到word,統(tǒng)計(jì)字?jǐn)?shù)為38--->結(jié)論3
5.復(fù)制粘貼一段很長(zhǎng)的中文、英文、空格、符號(hào)混合文本進(jìn)入文本框----->被百度自動(dòng)截取其中一段內(nèi)容。---->結(jié)果截取了100個(gè)字--->結(jié)論4
6.復(fù)制粘貼38個(gè)漢字進(jìn)入搜索文本框,并中間加入62個(gè)連續(xù)空格后按下搜索----->搜索結(jié)果里最后一個(gè)漢字被忽略,因?yàn)榍懊嬗?7個(gè)漢字加1個(gè)合并后的空格長(zhǎng)度已達(dá)38.并且在文本框里原來(lái)62個(gè)空格的位置現(xiàn)在顯示一個(gè)空格--->結(jié)論5
關(guān)于文本框字符數(shù)的結(jié)論:
1.最小輸入值為0個(gè)字;
2.百度搜索文本框內(nèi)可輸入的最大字?jǐn)?shù)是100個(gè)漢字;
3.百度搜索文本框的輸入值在點(diǎn)擊搜索按鈕后,會(huì)被截取前38個(gè)漢字,其后面的字詞均被忽略;
4.任意一個(gè)中文、英文、符號(hào)、空格在輸入進(jìn)文本框內(nèi)第一次計(jì)數(shù)時(shí)均視同一個(gè)漢字;
5.連續(xù)的空格在點(diǎn)擊搜索按鈕后進(jìn)行搜索時(shí)會(huì)自動(dòng)合并,并轉(zhuǎn)化一個(gè)單獨(dú)的空格。
根據(jù)上述探索結(jié)果設(shè)計(jì)的文本框邊界值測(cè)試用例(思路):
1.輸入0個(gè)漢字:
什么也不輸入直接點(diǎn)擊搜索按鈕,點(diǎn)擊后應(yīng)刷新首頁(yè)
2.輸入38個(gè)漢字:
輸入38個(gè)漢字后點(diǎn)擊搜索按鈕,成功跳轉(zhuǎn)到搜索結(jié)果頁(yè)面
3.輸入39個(gè)漢字:
輸入39個(gè)漢字后點(diǎn)擊搜索按鈕,跳轉(zhuǎn)到搜索結(jié)果頁(yè)面,并在結(jié)果頁(yè)面上顯示“"×" 及其后面的字詞均被忽略,因?yàn)榘俣鹊牟樵兿拗圃?8個(gè)漢字以內(nèi)”
4.輸入100個(gè)漢字:
輸入100個(gè)漢字后點(diǎn)擊搜索按鈕,跳轉(zhuǎn)到搜索結(jié)果頁(yè)面,并在結(jié)果頁(yè)面上顯示“"×" 及其后面的字詞均被忽略,因?yàn)榘俣鹊牟樵兿拗圃?8個(gè)漢字以內(nèi)”
5.嘗試輸入100個(gè)以上的漢字:
嘗試輸入101個(gè)漢字,預(yù)期結(jié)果為嘗試失敗,只能輸入100個(gè)漢字。
6.英文、符號(hào)的測(cè)試:
以英文、符號(hào)作為輸入值,重復(fù)用例1到5,預(yù)期結(jié)果應(yīng)與漢字相同。
7.空格的測(cè)試:
復(fù)制粘貼38個(gè)漢字進(jìn)入搜索文本框,并中間加入62個(gè)連續(xù)空格后按下搜索,預(yù)期搜索結(jié)果里最后一個(gè)漢字被忽略,并在結(jié)果頁(yè)面上顯示“"×" 及其后面的字詞均被忽略,因?yàn)榘俣鹊牟樵兿拗圃?8個(gè)漢字以內(nèi)”同時(shí),連續(xù)的空格應(yīng)在搜索后的文本框內(nèi)顯示為一個(gè)空格。
可能的問題或者待改進(jìn)的地方:
1.結(jié)論4導(dǎo)致百度搜索支持的英文關(guān)鍵字長(zhǎng)度不足。與同類網(wǎng)站谷歌的對(duì)比,同樣一段英文(約十幾個(gè)單詞)在谷歌里能正常搜索,在百度里會(huì)被截取前面38個(gè)字母。
2.結(jié)論1中不輸入關(guān)鍵字點(diǎn)搜索沒有任何提示,如果有提示會(huì)不會(huì)好一點(diǎn)。與同類網(wǎng)站谷歌對(duì)比,百度有明顯的刷新頁(yè)面動(dòng)作,谷歌沒有刷新頁(yè)面(沒有刷新頁(yè)面進(jìn)度條)。如果沒有刷新頁(yè)面動(dòng)作會(huì)不會(huì)更好。
×××××××××××××××××××××××××××××××××××
然后是另一個(gè)測(cè)試人員最愛的測(cè)試,等價(jià)類法。
一般面試另一個(gè)經(jīng)常出的題目就是問一個(gè)三角形,輸入三個(gè)數(shù)字作為邊長(zhǎng),然后要判斷會(huì)變成正三角,等腰三角,還是普通三角,還是不能變成三角來(lái)劃分等價(jià)類。這種case的設(shè)計(jì)就是基礎(chǔ)的基礎(chǔ)。
但如果測(cè)百度首頁(yè)就比較復(fù)雜。因?yàn)橛脩糨斎胫堤唷?/p>
等價(jià)類可以這么劃:
按區(qū)間劃分。
按數(shù)值劃分。
按數(shù)值集合劃分。
按限制條件或規(guī)劃劃分。
按處理方式劃分。
三角形問題顯然按照數(shù)值和區(qū)間劃分了。但百度首頁(yè)的話就難劃了。
按區(qū)間劃 1.有意義的關(guān)鍵詞做輸入值,預(yù)期能搜出結(jié)果
2.無(wú)意義的關(guān)鍵詞做輸入值(比如用臉滾鍵盤來(lái)輸入一些亂七八糟的關(guān)鍵字),預(yù)期搜不出任何結(jié)果
按數(shù)值劃,不合適。
按數(shù)值集合劃分,不合適。
按限制條件或規(guī)劃劃分,不合適。
按處理方式劃分,需要知道百度是怎樣處理關(guān)鍵字的。也就是說知道內(nèi)部代碼邏輯,有幾種處理方式的話就可以劃幾個(gè)等價(jià)類,但是我不知道。。。
×××××××××××××××××××××××××××××××××××
第三種方法:寫case就是按照需求和標(biāo)準(zhǔn)來(lái)寫嘛
對(duì)于搜索引擎的測(cè)試需求和評(píng)價(jià)指標(biāo)隨便百度了一下就找到了:
1)搜索覆蓋的網(wǎng)站或網(wǎng)頁(yè)數(shù)目及范圍;
2)結(jié)果的準(zhǔn)確性,或者說相關(guān)度;
3)結(jié)果的全面性;
4)結(jié)果的時(shí)效性,比如說期望搜到最新的結(jié)果;
5)搜索的速度或者響應(yīng)時(shí)間
6)易用性
7)鏈接有效性、穩(wěn)定性等
對(duì)于這些我們可以一個(gè)個(gè)設(shè)計(jì)用例來(lái)測(cè)
比如
1.找一個(gè)很偏僻的小網(wǎng)站看看能不能被搜到。
2.挑一系列常用關(guān)鍵字,然后人工檢查搜索結(jié)果的相關(guān)度。
3.挑一系列常用關(guān)鍵字,然后人工檢查搜索結(jié)果的排序等等
其中的問題是,
1.這個(gè)偏僻的小網(wǎng)站應(yīng)不應(yīng)該被搜到呢。
2.我怎么知道這個(gè)搜索結(jié)果的相關(guān)度哪個(gè)應(yīng)該算高,哪個(gè)應(yīng)該算低。
3.我怎么知道這個(gè)搜索結(jié)果的哪個(gè)應(yīng)該排第一哪個(gè)應(yīng)該排第二。等等
這里應(yīng)該超出黑盒測(cè)試的范圍了。
假如能用白盒測(cè)試/自動(dòng)化測(cè)試。常用方法有:
1.使用另一套完全不同的邏輯實(shí)現(xiàn)一套代碼,來(lái)對(duì)比結(jié)果。(不常用,代價(jià)太高)
比如說為了測(cè)試百度,我們自己寫了一個(gè)谷哥欠,然后對(duì)比兩者的搜索結(jié)果
2.按照現(xiàn)有代碼設(shè)計(jì)時(shí)的邏輯,人工計(jì)算驗(yàn)證該代碼是否運(yùn)行正確。(太難算。)
3.設(shè)計(jì)一些有一定通用性的規(guī)則,然后校驗(yàn)。(推薦)
比如說,給你一個(gè)數(shù)據(jù)庫(kù),告訴你里面所有記錄都是數(shù)字,那么寫腳本檢查數(shù)據(jù)庫(kù)的記錄,當(dāng)發(fā)現(xiàn)有字母時(shí),腳本可以報(bào)異常。
同樣,在百度里搜索一個(gè)關(guān)鍵字,然后根據(jù)預(yù)先定義好的某個(gè)規(guī)則,比如搜索結(jié)果頁(yè)面在相關(guān)度一樣的時(shí)候應(yīng)當(dāng)以時(shí)間為排序標(biāo)準(zhǔn),檢查出結(jié)果里有明顯違背時(shí),腳本可以報(bào)異常。
4.其他?(我上面都是自己根據(jù)自己經(jīng)驗(yàn)總結(jié)的,真實(shí)情況畢竟不清楚)
5.還有特別提一下易用性。
百度里面有:
1.下拉框提示
2.搜索結(jié)果頁(yè)提示”要找的是不是xxxx“
3.搜索結(jié)果頁(yè)提示”關(guān)鍵字里去掉引號(hào)可以找到更多xxx“
4.搜索結(jié)果頁(yè)提示”您輸入的網(wǎng)址是不是xxx“
等等,都可以用探索性測(cè)試的方法試出來(lái)。然后針對(duì)他們?cè)O(shè)計(jì)對(duì)應(yīng)的case。
×××××××××××××××××××××××××××××××××××
這樣就完了?
沒呢。。。百度首頁(yè)還有用戶登錄、導(dǎo)航、天氣預(yù)報(bào)、隨心聽、自定義主頁(yè)、各種鏈接等等。
就光從功能測(cè)試角度來(lái)看也有很多東西需要測(cè)。
版權(quán)聲明:本文出自 zhangting85 的51Testing軟件測(cè)試博客:http://www.51testing.com/?207573
原創(chuàng)作品,轉(zhuǎn)載時(shí)請(qǐng)務(wù)必以超鏈接形式標(biāo)明本文原始出處、作者信息和本聲明,否則將追究法律責(zé)任。
posted on 2013-09-10 11:18 順其自然EVO 閱讀(4575) 評(píng)論(0) 編輯 收藏