<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

    blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問 http://qaseven.github.io/

    巧測(cè)字段最大長(zhǎng)度

    相信在測(cè)試過程中,大家都會(huì)碰到一個(gè)費(fèi)時(shí)又枯燥的工作,即“測(cè)試輸入項(xiàng)可接受的最大長(zhǎng)度是否符合需求。”尤 其是當(dāng)一個(gè)新系統(tǒng)剛開發(fā)的時(shí)候,有大量的字段需要測(cè)試。而當(dāng)眾多的新功能需要測(cè)試的時(shí)候,這個(gè)測(cè)試點(diǎn)常常優(yōu)先級(jí)不高,測(cè)試人員往往只是挑了其中一些重要的 或者偶然碰到的字段進(jìn)行了測(cè)試,有時(shí)甚至忘記這檔子事了。不幸的是,根據(jù)來自生產(chǎn)環(huán)境的缺陷報(bào)告,我們幾乎每個(gè)項(xiàng)目都碰到過由于用戶輸入了超長(zhǎng)的字段而產(chǎn) 生的產(chǎn)品缺陷,有的甚至嚴(yán)重妨礙了用戶操作。這個(gè)差異告訴我們“應(yīng)該要測(cè)試字段的最大長(zhǎng)度,而且要用一種更簡(jiǎn)單易行的辦法使得做這個(gè)工作的代價(jià)較低。”

     

    James Bach在他的網(wǎng)站(http://www.satisfice.com/tools.shtml)上發(fā)布了他寫的一個(gè)小程序Perlclip,可以用來生成一定規(guī)律的指定長(zhǎng)度的字串,放在windows的剪貼板中,然后你可以粘貼到任何你想要輸入的字段中。這是一個(gè)適用范圍比較廣的小工具,如果你還在自己手工輸入長(zhǎng)串?dāng)?shù)據(jù),并且用word去計(jì)算這個(gè)字串的長(zhǎng)度。那么建議你至少可以向前走一步,試試James的工具。

    有時(shí),我們還需要貪心一點(diǎn)。想想,James工具只能一個(gè)一個(gè)地準(zhǔn)備數(shù)據(jù),而把這些數(shù)據(jù)粘貼到對(duì)應(yīng)的輸入框里還是需要手工來做。看數(shù)據(jù)字典、生成字串、粘貼、提交、驗(yàn)證;看數(shù)據(jù)字典、生成字串、粘貼、提交、驗(yàn)證。。。如此五步需要大量重復(fù),是否也可以自動(dòng)化呢?讓我們以一個(gè)基于ExtJS的web應(yīng)用為例,借助Sahi這個(gè)開源的輕量級(jí)web自動(dòng)化工具,來嘗試測(cè)試字段最大長(zhǎng)度的更省力的辦法。

    思路1: 從頁(yè)面元素得到它的長(zhǎng)度限制,然后生成一個(gè)最大長(zhǎng)度的字串和一個(gè)最大長(zhǎng)度加1(此處用邊界值法簡(jiǎn)化)的字串,進(jìn)行測(cè)試。但困難在于頁(yè)面元素的長(zhǎng)度限制在UI層得不到,只好放棄。

    思路2:在整個(gè)頁(yè)面的字段中找到那個(gè)允許長(zhǎng)度最長(zhǎng)的字段,然后以這個(gè)最長(zhǎng)的長(zhǎng)度加1的隨機(jī)串去填充各個(gè)某種特定輸入類型(如textbox或者textarea)的所有字段,保存,看是否每個(gè)字段都報(bào)錯(cuò)。報(bào)錯(cuò)時(shí)頁(yè)面應(yīng)該提示數(shù)據(jù)非法(所有有長(zhǎng)度校驗(yàn)的字段都失敗),且此時(shí)失敗的字段個(gè)數(shù)及相應(yīng)的提示(最大長(zhǎng)度是多少)應(yīng)與數(shù)據(jù)字典一致。(需要人工檢查)如果DB出了異常,我們應(yīng)該可以從服務(wù)器返回的信息或者異常的日志中知道哪個(gè)字段出錯(cuò)。

     

    這個(gè)思路沒有大的問題,但是在我們具體的程序?qū)崿F(xiàn)技術(shù)下碰到了兩個(gè)問題。一、我們程序的頁(yè)面上有些list因?yàn)橐彩莟extbox類型,所以被賦了值非法的長(zhǎng)值。這并不是我們想要的,因?yàn)樗逊欠ㄖ档男r?yàn)的和長(zhǎng)度的校驗(yàn)揉雜在一起了。所以,我通過數(shù)據(jù)字典那邊只抽出需要校驗(yàn)自由輸入的長(zhǎng)度的字段來屏蔽這個(gè)問題。二、我發(fā)現(xiàn)一些系統(tǒng)生成的只讀的textbox字段,如某對(duì)象的ID,不應(yīng)該通過我們的Sahi程序?qū)⑺闹敌薷牡簟_€有一些UI不可見的元素,如開發(fā)人員設(shè)計(jì)中特意用到的一些oid,因?yàn)橐彩莟extbox類型,如果用我們的長(zhǎng)字串代替了就會(huì)出錯(cuò)。所以我僅僅對(duì)UI可見的且非只讀的textbox來做。經(jīng)過上述修正,最后我的方法如下:

     

    準(zhǔn)備工作:

    1. 準(zhǔn)備一個(gè)包含兩列的excel,第一列是需要驗(yàn)證字段長(zhǎng)度的字段名,第二列是該字段允許的最大長(zhǎng)度。當(dāng)然,你也可以準(zhǔn)備一個(gè)三列的excel,其中多一列字段的類型,以便你既可以生成字串又可以生成數(shù)字。

     

    步驟:

     

    1.   打開一個(gè)待測(cè)試的頁(yè)面

    2.   跑驗(yàn)證字段長(zhǎng)度的腳本

    a.   excel中每個(gè)頁(yè)面label對(duì)應(yīng)的textbox都填上excel中指定長(zhǎng)度的字符串,然后一起保存。預(yù)期結(jié)果應(yīng)該是保存成功(不因?yàn)樽侄伍L(zhǎng)度的校驗(yàn)而失敗)。以此方法還可以順便就把label拼寫錯(cuò)誤(UI label與數(shù)據(jù)字典label匹配不上)的情況輕松地暴露出來。

    b.   excel中每個(gè)頁(yè)面label對(duì)應(yīng)的textbox都填上excel中指定長(zhǎng)度再加1的字符串,觀察系統(tǒng)行為。如果在前臺(tái)已經(jīng)做了校驗(yàn),則觀察前臺(tái)的提示。如果前臺(tái)不會(huì)禁止掉用戶的超長(zhǎng)輸入,則通過保存來提交后臺(tái),預(yù)期結(jié)果應(yīng)該是保存失敗。

     

     

    posted on 2011-10-25 14:46 順其自然EVO 閱讀(391) 評(píng)論(0)  編輯  收藏 所屬分類: 測(cè)試學(xué)習(xí)專欄

    <2011年10月>
    2526272829301
    2345678
    9101112131415
    16171819202122
    23242526272829
    303112345

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 老牛精品亚洲成av人片| 亚洲日韩乱码中文无码蜜桃臀| 天天爽亚洲中文字幕| 99热在线精品免费播放6| 国产亚洲一区二区手机在线观看| 亚洲av成本人无码网站| 在线观看免费亚洲| 亚洲av无码av在线播放| 在线观看国产情趣免费视频| 美女露100%胸无遮挡免费观看| 成人永久免费高清| 免费一级毛片在线播放视频免费观看永久| 成在线人永久免费视频播放| 亚洲a无码综合a国产av中文| 亚洲一级片内射网站在线观看| 好吊色永久免费视频大全| 久久精品亚洲男人的天堂| 中出五十路免费视频| 久久久亚洲精品国产| 亚洲免费黄色网址| 国产精品亚洲自在线播放页码| 成人免费淫片在线费观看| 老外毛片免费视频播放| AV在线亚洲男人的天堂| 91在线免费视频| 亚洲图片中文字幕| 国产成人免费a在线视频app| 羞羞视频免费网站在线看| 亚洲一卡2卡三卡4卡有限公司| 无码区日韩特区永久免费系列| 亚洲人成人伊人成综合网无码 | 国产精品免费无遮挡无码永久视频| 亚洲av成人无码久久精品| 手机在线看永久av片免费| 白白色免费在线视频| 久久久久亚洲精品成人网小说| 亚洲人成网站免费播放| 免费又黄又爽又猛大片午夜| 亚洲成a人片在线观看无码| 免费激情视频网站| 免费毛片在线看不用播放器 |