LeetCode 測試用例生成方法與輔助函式等

2021-10-07 11:29:03 字數 4467 閱讀 2177

完整**github位址

public

class

utilds

}public

static

class

treenode

}}

首先是工廠

public

inte***ce

testhelpe***ctory

前言:**寫的挺隨意的,當初寫的時候都是趕著趕緊測試。。。只要實現了這個功能就好。不保證邊際用例和最高效率

但使用應該是拿來就能用。就我測試過的題而言,這些夠用了

二維char工廠

public

class

chararr_two_factory

implements

testhelpe***ctory

<

char

>

else

}int size = s2.

size()

;if(size ==0)

m = size;

char

carr =

newchar

[size]

;for

(int j =

0; j < m;

++j)

queue.

add(carr);}

}int qsize = queue.

size()

;char

res =

newchar

[qsize]

[m];

for(

int i =

0; i < qsize;

++i)

return res;

}

一維陣列工廠

public

class

intarr_one_factory

implements

testhelpe***ctory

<

int[

]>

string[

] s2 = temp2.

split

(",");

int n = s2.length;

int[

] res =

newint

[n];

for(

int i =

0; i < n;

++i)

return res;

}}

二維陣列工廠

public

class

intarr_two_factory

implements

testhelpe***ctory

<

int[

]>

int m = maxm;

int n = queue.

size()

;int

res =

newint

[n][m]

;for

(int i =

0; i < n;

++i)

return res;

}}

list工廠

public

class

list_int_factory

implements

testhelpe***ctory

>

public list

initiallist

(int

arr)

return res;

}}

public

class

list_list_int_factory

implements

testhelpe***ctory

>>

private list

>

initiallist

(int

arr)

return res;

}}

一維字串

public

class

stringarr_factory

implements

testhelpe***ctory

]>

}

treenode工廠

public

class

treenode_factory

implements

testhelpe***ctory

catch

(exception e)

} i++;if

(i == n)

treenode right = null;

tempstring = sarr[i];if

(!tempstring.

equals

("null"))

catch

(exception e)

} i++

; qtree.

add(left)

; qtree.

add(right);}

return headnode;

}}

關於測試框架的設計思路可以看我的另一篇文章:

手動搭建乙個leetcode的測試框架——讓你的刷題之路更省時間

我們可以定義乙個工廠選擇器

public

class

factoryselector

public testhelpe***ctory getfactory

(string classtype)

if(classtype.

equals

(intarr_two_class))if

(classtype.

equals

(string_class))if

(classtype.

equals

(chararr_two_class))if

(classtype.

equals

(list_int_class))if

(classtype.

equals

(list_list_int_classtypename))if

(classtype.

equals

(treenode_classtypename)

)return null;

}}

這裡的classhelper**如下

public

class

classhelper

public

static class<

?>

getfinalinte***cet

(object o,

int typeindex,

int typeargumentsindex)

public

static string getclassname

(object o,

int index)

public

static class<

?>

getfinalclasst

(object o,

int index)

else

}private

static class<

?>

checktype

(type type,

int index)

else

if(type instanceof

parameterizedtype

)else

}public

static string getintarr_one_classtypename()

public

static string getintarr_two_classtypename()

public

static string getstring_classtypename()

public

static string getchararr_two_classtypename()

public

static string getlist_int_classtypename()

public

static string getlist_list_int_classtypename()

public

static string gettreenode_classtypename()

}

使用PICT生成測試用例

介紹 pict 可以有效地按照兩兩測試的原理,進行測試用例設計 在使用pict時,需要輸入與測試用例相關的所有引數,以達到全面覆蓋的效果 安裝 工具會用就好,下面試試這個工具 在安裝目錄下新建乙個txt文件,填上引數,如下圖所示 需要注意的是,這裡使用的冒號和逗號都必須是英文格式下的符號,不然在使用...

測試用例(四)測試用例編寫

一.測試用例編寫方法 1.等價類劃分 如何選擇適當的資料子集,來代表整個資料集。通過降低測試的資料去實現 合理的 覆蓋,覆蓋了更多的可能資料,以發現更多的軟體缺陷 邊界值分析法 2.邊界值分析 使用邊界值分析方法設計測試用例時一般與等價類劃分結合起來,但它不是從乙個等價類中任選乙個例子作為代表,而是...

手機測試用例 STK測試用例

id 功能描述 操作步驟 預期結果 test time p fcomment tester test time p fcomment tester stk服務 sim卡適應性測試 1 選取支援stk功能的sim卡,插入手機中 手機應支援stk功能,會將stk選單自動加入主選單列表中 2 進入stk功...