小議軟體測試

shbwf發表於2009-07-23

今天專門談談軟體測試以及我對軟體測試的一些理解,也希望這些理解對做軟體測試的人有所幫助。

首先對於軟體測試和軟體開發的關係問題,首先要說明的是測試需要懂一些軟體開發方面的知識,而這些軟體開發知識裡面最重要的又是資料庫和SQL,結構化程式設計和指令碼語言,這些是測試人員上升到一個新高度的重要內容。可以是軟體開發轉入測試,這個時候強的是軟體開發方面的知識,但是若的是對業務和需求本身的理解,同時也容易捲入程式設計師的固有思維而不能從客戶的角度來看待問題;也可以是先從測試和業務熟悉做起,後面逐漸需求一些開發方面的知識,包括資料庫SQL 和指令碼語言,但是往往沒有真正做過開發又很難理解結構化程式設計的一些基本規則。這裡面都存在一個轉換問題,都需要自己在這個轉換的環節多去思考,轉變思維,多多總結。

其次測試最核心的內容是什麼?做軟體測試需要時刻的提醒自己來思考這個最重要的問題。軟體工程書裡面我們學過來,測試最重要的就是找出至今為止別人沒有發現的Bug,找出儘可能多的有價值的問題,以最大限度的降低的缺陷洩露和現場故障。這個回答本身沒有問題,不過我們還需要做一些更加深測試的思考,特別是做了測試一兩年後更需要不斷思考,測試的核心和關鍵點究竟在哪裡?在這裡我想談兩個比較重要的核心內容,一個就是拿到一個大的系統或複雜的業務功能後,這個時候第一個核心就是根據需求規格說明書進行測試分析,而不是一下切入到了測試用例和測試設計,測試分析的目的是讓測試人員真正的理解需求和業務場景本身,測試有個重要的概念是測試場景,而測試場景則來源於需求場景。做測試分析的目的就是根據需求和業務流程梳理清楚我對整個測試流程的總體規劃,搞清楚對於複雜的功能如何按一定的方法系統性的開展測試,如何更加有效的設計測試用例,如果加強測試用例和測試資料的複用,測試用例對需求和業務場景的覆蓋等諸多問題。如果你還不能去考試測試分析,說明還在測試的一種初級階段,完全照搬著需求規格說明書的測試用例是無法帶來很好的測試效果和效率的。第二個重要內容要談的是測試用例的設計問題,一條測試用例涉及到編號,名稱,對應的需求點和業務規則,前置條件,測試步驟和預期輸出和優先順序等諸多內容,那帶來的一個重要問題就是測試用例本身的核心是什麼?其實這裡我想指出的則是通過前期的測試需求分析後所規劃的測試資料的準備問題,而測試資料準備的方法則來源於我們常說的黑盒測試場景方法,如等價類劃分,邊界值設定,因果分析等,這些都是為測試資料準備服務的,沒有準備的測試資料預期的測試輸出往往是一句空話,有了預先準備的測試資料測試的過程才是有計劃和有目的的,真正準備了測試資料的人才談得上在真正系統的使用各種黑盒測試方法。系統的規劃和準備測試資料是系統化的進行測試用例的靈魂,你考慮了這點才會發現到,需求裡面囉嗦了半天的內容往往僅僅需要1-2條測試用例概括即可,而需求裡面只有一句話的業務規則往往則需要準備上十條甚至更多的測試用例來進行測試。

本文轉載自51軟體測試網

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

相關文章