我談軟體測試

shbwf發表於2012-10-17

  在做軟體測試工程師的這幾年,收穫了不少,對軟體測試這一職業的理解也隨著工作經驗有這更加深入的瞭解,在這裡寫一篇關於“軟體測試”的小文,發表一下我個人的一些拙見,供大家探討學習之用。

  軟體測試

  什麼是軟體測試?其實現在很多人對軟體測試這一職業不是很瞭解,不知到底什麼是軟體測試

  關於軟體測試的定義有很多種,我個人覺的比較符合的是:“使用人工或者自動手段來執行或測試某個系統的過程,其目的在於檢驗它是否滿足規定的需求或弄清預期結果與實際結果之間的差別”。由於現在軟體發展的十分迅速,軟體的複雜度也越來越高,所以軟體測試現在也變的原來越重要,軟體測試貫穿於整個軟體生命週期,軟體測試並不侷限於程式測試,它還包括對相關的需求、文件的測試,也包括一些多樣化的迴歸測試、壓力測試、效能測試等。

  關於軟體測試理論知識在很多書中都有詳細的描寫,這裡就不摘抄了。但是根據我的經驗,想要做好軟體測試,深入瞭解軟體測試的理論知識是必不可少的,很多很多實際遇到的問題,都是由於對軟體測試的理論知識的不瞭解造成的。

  測試心理

  做好一名軟體測試人員,調整好心理是必須的。

  (1)“創造者”與“破壞者”

  在心理上,軟體開發和測試最大的區別在於前者是“創造者”而後者是“破壞者”。

  對於“創造者”而言,在心理上是不會對自己“創造”出來的產品進行破壞,就像每個人都會很愛惜自己的手工作品。而對於“破壞者”,心理上應該是屬於樂於看到自己測試的系統“崩塌”的場面,就像拿著別人的手工作品摔砸扔來證明那個手工不行一樣。

  又如在實際應用中,開發人員會說:“這個功能我測過好幾遍了,沒有問題了”,但測試軟體卻還是能在這個功能裡挑出很多的問題,原因在於,開發人員測試時,心理上的關注點放在了“證明這個功能點可行”上,往往會無意識的繞過一些可能會引起問題的操作;而測試人員的關注點放在了“使這個功能點不行”上,會嘗試各種可能造成問題的操作。所以“破壞者”需要利用你所有可知的測試策略與方法,對軟體進行不同程度的“破壞”,檢查各種狀況下,軟體的處理方式與系統的能力。

  (2)“第三方視角”&“好奇心”

  以第三方的眼光看軟體產品是測試人員與開發人員在進行測試時最大的區別。除了“第三方的視角”,測試人員在心理上還要時常保持“好奇心”,隨著測試的深入,測試人員應不滿足於現有的測試成果,“好奇心”會讓我想知道每次點選操作背後系統正在做些什麼,驅使我去找程式設計師問個究竟或者看他們的程式碼是怎麼寫的,看看能否進一步優化系統;“好奇心”會讓我想弄清楚究竟多少使用者同時操作,系統就會崩潰,能否應付系統上線後的正常使用;“好奇心”會驅使我在想使用者如果來使用軟體的時候會如何操作,會遇到什麼樣的問題,會不會覺得繁瑣。有了“好奇心”,才能讓系統在上線前就做了更加完備的測試。

  (3)“興趣”

  “興趣”也是關鍵,做過軟體測試工作的人知道,軟體測試有時候是一個很繁瑣枯燥的工作。比如測試一個表單填寫提交的功能,需要使用不同資料進行填寫並提交,所以非常有可能出現的情況是,這一星期,每天8小時的工作就是坐在電腦前,不停的做著“填寫表單並提交”這樣的簡單機械時勞動,這時,“興趣”是能讓我擺脫枯燥的方法。興趣是最好的老師,如果對測試工作真正感興趣的,就會不斷地研究測試相關的理論知識、技能技巧、工具等。就如上面說的“提交表單”測試,你可以把它當成一種挑戰,目標是搞垮它,這時,就可以嘗試各種各樣測試方法:嘗試不同的填寫數字、在填數字的地方寫英文、在寫英文的地方寫中文、將必填處留空提交、在填寫框中複製上一篇10W字的文章、上傳附件處上傳各式各樣的格式檔案、上傳50MB以上的圖片檔案、使用QTP反覆快速操作、使用QTP Object物件方法篡改頁面控制元件屬性提交、使用Loadrunner模擬大量使用者同時提交、提交的時候拔掉網線、用Sniffer或HttpWatch抓包進行觀察等等,有太多的方法可以嘗試,再使出渾身解數後,發現不知不覺中,已對錶單的各種場景進行了模擬測試,提交了大量表單,時間也覺得一個星期都不夠了呢。用一個比喻來說的話,如James A. Whittaker的《How to Break Software》說的,“像小時候我們拿上一個小玩具,可能就是一個陀螺,甚至是一個拖把,我們也會玩上半天也不會感到厭煩。我們會變著花樣來玩它,我們扮演各種角色,把它當成道具,玩得不亦樂乎。現在的測試工作是什麼,測試的物件有時候就是個玩具,只不過有些看起來過於嚴肅而已。如果我們能把軟體當成玩具來玩,那麼我們可能不會那麼快就認為測試已經可以停止了。因為還有那麼多有趣的玩法還沒嘗試。如果實在是玩膩了,還大可以把玩具狠狠地甩在地上,用腳踩幾下,看它有什麼反應。這也是一種測試方法!你是在進行破壞性測試!把你的小腳踏車一邊又一邊地從斜坡上衝下來,每次裝上不同重量的東西,看裝上哪一種東西會最快。哈哈,原來你是在做壓力測試!”

  PS:經常有初入軟體測試的人發郵件給我問,說做軟體測試是如此的枯燥無味,而且很難在一個軟體中找到更多的BUG了,或是開始抱怨迴歸測試的無聊時,我都會告訴他,你還沒找到軟體測試的“興趣”。非常有幸的,我發現了“它”,它讓我工作到現在仍能在軟體測試中找到無限的樂趣與挑戰,也是它,迫使我學習更多的知識。

  ......

本文轉載自51Testing軟體測試網,檢視全文:http://www.51testing.com/html/60/n-827660.html

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11323760/viewspace-1059617/,如需轉載,請註明出處,否則將追究法律責任。

相關文章