• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    做自動化測試的原因

    發布: 2008-6-23 17:50 | 作者: 網絡轉載 | 來源: 網絡轉載 | 查看: 78次 | 進入軟件測試論壇討論

    領測軟件測試網


    自動化測試的原因

    作者: papercrane    來源: papercrane的專欄


            不少介紹微軟測試過程的文章都強調大量運用自動化測試,給人一個只要有了自動化測試,整個測試過程就得到保證的印象。不可否認自動化測試的作用,但是對于下面兩個問題:
            “自動化測試總是任何時間內、任何條件下、任何項目階段中的最佳選擇嗎?”
            “進行/不進行自動化測試的決策是怎樣做出來的?”
            答案會是什么?
            為了回答這兩個問題,我想分享一個真實的微軟測試項目的經驗。
            在這個項目中需要關注兩件事情:設置向導和客戶體驗改進計劃。
            設置向導,或者安裝向導,相信安裝過軟件的朋友都知道,就是引導用戶完成一系列操作的一種界面,具有連續出現的窗口,每個呈現不同的內容,使用戶每次只關注特定的項目從而容易完成復雜的全部操作。
            客戶體驗改進計劃(Customer Experience Improvement Program,簡稱CEIP)就不是那么為大眾所了解。實際上Windows系統中有這么一個缺省關閉的選項,如果用戶打開了,關于用戶如何使用微軟軟件的信息,例如常點擊的菜單項有哪些、缺省選項被改動為哪些值等等,會被Windows系統自動記錄下來并定期發送到微軟的服務器。專業分析師會解讀這些數據,從中發現微軟軟件設計上的潛在缺陷:它們會導致用戶迷惑、誤解,以致無法正確使用某些功能。
            這里要測試的功能,就是為某處設置向導添加CEIP的記錄動作。第一次接觸這個新事物,不少測試工程師的通常反應是,模擬用戶在設置向導中的操作,然后觀察CEIP的記錄數據對不對,完事。
            自動化測試更是小菜一碟:驅動用戶界面操作本不是難事,何況測試設置向導本身功能的工程師已經做好了一切,借花獻佛就好了;CEIP的記錄數據也是拿已經做好的函數讀一下記錄,然后跟預期數據比較就好了。
            表面看是如此,但如果這就是故事的全部,那就沒有說的必要了。實際上,這只是冰山浮在水面上的部分。
            先考慮一下兩個問題:
            這個功能沒測試好的后果是什么?
            CEIP是用于指導下個版本的可用性(Usability)設計的。如果里面的缺陷導致不準確的信息,那么CEIP分析師會被誤導從而得出不反映真實情況的結論。例如,本來用戶很常用的一個菜單項“打印”,被誤記錄為“屬性”的話,結論會是“打印”沒什么人去用,“屬性”倒有不少用處。那么開發下個版本的軟件時,根據這個“據說從真實的用戶統計數據得來”的結論,很可能“屬性”被放到顯眼處,很常用的“打印”反而被藏起來了。不要爭辯哦,這是被大量用戶數據所證實的嘛。所以,CEIP是把雙刃劍,不準確的數據比沒有數據更糟糕。
            這個功能沒在測試中發現的缺陷,會被誰、什么時候發現?
            很多測試中沒發現的功能缺陷,發布出去之后用戶遲早會發現。唯獨這種CEIP的功能,用戶除了打開或者關閉之外永遠不會去接觸:用戶為什么要關心CEIP記錄得對不對呢?事實上這些功能缺陷用戶不知道,微軟也不一定知道,只會根據CEIP數據調整設計。除非之后的若干個版本改得實在太過分以致怨聲載道,或者跟用戶調查的結論相差實在太大,才會驚覺可能是CEIP的問題。所以CEIP數據的缺陷,是一個不定延時引信地雷,埋下去就難以挖出來,而且要挖出來還極為麻煩:怎樣回應用戶“上幾個版本都是這樣的,我都習慣了為什么又要改”的質疑?“根據CEIP數據決定這樣改,但后來我們發現CEIP數據錯了”?(用戶一臉茫然:什么是CEIP數據?跟我有什么關系?什么叫做記錄我做過的事?你想說這是我自作自受的結果嗎?)
            綜上所述,這個功能不是對著界面點擊一通就能看出對不對的,測試人員還需要觀察記錄下的數據并與做過的操作相對照;測試用例需要持續的在多個版本中執行以防范回歸缺陷(Regression Bug);測試這個功能,防止缺陷被埋進去具有更高的價值,因為事后很難挖出來。
            表面上看,似乎自動化測試是板上釘釘的事:人工測試很難;還需要反復執行。但請考慮一下最初提到的一個問題:“自動化測試總是任何時間內、任何條件下、任何項目階段中的最佳選擇嗎?”
            回答這個問題之前,請先看看加入CEIP之后設置向導有什么變化:
            設置向導在每一頁收集用戶的輸入,直到“完成”按鈕被按下,然后拿著設置的數據往指定的地方一一寫入。加入CEIP之后,如果用戶按“后退”按鈕呢?
            放在以前,如果“前進”按鈕沒有按下,用戶輸入不會生效,所以“后退”就是界面改為前一頁,沒什么大不了的,F在就不一樣了,“后退”意味著某些狀態發生了變化,如果那些狀態要被CEIP記錄,那就是一個值得關注的問題。
            別忘了添加CEIP的初衷是暴露潛在的Usability缺陷。用戶成功的走過各個頁面并完成設置,這是需要記錄的成功案例;用戶感到迷惑不得不中途退出,這也是需要記錄的失敗案例;用戶后退到之前的頁面來重試,更是需要記錄的失敗案例。每個案例都需要記錄些什么數據,視情況而定,但不外乎“當時狀態”。
            請注意,沒有CEIP的時候,設置向導關注的是“最終狀態”;有CEIP的時候,還需要關注“當時狀態”。我要問一個問題,如果當初不考慮CEIP,一個設計設置向導的開發工程師,能一早想到要維護“當時狀態”的可能性有多大?
            顯然,這是一個非常容易引入缺陷的地方、非常需要在把缺陷埋進去之前就采取行動的地方。那么,自動化測試在這里能幫到我們什么?

     

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: 微軟 自動化 專欄 nbs papercrane


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>