標籤:
前言
學習軟體測試已經有幾周了。理論學習了很多,但是實際上自己動手去做的測試也就是兩次非常簡單的實驗。雖然只是兩次簡單的實驗,但是呢,兩個實驗給我的收穫是非常大的,讓我對軟體測試有了很多自己的想法。
一、非常大的工作量
軟體測試耗費的工作量與我想象中相比,差距真的很大。我之前一直非常輕視軟體測試這一環節,覺得這個環節可有可無。事實上,在我完成了一個程式,或者完成了一個項目之後,我並不會花費很多時間去系統地測試它。我覺得自己在寫代碼時就已經經過自測了,完成的程式應該並不會出現什麼嚴重的BUG。即使是我想要測試這個程式,應該也是一件比較簡單的事情,多耗費一點時間也就夠了。"測試不就是用一下就好了嗎?"當時是這樣想的。
事實上,我在做測試的時候,花在軟體測試上的時間甚至比寫代碼的時間還要多出很多。比如說之前做單元測試的時候,我寫了一個排序演算法的函數只用了5分鐘,最多不到10分鐘。而為了完成單元測試,我需要畫一個流程圖、再轉成有向圖,然後找到有效路徑並設計測試案例,最後再測試看結果。我沒有留意這些具體花了多少時間,但是至少也有半小時以上。當然我測試的函數是設計到演算法的函數,這樣的函數單元當然比較複雜,一般的函數應該比這簡單很多,花費的時間也要少很多。但是其花費的工作量還是很大的。
當然為了減少軟體測試的工作量,現在有很多的測試載入器和測試架構可以給我們用,我們也必須要學習如何更好的使用這些工具來簡化軟體測試的工作,提升軟體測試的效率。我們使用過的Visual Studio就可以幫著我們更快更好的完成軟體測試,極大提升軟體測試的效率。
二、人比機器更聰明
為了提升軟體測試的效率,我們必須依賴一些軟體測試的工具。但有些時候,我們並不能夠過分的相信機器,人永遠比機器更聰明。
這是我在做UI測試的時候發現的一件事:
前提:使用Visual Studio做自動化測試,對下面這個軟體進行編碼的UI測試;
沒有測試出任何問題,每一個按鈕都可以正常點擊進入,也可以正常返回。
但是我興緻來潮地做了一下AD Hoc Test,按照自己的想法隨便點的時候,試著改了一下螢幕的解析度,如下:
螢幕從1280x768改為了1920x1080,映像按鈕變形驗證,軟體無法正常使用。
利用工具的話就是這樣,只能發現你料想的到的錯誤,一些奇怪的錯誤很可能就無法發現,所以說,機器無法完全代替人類。
三、總結
軟體測試這門學科、或者說這門技術,是理論與實踐都非常重要的。只有完善的理論,才能讓我們更快更好的進行軟體測試,沒有理論來指導我們進行測試的話,軟體測試是非常困難的,很可能會花費大量時間卻沒有找出相應的BUG。而實踐,才能真讓我們擺脫理論,真正地學會怎麼進行軟體測試,才能最高效地測試出軟體的問題。
軟體測試-7 在實際測試時的一些想法