【軟件測試】有了這個列表,必定提高代碼檢查效率

在白盒測試時需要代碼檢查,在代碼檢查中有一份錯誤列表作為參考,更容易發(fā)現(xiàn)程序是否存在常見錯誤。代碼檢查錯誤主要類型如下:數(shù)據(jù)引用錯誤、數(shù)據(jù)聲明錯誤、運(yùn)算錯誤、比較錯誤、控制流程錯誤、接口錯誤、輸入/輸出錯誤、其他檢查。

數(shù)據(jù)引用錯誤

  1. 是否有引用的變量未賦值或未初始化?
  2. 下標(biāo)的值是否在范圍之內(nèi)。
  3. 是否存在非整數(shù)下標(biāo)?
  4. 當(dāng)使用別名是屬性是否正確?
  5. 記錄和結(jié)構(gòu)的屬性是否匹配?
  6. 基礎(chǔ)的存儲屬性是否正確?
  7. 索引或下標(biāo)操作是否有“僅差一個”的錯誤?也就是說,是否能正確獲取數(shù)組第一個數(shù)和數(shù)組最后一個數(shù)。
  8. 對于對象語言,繼承需求是否得滿足?

數(shù)據(jù)聲明錯誤

  1. 是否所有的變量都已聲明?

  2. 默認(rèn)的屬性是否被正確理解?

  3. 數(shù)組和字符串的初始化是否正確?

  4. 變量是否賦予了正確的長度、類型?

  5. 初始化是否與存儲類相一致?

  6. 是否有相似的變量名?

運(yùn)算錯誤

  1. 是否存在不一致數(shù)據(jù)類型(如非算術(shù)變量間)的運(yùn)算?
  2. 是否錯在混合模式的運(yùn)算?如浮點變量與一個整型變量做運(yùn)算。
  3. 是否存在相同數(shù)據(jù)類型、不同字長變量間的運(yùn)算?
  4. 目標(biāo)變量的大小是否小于右邊表達(dá)式結(jié)果?
  5. 中間結(jié)果是否上溢或下溢? 也就是說,最終的結(jié)果看起來是個有效值,但中間結(jié)果對于編程語言的數(shù)據(jù)類型可能過大或者過小。
  6. 是否存在被0除?
  7. 是否存在二進(jìn)制的不精確度?
  8. 變量的值是否超過了有意義的范圍?
  9. 操作符的優(yōu)先順序是否被正確理解?
  10. 整數(shù)運(yùn)算是否有使用不當(dāng)

比較錯誤

  1. 是否存在不同類型變量間的比較?例如字符串與日期相比較。
  2. 是否存在混合模式的比較運(yùn)算,或不同長度的變量的比較運(yùn)算?例如整型和浮點型相加減。
  3. 比較運(yùn)算符是否正確?”至多“、”至少“、”大于“、"小于"、”等于”等比較關(guān)系
  4. 布爾表達(dá)式所敘述的內(nèi)容是否正確?涉及到“與”、“或”、”非“的表達(dá)式
  5. 比較運(yùn)算是否與布爾表達(dá)式相混合?例如判斷a、b、c是否相等,在數(shù)學(xué)判斷方法:a== b == c,而在編寫實際是 (a== b )&&( b ==c)
  6. 是否存在二進(jìn)制小數(shù)的比較?
  7. 操作符的優(yōu)先順序是否被正確理解?
  8. 區(qū)分&和&&區(qū)別。
    ?

控制流程錯誤

  1. 是否超出了多條分支路徑?
  2. 是否每個循環(huán)都終止了?
  3. 是否某個程序都終止了?
  4. 是否存在有入口條件不滿足而跳過循環(huán)體?
  5. 可能的循環(huán)越界是否正確?
  6. 是否存在“僅差一個”的迭代錯誤?迭代數(shù)量恰恰多一次或少一次?
  7. 在語句組或代碼塊的括號位置是否正確。
  8. 是否存在不能窮盡的判斷?

接口錯誤

  1. 形參的數(shù)量是否等于實參的數(shù)量?
  2. 形參的屬性是否與實參的屬性相匹配?
  3. 傳遞給被調(diào)用模塊的實參個數(shù)是否等于其形參個數(shù)?
  4. 調(diào)用內(nèi)置函數(shù),實參的數(shù)量、屬性、順序是否正確?

輸入/輸出錯誤

  1. 文件屬性是否正確?
  2. OPEN語句是否正確?
  3. I/O語句是否符合格式規(guī)范?
  4. 緩沖大小與記錄大小是否匹配?
  5. 文件在使用前是否打開?
  6. 文件在使用后是否關(guān)閉?
  7. 文件結(jié)束條件是否別正確處理?
  8. 是否處理I/O錯誤?

其他檢查

  1. 在交叉引用列表中是否存在未引用過的變量。
  2. 屬性列表是否與預(yù)期的相一致?
  3. 是否存在“警告”或“提示“信息?
  4. 是否對輸入的合法性進(jìn)行了檢查?

結(jié)語

文中列出常見檢查清單,列出共性問題,讀者把自己使用編程語言中特有錯誤加入到列表中,日后不斷完善。

參考《軟件測試的藝術(shù)》

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,613評論 0 13
  • 這是16年5月份編輯的一份比較雜亂適合自己觀看的學(xué)習(xí)記錄文檔,今天18年5月份再次想寫文章,發(fā)現(xiàn)簡書還為我保存起的...
    Jenaral閱讀 3,179評論 2 9
  • 我與春天(一) 文/漁樵 歲月靜好,流年似水,以心緒為筆,蘸飽了歲月與平凡...
    河北漁樵閱讀 201評論 1 3
  • title: 文件管理date: 2018-05-10 16:59:37tags: [OS, python]cat...
    阿拉39閱讀 393評論 1 0
  • 這是魔都,這是我。 20171020/ 來到魔都有一天了,我自知這次的出行存在很多的風(fēng)險,雖然北科院的趙說到了那句...
    明德堂閱讀 328評論 0 0

友情鏈接更多精彩內(nèi)容