關于測試的只言片語
對于測試人員來說,對軟件能否實現預期的功能是測試的重點。除了功能測試之外,根據用戶或者客戶的需求,在有的產品或者項目中,可能還會有性能測試、安全測試等。盡管有很多不同的測試內容,但總結出來可以歸納為兩種類型:
一種是可以依據具體指標驗證的測試,例如功能測試,某個功能有沒有實現,功能是否正確實現,我們都可以有一個明確的依據進行參考確認,再比如性能測試,在指定的環境、指定的條件,系統是否達到了指定的性能指標,都有量化的數據可以驗證。這種可以依據具體指標驗證的功能,無論是對于開發人員去實現,或者是對于測試人員進行驗證,都是可以做到具體化,便于開發,也便于測試。
還有一種測試類型,就是不便于通過量化的指標進行測試。如顏色、樣式、按鈕的大小和位置。比如顏色的設置,客戶對某個界面的顏色要求是紅色的,開發人員根據自己的理解可能設計為深紅色,而測試人員在測試的時候根據自己的經驗覺得淺紅色更適合。這樣測試和開發在對顏色的認識和理解上不一致,就可能都沒法說服對方,沒法達成一致的共識,增加溝通的時間,降低項目的研發效率。
以上關于功能和界面方面的測試都只是我們測試中一小部分的內容,還有其它方面的內容只是可能我們還沒有接觸到。玩過微信搖一搖的朋友都知道,我們在進入搖一搖界面搖動手機的時候,會收到到一個來福槍的聲音。我想,在最初開發搖一搖功能的時候,肯定也不是來福槍的音效,肯定也是在很多種聲音中經過篩選并通過使用驗證后才最終確定下來的。那么,對于類似這樣的音效,是否需要測試呢?如果需要測試,作為測試人員,又該拿什么標準來測試嗎?仍然以微信搖一搖功能為例,搖一搖的界面很簡單,沒有文字說明告訴用戶這個功能的作用是什么,也沒提醒用戶怎么去使用,但是,作為一個初次打開該功能的用戶,看到搖一搖的圖片都會下意識的去搖動一下。而這樣的設計的初衷,都是力求簡單。假設我們也在微信項目組,在微信剛開始研發的階段,其中關于搖一搖功能的要求,有一項要求是界面簡單,易于學習和操作。而這個需求肯定是沒法進行量化的,不同的人有不同的理解,那作為測試人員,怎么去對這個需求進行測試是一個需要考慮的問題。
之前有看過一篇報道,是關于深圳一座摩天大樓被發現使用了海沙(攪拌和混凝土所用的沙,是來自海邊且未經過處理的海沙,而非一般常用的河沙,海沙鹽分含量高,容易對鋼筋產生腐蝕,進而影響到建筑物的使用壽命),后來是被相關部門勒令整改,并對當時使用海沙的部分做了技術處理。后來的處理結果怎么樣,沒去關注,關注的是摩天大樓作為一個硬件工程,建設過程中如果有了缺陷,怎么去修復,對于這樣影響到工程質量的缺陷,又該怎么樣去預防。摩天大樓不像軟件產品,出現了缺陷對有問題的代碼做重新編寫就能夠解決問題,考慮到時間成本和費用成本,對摩天大樓推到重建的可能性很小,除非有很重大的問題。
摩天大樓等硬件工程的建設和軟件產品的研發,雖然過程都不一樣,但都有一個共通的東西,那就是質量的保證。怎么樣將硬件產品的質量控制方法借鑒到軟件工程的質量控制,是一個值得學習的過程。平時注意觀察的話,可以發現生活中有很多場景需要測試工作的介入,或者用到測試思維。