qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請訪問 http://qaseven.github.io/

          一道面試題:百度首頁的測試用例設(shè)計

           最近我被裁員,去面試的時候有這個題目:

            說一下對百度首頁的測試用例設(shè)計。

            以下內(nèi)容除說明百度出來的以外全部原創(chuàng)。。。拋磚引玉,僅供參考。

            ××××××××××××××××××××××××××××××××××

            先來一個一般上測試人員最喜歡最常用的測試方法,邊界值法。

            文本框邊界值,一般可以測試一下輸入字符的數(shù)量。

            探索過程:

            1.不輸入文字,直接按搜索----->頁面刷新,無變化---->結(jié)論1

            2.復(fù)制粘貼一段很長的中文進入文本框----->被百度自動截取其中前100個字-->結(jié)論2

            3.按下搜索按鈕,百度跳轉(zhuǎn)到搜索結(jié)果頁面,并提示“"××" 及其后面的字詞均被忽略,因為百度的查詢限制在38個漢字以內(nèi)”,將被自動截取的內(nèi)容復(fù)制粘貼到word,統(tǒng)計字數(shù)為38--->結(jié)論3

            5.復(fù)制粘貼一段很長的中文、英文、空格、符號混合文本進入文本框----->被百度自動截取其中一段內(nèi)容。---->結(jié)果截取了100個字--->結(jié)論4

            6.復(fù)制粘貼38個漢字進入搜索文本框,并中間加入62個連續(xù)空格后按下搜索----->搜索結(jié)果里最后一個漢字被忽略,因為前面有37個漢字加1個合并后的空格長度已達38.并且在文本框里原來62個空格的位置現(xiàn)在顯示一個空格--->結(jié)論5

            關(guān)于文本框字符數(shù)的結(jié)論:

            1.最小輸入值為0個字;

            2.百度搜索文本框內(nèi)可輸入的最大字數(shù)是100個漢字;

            3.百度搜索文本框的輸入值在點擊搜索按鈕后,會被截取前38個漢字,其后面的字詞均被忽略;

            4.任意一個中文、英文、符號、空格在輸入進文本框內(nèi)第一次計數(shù)時均視同一個漢字;

            5.連續(xù)的空格在點擊搜索按鈕后進行搜索時會自動合并,并轉(zhuǎn)化一個單獨的空格。

            根據(jù)上述探索結(jié)果設(shè)計的文本框邊界值測試用例(思路):

            1.輸入0個漢字:

            什么也不輸入直接點擊搜索按鈕,點擊后應(yīng)刷新首頁

            2.輸入38個漢字:

            輸入38個漢字后點擊搜索按鈕,成功跳轉(zhuǎn)到搜索結(jié)果頁面

            3.輸入39個漢字:

            輸入39個漢字后點擊搜索按鈕,跳轉(zhuǎn)到搜索結(jié)果頁面,并在結(jié)果頁面上顯示“"×" 及其后面的字詞均被忽略,因為百度的查詢限制在38個漢字以內(nèi)”

            4.輸入100個漢字:

            輸入100個漢字后點擊搜索按鈕,跳轉(zhuǎn)到搜索結(jié)果頁面,并在結(jié)果頁面上顯示“"×" 及其后面的字詞均被忽略,因為百度的查詢限制在38個漢字以內(nèi)”

            5.嘗試輸入100個以上的漢字:

            嘗試輸入101個漢字,預(yù)期結(jié)果為嘗試失敗,只能輸入100個漢字。

            6.英文、符號的測試:

            以英文、符號作為輸入值,重復(fù)用例1到5,預(yù)期結(jié)果應(yīng)與漢字相同。

            7.空格的測試:

            復(fù)制粘貼38個漢字進入搜索文本框,并中間加入62個連續(xù)空格后按下搜索,預(yù)期搜索結(jié)果里最后一個漢字被忽略,并在結(jié)果頁面上顯示“"×" 及其后面的字詞均被忽略,因為百度的查詢限制在38個漢字以內(nèi)”同時,連續(xù)的空格應(yīng)在搜索后的文本框內(nèi)顯示為一個空格。

          可能的問題或者待改進的地方:

            1.結(jié)論4導(dǎo)致百度搜索支持的英文關(guān)鍵字長度不足。與同類網(wǎng)站谷歌的對比,同樣一段英文(約十幾個單詞)在谷歌里能正常搜索,在百度里會被截取前面38個字母。

            2.結(jié)論1中不輸入關(guān)鍵字點搜索沒有任何提示,如果有提示會不會好一點。與同類網(wǎng)站谷歌對比,百度有明顯的刷新頁面動作,谷歌沒有刷新頁面(沒有刷新頁面進度條)。如果沒有刷新頁面動作會不會更好。

            ×××××××××××××××××××××××××××××××××××

            然后是另一個測試人員最愛的測試,等價類法。

            一般面試另一個經(jīng)常出的題目就是問一個三角形,輸入三個數(shù)字作為邊長,然后要判斷會變成正三角,等腰三角,還是普通三角,還是不能變成三角來劃分等價類。這種case的設(shè)計就是基礎(chǔ)的基礎(chǔ)。

            但如果測百度首頁就比較復(fù)雜。因為用戶輸入值太多。

            等價類可以這么劃:

            按區(qū)間劃分。

            按數(shù)值劃分。

            按數(shù)值集合劃分。

            按限制條件或規(guī)劃劃分。

            按處理方式劃分。

            三角形問題顯然按照數(shù)值和區(qū)間劃分了。但百度首頁的話就難劃了。

            按區(qū)間劃 1.有意義的關(guān)鍵詞做輸入值,預(yù)期能搜出結(jié)果

                    2.無意義的關(guān)鍵詞做輸入值(比如用臉滾鍵盤來輸入一些亂七八糟的關(guān)鍵字),預(yù)期搜不出任何結(jié)果

            按數(shù)值劃,不合適。

            按數(shù)值集合劃分,不合適。

            按限制條件或規(guī)劃劃分,不合適。

            按處理方式劃分,需要知道百度是怎樣處理關(guān)鍵字的。也就是說知道內(nèi)部代碼邏輯,有幾種處理方式的話就可以劃幾個等價類,但是我不知道。。。

            ×××××××××××××××××××××××××××××××××××

            第三種方法:寫case就是按照需求和標準來寫嘛

            對于搜索引擎的測試需求和評價指標隨便百度了一下就找到了:

            1)搜索覆蓋的網(wǎng)站或網(wǎng)頁數(shù)目及范圍;

            2)結(jié)果的準確性,或者說相關(guān)度;

            3)結(jié)果的全面性;

            4)結(jié)果的時效性,比如說期望搜到最新的結(jié)果;

            5)搜索的速度或者響應(yīng)時間

            6)易用性

            7)鏈接有效性、穩(wěn)定性等

            對于這些我們可以一個個設(shè)計用例來測

            比如

            1.找一個很偏僻的小網(wǎng)站看看能不能被搜到。

            2.挑一系列常用關(guān)鍵字,然后人工檢查搜索結(jié)果的相關(guān)度。

            3.挑一系列常用關(guān)鍵字,然后人工檢查搜索結(jié)果的排序等等

            其中的問題是,

            1.這個偏僻的小網(wǎng)站應(yīng)不應(yīng)該被搜到呢。

            2.我怎么知道這個搜索結(jié)果的相關(guān)度哪個應(yīng)該算高,哪個應(yīng)該算低。

            3.我怎么知道這個搜索結(jié)果的哪個應(yīng)該排第一哪個應(yīng)該排第二。等等

            這里應(yīng)該超出黑盒測試的范圍了。

            假如能用白盒測試/自動化測試。常用方法有:

            1.使用另一套完全不同的邏輯實現(xiàn)一套代碼,來對比結(jié)果。(不常用,代價太高)

            比如說為了測試百度,我們自己寫了一個谷哥欠,然后對比兩者的搜索結(jié)果

            2.按照現(xiàn)有代碼設(shè)計時的邏輯,人工計算驗證該代碼是否運行正確。(太難算。)

            3.設(shè)計一些有一定通用性的規(guī)則,然后校驗。(推薦)

            比如說,給你一個數(shù)據(jù)庫,告訴你里面所有記錄都是數(shù)字,那么寫腳本檢查數(shù)據(jù)庫的記錄,當發(fā)現(xiàn)有字母時,腳本可以報異常。

            同樣,在百度里搜索一個關(guān)鍵字,然后根據(jù)預(yù)先定義好的某個規(guī)則,比如搜索結(jié)果頁面在相關(guān)度一樣的時候應(yīng)當以時間為排序標準,檢查出結(jié)果里有明顯違背時,腳本可以報異常。

            4.其他?(我上面都是自己根據(jù)自己經(jīng)驗總結(jié)的,真實情況畢竟不清楚)

            5.還有特別提一下易用性。

            百度里面有:

            1.下拉框提示

            2.搜索結(jié)果頁提示”要找的是不是xxxx“

            3.搜索結(jié)果頁提示”關(guān)鍵字里去掉引號可以找到更多xxx“

            4.搜索結(jié)果頁提示”您輸入的網(wǎng)址是不是xxx“

            等等,都可以用探索性測試的方法試出來。然后針對他們設(shè)計對應(yīng)的case。

            ×××××××××××××××××××××××××××××××××××

            這樣就完了?

            沒呢。。。百度首頁還有用戶登錄、導(dǎo)航、天氣預(yù)報、隨心聽、自定義主頁、各種鏈接等等。

            就光從功能測試角度來看也有很多東西需要測。

          版權(quán)聲明:本文出自 zhangting85 的51Testing軟件測試博客:http://www.51testing.com/?207573

          原創(chuàng)作品,轉(zhuǎn)載時請務(wù)必以超鏈接形式標明本文原始出處、作者信息和本聲明,否則將追究法律責任。










          posted on 2013-09-10 11:18 順其自然EVO 閱讀(4567) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          <2013年9月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 周口市| 武定县| 隆安县| 克什克腾旗| 扶余县| 福州市| 阿克苏市| 定日县| 滁州市| 安泽县| 商城县| 资源县| 新竹县| 遵义县| 同仁县| 调兵山市| 甘泉县| 和平县| 巴中市| 珠海市| 武邑县| 大港区| 杭锦后旗| 太仓市| 凤城市| 闽清县| 安图县| 鄄城县| 九江市| 漠河县| 苍山县| 来宾市| 疏勒县| 锡林浩特市| 桓台县| 军事| 通海县| 梁平县| 灵石县| 新干县| 图木舒克市|