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

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

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

    qileilove

    blog已經轉移至github,大家請訪問 http://qaseven.github.io/

    霜波說測試——優秀的測試用例


      測試工程師有一樣很重要的工作就編寫測試用例。 測試用例是對需求的另一種描述,它能引導大家進一步加深對系統的理解和對特性的全面關注,從而幫助產品和開發重新審核需求的合理性和一致性,所以應該是測 試工程師最重要的一項產出。一般的測試用例分為輸入,行為,和期望結果三個部分。這三個部分通常的測試用例都能滿足,但是怎樣的測試用例才能算上優秀的測 試用例呢?基于以往之測試經驗,我總結了優秀測試用例的幾個特點。

      1、正確性:毫無疑問,測試用例 必須是需求的正確描述。但是我們往往忘記了多想一步:這是用戶正確需要的嗎?我曾經有個一個失敗的testcase,當一個條件輸入異常的時候系統返回 -1給前端接口,然后前端返回錯誤信息,這是當時對異常的處理需求,可是如果多想一步,當一個條件異常的時候難道我們不能返回滿足部分條件的結果給用戶 嗎?讓用戶的體驗更加良好嗎?

      2、完整性:就測試用例本身而言,是無窮盡的,只要是鍵盤的任意組合都可以算作測試用例。而一個優秀的測試工程師就是從無窮中找到最能保證質量,最能發現bug的測試用例出來,發現無窮的最小集,通常功能測試用 例的找尋方法有等價類和邊界值是最簡單的方法,建議結合使用,先劃分等價類,再把等價類中的邊界值找出來。我見過很多在=和>=之間徘徊的bug。 正交法出來的用例一般太多,所以需要測試工程師在正交法的結果中再做組合,建議結合錯誤定位法減少用例的執行。狀態圖在數據統計,結算中的使用概率最高。 每個狀態和流程都需要一一考慮正常和異常的分支,正常的流程一個靠譜的開發能自己保證,但是異常的分支很少有開發考慮清楚,這就是體現測試工程師價值的地 方了。但是完整性絕不僅僅是功能測試,除了功能測試之外,常見的還有能測試安全測試,兼容性測試,安裝友好測試,地域語言測試和用戶體驗測試(usability)。

      3、輸入具體:對于這三個部分我們都希望它是固定的,具體的,比如輸入框的輸入,我們可以寫成具體“諾基亞”,但是不要寫“正確的輸入”,或者“中文的輸入”,這些都會導致測試用例的不確定性。模糊的輸入應該在具體輸入的上一級結構,作為測試的思路和分類使用。

      4、用詞無歧義:很多詞在不同場景會有不同的含義,比如價格一詞在不同的表中就代表不同的價格,甚至在同一表中也有原始價格和賣出價格,所以應該盡量具體的描述關鍵詞的具體信息,如果能貼上專用的id和原始表中的item會對避免歧義有很大的幫助。

      5、用例細化:輸入的一種組合,或者一條流程線對應一個測試用例,盡量不要在一個用例中融和多種情況,在自動化測試的腳本中為了提高效率我們會在一個自動化腳本中融入各種情況的輸入,然后一個動作,所有的輸出一次生成,針對這種情況,建議在腳本中對各種輸入對應的案例一一備注說明,運行失敗的時候也方便新人定位問題。

      6、判斷點準確無歧義:我經常看到這樣的檢查點:“結果正確”,“速度合理”,這些檢查點對其他人沒有絲毫的幫助。所以應該盡量做出讓機器也能識別的檢查點,比如輸出“8”,或者“rt<30m”。

      7、合理區分優先級:在Bugfree中有4個級別的優先級,從1到4,1表示最重要的測試用例,4表示最不重要的測試用例。不同的缺陷管理平臺對優先級的定義會有不同,但是都會有優先級的概念。在時間緊張的情況下,優先級的作用會特別大,我們會優先執行比較重要,對系統功能,用戶體驗影響大的測試用例,將級別比較低的測試用例留在后期或者指派給一些新人來執行。

      加分點:

      1、用例自動化:有自動化腳本的地址能夠一一對應,對于淘寶的bugfree就已經和自動化框架mmt打通,通過測試用例可以直接鏈接到腳本,方便對用例的理解。

      2、記錄每輪的測試結果:對于有些功能的測試用例,結果只是簡單的pass我們不需要記錄,但是對于性能測試這些結果不確定的測試用例,如果能保留每次測試的結果對于之后的測試是很有幫助的。對于fail的部分用例,如果能和bug產生一一對應關系對之后的回歸也產生很大的便利。

      3、對檢查點進行邏輯說明:很多用例有了結果的檢查點,但是為什么是這個結果,對于新人來說必須重新翻看需求或者設計文檔才能理解。尤其對于算法的測試,理解需求和邏輯是一個比較痛苦的過程,如果能夠對每個結果進行一些備注和邏輯上的說明,會和方便自己今后以及新人對用例的理解。

       以上是對測試用例特性的一些總結,真正編寫測試用例的時候,mm圖由上到下的樹形結構會對測試用例的結構和思路提供很大的幫助,在測試用例評審的時候也 方便展示和說明,所以強烈推薦作為附件上傳。而且對系統越加深入的了解越能寫出完善的測試用例,很多開發錯誤的理解測試工程師只需要知道需求就可以了,不 需要對程序有代碼級別的了解,但是無數的實踐證明測試工程師越了解系統的設計,編碼的邏輯越能發現潛在的bug和風險。Unit test通 常由開發完成比較高效,但是Integration Test開始就必須有測試工程師開始真正介入,這期間能發現很多潛在的問題,如果把風險全部留到System Test的階段風險是很大的,大量case的回歸和問題的定位都會變得更加復雜,成本更加的巨大。所以在時間允許的情況下毫無疑問是前期的測試越完善整體 效率越高。

    posted on 2011-10-17 13:52 順其自然EVO 閱讀(156) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄

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

    導航

    統計

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产激情久久久久影院老熟女免费| 免费成人高清在线视频| 亚洲成av人影院| 亚洲成色在线综合网站| 国产精品成人啪精品视频免费| www.亚洲一区| 日本高清不卡中文字幕免费| 免费中文字幕不卡视频| 色吊丝性永久免费看码| 亚洲中文久久精品无码ww16| 波多野结衣免费一区视频| 亚洲狠狠久久综合一区77777| 伊人久久免费视频| 亚洲精品美女久久久久| 57pao国产成永久免费视频| 亚洲精品午夜在线观看| 成年女人男人免费视频播放 | 亚洲国产最大av| 成人女人A级毛片免费软件| 亚洲精品无码久久久久A片苍井空| 香蕉高清免费永久在线视频| 粉色视频在线观看www免费| 一个人看的免费视频www在线高清动漫 | 久久免费精彩视频| 亚洲精品亚洲人成在线观看麻豆| 猫咪社区免费资源在线观看| 亚洲av永久无码一区二区三区| 免费大香伊蕉在人线国产| 一级午夜免费视频| 亚洲成人午夜在线| 99久久综合国产精品免费| 羞羞视频网站免费入口| 亚洲自偷自偷在线制服| 99精品一区二区免费视频| 77777午夜亚洲| 亚洲国产精品毛片av不卡在线 | 亚洲精品国产第1页| 日本一区免费电影| 免费a级毛片无码a∨免费软件| 亚洲AV色吊丝无码| 久久亚洲精品无码观看不卡|