1. 程式人生 > >數據庫測試

數據庫測試

測試覆蓋率 是個 生成 技術 結合 gravity image south data

數據庫測試: 之前寫的數據庫測試代碼稍微有點繁雜,現在我們將這些代碼進行簡化一下,將備份、還原數據的方法單獨寫在一個類裏,然後測試類繼承於這個類。

代碼示例:

技術分享

測試類代碼示例:

測試類的代碼稍微更改了一下,讓測試的覆蓋率提高

技術分享

技術分享

技術分享

技術分享

測試結果:

技術分享

測量測試覆蓋率:

測量測試覆蓋率就是測量測試代碼運行了多少個測試分支,如果測試代碼的全部分支都被運行了,那麽測試覆蓋率就是100%。

打個比方就是一個獵人挖了100個不同的陷阱,獵人需要一個個的去觸碰這些陷阱以確保陷阱沒有問【學Java,到凱哥學堂kaige123.com】題能夠捕捉到獵物,這個階段就是測試環節。而最終獵人總共觸碰了多少個陷阱,這就是測試覆蓋率,獵人把所有的陷阱都觸碰過了並且陷阱都沒有問題的話,那麽測試覆蓋率就是100。如果獵人只觸碰了80個陷阱,那麽測試覆蓋率就是80%。

如何進行測量測試覆蓋呢?我們需要用到一個插件叫做cobertura,這個插件能夠很好的幫助我們測量測試覆蓋率,這個插件需要插入Maven的生命周期中,在執行Maven測試的時候能夠運行這個插件。測試成功後這個插件會生成html文件,從這些文件中可以查看代碼的測試覆蓋率。 配置語法:

技術分享

執行Maven測試,正在下載插件:

技術分享

測試成功:

技術分享

生成的html文件在這裏:

技術分享

右鍵使用web方式打開:

技術分享

點擊All,在這裏可以查看類和包的測試覆蓋率:

技術分享

雖然這是個很不錯的插件,但是使用的人不多,如果遇上需要測量測試覆蓋率的業務,這個插件能幫很大忙。

代碼習慣:

技術分享

?一般大部分情況下,進行項目的開發,都是先從功能實現的角度進行構思,先分析業務需求、繪制項目模型,然後一步步得編寫實現代碼,在最後項目代碼開發完成後再進行相應的測試,這是普遍的項目開發習慣。

?在此外還有一種開發方式是:先分析這個項目可能會出現的錯誤、bug,從而有針對性的去編寫測試用例,然後再根據測試用例去編寫實現代碼,這種方式用得好的話可以事先避免很多代碼可能出現的錯誤,有點逆向思維的味道。

?除了以上兩種方式之外,還有一種合作式的開發方式:一個人單獨編寫測試用例,分析實現代碼可能出現的錯誤,另一個人同時分析項目業務需求和功能實現,然後再根據寫好的測試用【學Java,到凱哥學堂kaige123.com】例編寫實現代碼。這種方式使用得當開發效率會比前兩個方法要高,這種方式有點像是前兩個方法的結合體。

測試總結:

技術分享

數據庫測試