單元測試需要從哪些方面著手

2021-07-04 06:07:24 字數 1976 閱讀 7421

前言

籠統的來說

測試條件無非就是兩個方面:① 正向測試 ,② 反向測試!

如果單從這兩個方面來思考,肯定出現丟三落四的情況,也就是說不全面,所以應該在上面兩種情況的基礎上再進行具體劃分,那麼只要我們能夠遵循這些條件基本上就能做到全面(如果能做到,大約80%的問題應該都解決了),於是就出現了下面要說的六個方面內容!

前輩們把這些測試條件總結為:right – bicep

1.right - 做正確的事,可以說是「正向測試」

這種測試前期任務是要準備足夠的正確資料(前提是要保證資料的正確性,這個很重要),執行**後返回的值或產生的影響是要跟自己的預期是一致的!

注意:如果準備的資料太大或容易丟失,建議把它放在資料檔案中,然後讓

單元測試

2.b - 邊界條件(boundary)

邊界條件是測試裡面的重中之重,必須要有足夠的認識和重視!

而它又被分為七個方面的子條件,下面就讓我們來一一熟悉它!

①一致性(conformance)

資料是否符合我規定的格式(也可以說是非法字元吧)!

案例:比如我傳入的引數檔名需要的格式是:檔名 + 日期(yy-mm-dd) + 副檔名,那麼我就要寫乙個測試傳入的檔名為 :「sa#$#$#$#」這樣的格式!

②有序性(ordering)

這方面主要是對涉及到陣列和集合的資料,而且對資料的順序有嚴格要求的函式,需要對它們裡面資料的順序進行測試!

比如:點菜系統菜譜中每道菜的順序,或者去銀行辦理業務的排隊系統等等!

③範圍,區間性(range)

值是否存在於乙個最大值和乙個最小值之間,主要是對值型別的資料做的測試!

這裡面還有乙個重要的測試點是 → 對陣列,集合,以及table,dataset中的索引值進行測試,比如索引值不能為負,不能超出索引的範圍等等情況!

比如:乙個通過id來搜尋資訊的函式,應該對這個id進行最大值和最小值的測試!

④引用,耦合性(reference)

這方面主要是:**是否引用了一些不受本身**控制的外部因素(比如:呼叫第三方介面,呼叫其它模組的介面等等)!

比如:有的專案會呼叫銀行介面,這種情況下只能先創造乙個虛擬銀行介面,然後再進行測試!

⑤存在性(exist)

固定的測試,如null,empty,非零等等,這些都是必須考慮的!

⑥基數性(cardinality)

對於這個測試說起來還是蠻難理解,這個測試只有在特定的場合下才會去考慮它!

它遵循乙個原則:「0-1-n」!

⑦時間性(timer)

對時間比較有依賴的軟體或系統應該在這個方面著重測試!

主要考慮:事情是否按時間的順序執行,是否在正確的時間執行,是否出現執行事情延誤了!

併發問題在時間性測試中比較重要!3.i - 反向關聯(inversion)

在準備資料或者驗證資料時的一種反向思維,涉及到個人的思維方式問題了!

比如:有個函式對資料庫

進行了操作,但是它沒任何返回值也沒有任何提示,如果你是對正確的資料進行了測試,那麼你要怎麼知道測試結果跟你的預期一致呢,這裡你就應該去查詢資料庫,看資料庫裡面的資料是否有真的改動,這就是一種反向的思維方式!

4.c - 交叉檢查(cross)

用一種數量檢查另一種數量(需要考慮的情況不是很多)!

5.e - 強制產生錯誤(error)

通過**強制產生軟體在執行過程中出現的特殊情況!

可以參考下面幾種測試方面:記憶體耗光,磁碟用滿,斷電,正在執行更新資料時出現斷網現象,網路負載嚴重導致癱瘓,系統時間出現導致和國際時間不一致等等一些情況!

6.p - 效能特性(property)

效能測試

工具的使用,沒具體研究過效能測試工具,知道的朋友可以說下你們的經驗!

進行壓力測試,一點一點的加大資料量,10000條,100000條,1000000條這樣進行壓力測試!

中去!

新手入門遊戲開發,需要從哪些方面入手

我想做遊戲開發,請幫忙替我規劃一下思路,我有一定的c語言基礎,但對工具的掌握不太會用,我希望得到各位大神的指點?前輩的回答 據你的描述,你有一定的c語言基礎,對工具使用不熟悉,其實就是說,你有一定的基礎,但是專案經驗很欠缺。或者說,程式設計基礎還不夠,邏輯思維不夠強。你這個情況,是絕大多數程式設計新...

軟體測試環境搭建需要考慮哪些方面?

去搭建測試環境是軟體測試實施的乙個重要階段,測試環境適合與否會嚴重影響測試結果的真實性和正確性。測試環境包括硬體環境和軟體環境,硬體環境指測試必需的伺服器 客戶端 網路連線裝置,以及印表機 掃瞄器等輔助硬體裝置所構成的環境 軟體環境指被測軟體執行時的作業系統 資料庫及其他應用軟體構成的環境 搭建環境...

在選擇框架的時候要從哪些方面入手?

影響團隊技術選型有很多因素,如技術組成,新技術,新框架,語言及發布等。為了更好的考量不同的因素,就需要列出重要的象限。如開發效率,團隊喜好。依次來決定哪個框架更適合當前的團隊和專案。上線時間影響框架選擇,不要盲目替換現有框架 1 jquery 專案功能比較簡單,並不需要做成乙個單頁面應用,就不需要m...