如何執行軟體測試

2021-05-27 11:13:59 字數 2164 閱讀 5129

**:

我在乙個公司已有八年,這八年我見過不少剛剛開始工作測試人員,也見過一些非常資深和優秀的測試人員,也見過不少無法成長起來的測試人員。很多測試人員技術背景很強,操作能力也不錯,但就是很難發現問題,為什麼呢?

我們就來談談怎樣執行好測試吧,需要培養哪些能力。

工作態度和技術背景就不去說它了,做任何工作都要有好的工作態度,如果只是想混日子,無論做什麼工作都不會有長進的。技術背景當然也是需要的,測試人員可以不如開發人員深入,比如開發某些協議的時候,開發人員往往對rfc已經倒背如流,測試人員沒必要做到如此熟練。

那麼,除此之外,測試人員需要培養哪些能力呢?

我見過不少測試人員,他們非常渴望case能pass。如果乙個case由於某種原因被block了,或者fail了,他們都表現出沮喪,或者嘲笑開發人員,認為這給他們的工作帶來了麻煩。如果乙個case順利地pass了,他們都歡天喜地,覺得總算完成了乙個工作,可以對經理有交代了。可是資深的測試人員不是這樣的。他們渴望的不是pass乙個case,而是通過這個case,幫助開發人員找出更多的問題。當問題出現的時候,他們很興奮,而不是沮喪。他們會尋根究底,來考察為什麼會有這個問題,如何來解決這個問題,如何來改進測試計畫發現更多類似的問題,等等。當乙個測試人員渴望做完乙個case的時候,他往往下意識地會忽略很多他本來應該發現的問題。只要操作能繼續,大的錯誤不出現,他們就不會去主動尋找錯誤。我記得某部門有個老外剛來,就報了很多的bug。大家發現,他報的很多bug,大家以前也碰到過,但因為不影響測試過程,不認為這是bug,就都忽略了。其實有些bug是很嚴重的問題,比如系統的cpu突然被長時間百分百占用,記憶體洩漏,狀態顯示和真實情況不符,等等。到了使用者那裡,都會成為使用者抱怨產品的可能。那個老外曾經也指導過我做平台整合測試,在他的指導下,我兩個禮拜就報了十多個bug。有乙個我記得很清楚,就是擴充套件卡的乙太網介面順序與主機上的相反。主機上的網口是從左往右遞增,而擴充套件卡上的是右邊為1,左邊為2,而且沒有在機器上標註。這樣就很容易造成配置錯誤。我一開始碰到這個問題,就認為是自己的問題,為啥我沒配對呢?但是老外說,你也是使用者,你沒配對,使用者也不會配對。到了使用者那裡,這肯定就是乙個bug。很多人都很不喜歡做整合測試,因為軟體還沒有準備好,測試case執行非常不順利。我發現這麼多bug的時候,其實真正的case乙個也沒跑成。我一直停留在安裝和基本配置上。但我一點也不氣餒,反而在這個過程中發現了很多問題,對於最基本的系統啟動和安裝也有了很多深刻的認識。乙個測試人員能夠很快成長起來,不是靠他能夠順利地完成測試任務,而是要遇到很多問題,在問題中求成長,在問題中尋找答案。測試人員的乙個很重要的品質,就是歡迎問題,喜歡尋找問題,而不是完成測試。

我發現資深的測試人員都有自己很好的測試習慣,我曾經把這個當成我學到的最寶貴的財富,可是當我想傳遞給其他的測試人員的時候,他們卻嗤之以鼻。有個測試人員,把所有的操作都事先寫在文件裡,用copy-paste來輸入命令。這樣可以完全重複測試過程,而不存在手工輸入錯誤的問題,使得測試過程可以重現。在輸入命令時,他把實時的log顯示和alarm顯示開啟,並利用工具記錄所有的命令輸出。每輸入一條命令,他就會看看是否會出現問題。如果出現問題,他就立刻去分析這個問題出現的原因並考慮是否是個bug。很多測試人員只有在出了大問題的時候,比如call打不通了,或者機器重起了,或者整個測試結果與預想的不符,才想起去察看和記錄錯誤。我剛開始做測試的時候,也是這樣的。這樣常常會無法判斷錯誤什麼時候出現,是因為什麼操作出現的,只好再重複一遍。如果不是必現的問題,就無法說清了。很多測試人員,在測試計畫上寫的是一套,自己做的是另一套,因為測試計畫和執行不是同時做的,執行時發現了一些問題,調整了測試步驟,但沒有及時更新計畫,也沒有記錄操作步驟。當發現問題時,只好重新回憶自己做過的步驟,很浪費時間。沒有出現問題的話,測試步驟根本不被記錄。這些問題看似簡單,但影響不小。所以,在平時的測試工作中,有意識地培養起自己良好的測試習慣,是成為優秀的測試人員的乙個很重要的品質。

的鼓吹者說應該把測試人員分散到開發人員當中,和他們密切合作。這我也不太贊同。測試人員彼此之間的交流更加重要,而且測試人員不能受軟體實現的約束。這是有個度的。把測試人員打散,測試人員在團隊中往往處在劣勢,他們很容易成為開發人員的附屬品,開發人員讓他們測什麼就測什麼,開發人員認為是問題才是問題。測試人員很難成長起來。所以,和軟體人員共同工作,是在測試人員有足夠的測試經驗的時候,而且應該是建立在平等的基礎上的合作。

執行測試,有點像探雷,需要一步一步地走,小心謹慎地前進。目的是找雷,而不是通過

如何學好軟體測試

首先我們看一下什麼是軟體測試,也就是軟體測試的定義。關於軟體測試有很多的定義和說法,這裡和大家分享的是筆者比較認可的一種。軟體測試是通過手工或自動化手段來檢測軟體產品中的錯誤和缺陷的過程。對於剛參加工作的同學們,一進公司基本上都是執行測試用例發現bug,也就是通過執行用例來發現缺陷,所以我覺得這個定...

如何自學軟體測試

益相關,這次以乙個局外人的身份聊聊軟體測試自學,該採取什麼樣的思路和方法。很多自學者在冒出這個問題的時候,本職上就是乙個感覺 我該從 入手?咱們今天從3個方面著手,來說說如何自學軟體測試,文章不長,會說的很透徹,文章底部我會有自學的資料,你們自己拿走就行了。一 思路篇 二 心態篇 三 技能篇 四。資...

如何學習軟體測試

1.什麼是軟體測試 軟體測試是在測試中識別軟體產品和服務的準確性和質量的過程。顯然,它的誕生是為了驗證產品是否滿足客戶的特定先決條件 需求和需求。在一天的工作結束前,確定特定的最終目標並測試執行乙個框架或應用程式,以指出其錯誤 錯誤或缺陷。測試的職責是找到bug並指出問題問題,並給dev 開發人員 ...