1. 程式人生 > >新手如何快速發現軟體的Bug?這9條測試原則要記牢!

新手如何快速發現軟體的Bug?這9條測試原則要記牢!

“人無完人,金無足赤”,看起來再沒有缺點的事物,都會有隱藏的漏洞。軟體缺陷,顧名思義,是計算機軟體或程式中存在的某種破壞正常執行能力的問題、錯誤或者隱藏的功能缺陷,也就是我們常常說的BUG!

對於軟體測試的工作而言,找bug就是這個崗位本身立足的職責,那麼對於很多新人和新入行的同學們來說,這個過程會有點苦逼,畢竟經歷的專案經驗不多,想快速的切入尋找bug往往會比較痛苦。那下面我就以自身的經驗來普及下如何在工作快速的去定位找到bug。

以下從個人的測試經驗和測試流程上說一下我的想法。

一、測試堅持的原則

1、測試前做好工作計劃

俗話說不打無準備的仗,測試前做好工作計劃,首先明白該版本如何開展測試,這個版本的測試重點在哪裡,這個前期可以加強跟研發的溝通,弄明白測試的重點。然後根據重點規劃測試工作。

2、儘早開展測試

版本提測後儘早展開測試工作,一方面缺陷越早的暴露後期研發的維護成本越低,另一方面根據自己的測試經驗來看一個測試周期中發現bug的曲線圖是一個不對稱的拋物線,前期的工作效率是非常高的,這可能跟測試人員的求知慾有關,測試周期越長後期發現bug的概率越低,所以版本提測後儘快展開測試如果沒有高優先順序的任務不要中斷測試,不然反過頭來在進行測試時已找不到了當時靈敏的嗅覺了。

3、二八原則

軟體中80%的bug存在於20%的程式碼中,這要求測試人員對產品的業務及內部邏輯比較瞭解,知道哪一塊的程式碼容易出問題。

4、及時反饋

無論是軟體開發還是軟體測試溝通是必不可少的,測試發現bug後除了將bug的畢現的步驟及詳細結果提交到缺陷管理庫中還需要知會相關的研發人員,縮短bug的流轉週期。實時將軟體的質量情況上報到專案經理或產品經理,他們可以根據版本質量情況作出相應的調整。及時反饋客服、生產、使用者的問題並將問題轉化為需求或測試用例。

二、如何快速發現bug?

1、儘快熟悉公司的產品業務,根據產品的業務屬性來熟悉產品的業務流程,這樣才能迅速找出軟體中存在的一些重要的缺陷,這樣發現的軟體的價值才是有價值的,否則即使你能找到一些軟體缺陷,那也是純軟體的缺陷,價值不大。

2、把自己當成是使用者,把自己當成使用者去使用該軟體,比如在試用軟體的過程中,思考使用者是這樣操作的麼

3、善於懷疑 ,世界上沒有絕對正確的,總有錯誤的地方,具有叛逆心理,別人認為不可能發生的事,我卻認為可能發生;別人認為是對的,我卻認為是錯的。假如一個水平很高的程式設計師編寫的程式,不要有“他寫的這個程式應該沒有問題吧”這種想法,這樣很容以遺漏軟體中的Bug。

4、不用讓程式開發員“使用者不會這樣操作”的觀點說服自己,遇到這樣的情況,你要堅持自己的正確的觀點,把這種現象作為一個Bug。

5、在測試的過程中要跟蹤一條資料的完整流程,比如“點選商品—收藏商品—加入購物車—訂單結算—付款—消費二維碼—消費—二維碼失效”,如果在測試軟體過程中業務流程邏輯都走不通的話,還麼這個軟體測試與不測試就沒有什麼區別的。

6、在測試的過程中要跟蹤一條資料的完整程,要注意的事項 ,程式設計師提交新的版本後,作為測試人員應該立即與程式設計師溝通這個修改的功能,並瞭解這個新修改的功能影響那些功能。而被影響的功能,是在迴歸測試中優先重點測試的地方,而且也是最容易產生Bug的地方。

7、軟體的邊界值 ,眾所周知軟體最容易在邊界值上出現問題,所以作為測試人員一定要在邊界值上多測試,比如測試使用者輸入框中的數值的最大數和最小數,以及為空的情況;

8、非法容錯性,比如在需要輸入數字的地方輸入字母,在需要輸入字母的地方輸入數字,在需要使用者輸入的文字框中拷貝字數很多的整編文章到這裡測試看看軟體是如何做處理的;

9、學習他人經驗:三人行必有我師焉,人外有人,天外有天。

三、測試經驗和流程

測試計劃制定:測試計劃的制定可以分為如下幾步。

首先,按照測試型別依據的標準確定需要測試的特性,如登記測試需要考慮使用者文件、常規要求、功能性、可靠性、易用性這個五個特徵;

其次,確定需要測試的子特性,如功能性要求考慮安裝性、適合性、正確性、一致性這四項;

然後,選擇相應的測試策略,即對需要測試的幾大特性該如何測試,如需要檢查使用者文件是否完整,需要驗證功能是否正確等;

再次,需要配置測試的環境,確定測試需要的硬體和軟體裝置是否準備齊全;

最後,需要確定測試的人員及日程安排,為及時高質量的完成測試工作做準備,這一過程需要形成測試計劃文件;

測試用例的設計:測試用例是測試工作的核心,如何設計出用最小的測試用例集找出軟體中儘可能多的缺陷的測試用例,是一個很值得積累的經驗;

在任何情況下,都應該使用邊界值分析法,經驗表明,這種方法發現錯誤的能力最強;

必要時使用等價類劃分法補充測試用例;

必要時採用錯誤推測法補充測試用例;

如有輸入條件的組合,就從輸入條件極其組合開始測試

測試執行:手工執行功能化測試用例,並檢查UI設計的Bug,在功能手工測試之後進行功能、效能、介面等自動化測試。

測試結果報告:根據不同的測試型別出具不同的測試報告,主要分析在測試中出現的問題,並對軟體提出評估報告和結果建議。

總結:

當遇到bug時,不要膽怯,要對它深入分析,我們可以明白這個bug的機制:為什麼會產生?如何去預防它?下一次我們如何更容易地發現它?只要花一點時間去理解我們的 bug,而不是僅僅是儘快修正它,我們就可以從中得到經驗。

歡迎加入  51軟體測試大家庭,在這裡你將獲得【最新行業資訊】,【免費測試工具安裝包】,【軟體測試技術乾貨】,【面試求職技巧】... 51與你共同學習,一起成長!期待你的加入: QQ          群:         755431660