天天看點

軟體測試的藝術筆記(一)

chapter1:一次自評價測試:

【1】軟體測試,就是一個過程或一系列過程,用來确認計算機代碼完成了其應該完成的功能,不執行其不該有的操作。軟體為可預測且穩定的。

【2】測試用例應具備一些特征,盡可能涵蓋多的情況,找出更多的錯誤,但不可能查找出所有可能的錯誤。

chapter2:軟體測試的心理學和經濟學

【1】從心理學角度看,測試人員傾向于去測試驗證軟體的是能正常完成其預定的功能,相反,應該在一開始就假設程式中隐藏着錯誤,然後測試程式去發現盡可能多的錯誤。

“測試時為了發現錯誤而執行程式的過程”

【2】經濟性:在進行測試前應建立某些政策,最普遍的政策是黑盒測試和白盒測試。

黑盒測試:窮舉輸入測試。将程式看成一個黑盒子,窮舉所有的輸入條件作為測試用例。

白盒測試:窮舉路徑測試。檢查程式的内部結構,對程式的邏輯結構進行檢查,從中擷取測試資料。

【3】軟體測試的原則:主要包含兩個點,一是檢查程式是否未做其應該做的;二是檢查程式是否做了其不應該做的;軟體測試是為了發現錯誤;避免自己測試自己的程式;好的測試用例能夠對未發現的錯誤高度敏感。

chapter3 代碼檢查、走查與評審

【1】代碼檢查、走查及可用性測試時三種主要的人工測試方法。人工方法和基于計算機的測試是互補的。

【2】代碼檢查:組成一個檢查小組,為代碼檢查分發材料,記錄錯誤清單。小組對程式逐句進行檢查,包括資料引用錯誤,運算錯誤等所有的錯誤,并記錄下來之後修改。

【3】代碼走查:和【2】一樣形成一個檢查小組,不同的是其由一個成員在大腦中對程式的邏輯進行運算一遍,并用一些已在腦海中運算過的測試用例去使用程式運作,監督各變量值,與之比對,在這個過程中小組會發現問題并記錄。此适用于比較簡單的程式,因為大數量的資料在大腦的計算遠不及計算機高效。

【4】桌面檢查:由一個人閱讀程式,對照錯位清單檢查程式,對程式推演測試資料。

【5】同行評審:依據程式整體品質、可維護性、可拓展性、易用性和清晰性對匿名程式進行評價的技術。多名程式員随意交換自己的程式,匿名對程式進行打分,有助于提高程式的開發。

【總結】前三章可知程式測試遠比最初想象的複雜和繁瑣,并不是單單地用一些測試用例去測試程式即可,其需要考慮種種可能的情況,并設計良好的測試用例來幫助發現程式中更多的測試,進而完善程式。