軟件測試用例心得 軟件測試
關于測試用例如何編寫,測試組做過培訓,當然以后也會繼續,這幾天集中精力在做UEM8.0R6的系統測試用例的走查,發現一些小的問題,總結如下:
1、期望結果中含執行步驟。期望結果即輸出。如果把輸入放到輸出中會讓測試執行人員無所適從。
2、兩種情形在用例中是相連的兩個步驟。界面上經?梢钥吹絻蓚或以上選擇項,確定or取消等。用例編寫人員為了方便,經常這樣寫,前一個步驟,點擊“確定”,期望結果A,接著下一個步驟,點擊“取消”,期望結果B,可執行中的實際情況是,當我們點擊了“確定”后,整個環境已經發生了很大的變化,往往需要重復前面很多步驟才能恢復到上次出現點擊確定or取消這種場景,設計測試用例的基本原則是執行人員可以按照測試步驟一一做起,所以當我們遇到這樣的情況,最好是寫上,重復以上步驟m-n,這樣用例才更完整。
3、反面用例。理論上每個需求至少應該有兩個用例,正面的和反面的,雖然在實際上尤其是我們這種測試環境下,不是所有的需求都有反面的用例,但至少輸入內容的時候應該有這樣的情況,比如輸入IP地址段,必須要有反面的用例。測試用例設計人員不能總指望執行人員自由發揮,應該盡可能全面的考慮所有可能的輸入和輸出。當然這方面的工作我們有些不足,下一階段,計劃進行測試用例公有庫的補充,比如IP地址輸入框應該如何測試等,也希望大家積極的提供素材。
4、多種情況設計多用例。我們經常遇到這樣的情況,一個完整的操作流程中,其中幾步分別有不同的選擇方式,比如軟件分發,可信授權。對于這種的流程我建議應該這樣編寫測試用例,首先是一個三級的用例,基本的授權過程,作為每次測試必須測試的用例,編寫一個模板,針對有不同選項的步驟用參數表示,然后每種不同的情況設置一個用例有針對性的單獨測試,比如授權時間到期,包括時間未到,時間處于有效期內,時間超過有效期,并且對臨界點也有單獨的步驟測試,針對時間到期的處理方式,鎖定,自毀等又設置單獨的用例,在測試每個用例的時候,其他過程均使用默認的情況執行操作,注意用例必須對每個分支都進行覆蓋,這一類用例屬于2級;最后是混合測試,也就是每個步驟選擇不同的情況,猴子測試不同的組合對結果的影響,這算是一級的用例,事先不需要窮舉所有可能的組合加入用例庫,主要取決于測試執行人員的測試敏感度,但是在發現bug后一定要把用例添加到用例庫中,屬于一級的用例。
5、對文檔中的文字和數字敏感。當文檔中出現該字段長度260等數字的時候,千萬不能馬虎,在用例中一定要對這個數字設計相關的測試過程。同理文檔中的描述信息都應該在用例中有所體現。
6、注意文檔中注明的相關文檔信息。比如UEM8.0R6概要設計中提到數據庫表的改動見***文檔,但是在用例中我沒有看到這些改動信息在用例中的體現,我們不能指望測試執行人員去看每份文檔,而且最大的可能是他壓根不知道文檔的存在,因此我們在用例的備注信息中應該提醒執行人員參考文檔的信息,最重要的是這些改動都寫到用例中,不要讓每個執行人員花太多心思琢磨設計去測試的問題。
測試用例的編寫和維護是個相當大的工作,而且測試用例編寫的質量直接決定了系統測試的質量,本次測試用例走查的過程中對測試用例的改動很大,原因很多,包括我們以前對這塊重視程度不夠,包括留給用例設計人員的時間有限等等,但是我覺得這種返工是值得的,如果這樣時候不做這樣的工作,等用例到開發組走查會浪費大家更多的工時,等系統測試階段工時又會被無限放大,對以后用例維護也會帶來更多的工作量。所以我希望以后測試用例的設計人員一定要多思考,多讀幾遍相關的設計文檔。當然了這些問題實際上也是我們都容易出錯的地方,因此寫出來大家共勉。
文章來源于領測軟件測試網 http://www.anti-gravitydesign.com/