本發(fā)明涉及半導(dǎo)體領(lǐng)域,尤其涉及一種自動(dòng)化測(cè)試方法。
背景技術(shù):
1、半導(dǎo)體設(shè)備在上線前,需要對(duì)其進(jìn)行eap(equipment?automation?program)模擬測(cè)試,通過主機(jī)與半導(dǎo)體設(shè)備的通信進(jìn)行二者間數(shù)據(jù)的交換,以測(cè)試半導(dǎo)體設(shè)備的內(nèi)部功能,并主要測(cè)試半導(dǎo)體設(shè)備的接口協(xié)議與預(yù)上線生產(chǎn)場(chǎng)景,具體可通過主機(jī)向半導(dǎo)體設(shè)備發(fā)送消息,以測(cè)試半導(dǎo)體設(shè)備的相應(yīng)功能,由此確保半導(dǎo)體設(shè)備的快速上線。
2、然而現(xiàn)有的eap模擬測(cè)試過程中,大多僅能向半導(dǎo)體設(shè)備發(fā)送單條指令一次消息,并需要人工檢查半導(dǎo)體設(shè)備反饋的指令二次消息,以及檢查半導(dǎo)體設(shè)備所反饋的事件一次消息,因?yàn)橐蕾囉谌斯z查,所以存在測(cè)試不便的缺陷。因此現(xiàn)有技術(shù)中亟需一種對(duì)半導(dǎo)體設(shè)備進(jìn)行自動(dòng)化測(cè)試的方法。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于解決現(xiàn)有的eap模擬測(cè)試過程中依賴于人工所存在的測(cè)試不便的缺陷。
2、為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種自動(dòng)化測(cè)試方法,應(yīng)用于主機(jī)以對(duì)半導(dǎo)體設(shè)備進(jìn)行eap模擬測(cè)試,包括:
3、獲取包括多個(gè)測(cè)試用例的測(cè)試用例集,所述測(cè)試用例包括有序排列的多個(gè)測(cè)試步驟及和各所述測(cè)試步驟分別對(duì)應(yīng)的前置條件與預(yù)期結(jié)果;
4、在所述測(cè)試用例集中獲取目標(biāo)測(cè)試用例組,所述目標(biāo)測(cè)試用例組包括的所述測(cè)試用例為目標(biāo)測(cè)試用例,獲取和所述目標(biāo)測(cè)試用例中的所述前置條件與所述預(yù)期結(jié)果分別對(duì)應(yīng)的輸入數(shù)據(jù),所述輸入數(shù)據(jù)包含所述半導(dǎo)體設(shè)備的設(shè)備數(shù)據(jù),所述設(shè)備數(shù)據(jù)用于替換所述目標(biāo)測(cè)試用例組中各前置條件的標(biāo)識(shí)信息和各預(yù)期結(jié)果的標(biāo)識(shí)信息;
5、基于所述目標(biāo)測(cè)試用例所包含的測(cè)試步驟的順序依次對(duì)各當(dāng)前測(cè)試步驟實(shí)施測(cè)試以獲得目標(biāo)測(cè)試用例的用例測(cè)試結(jié)果,所述用例測(cè)試結(jié)果指示目標(biāo)測(cè)試用例測(cè)試成功或測(cè)試失敗,且對(duì)當(dāng)前測(cè)試步驟的測(cè)試包括:獲取來自所述半導(dǎo)體設(shè)備的設(shè)備消息,判斷所述設(shè)備消息與當(dāng)前測(cè)試步驟對(duì)應(yīng)的前置條件是否匹配成功,在匹配成功時(shí)執(zhí)行所述當(dāng)前測(cè)試步驟,以向半導(dǎo)體設(shè)備發(fā)送主機(jī)消息,在發(fā)送所述主機(jī)消息之后,基于所述設(shè)備消息和當(dāng)前測(cè)試步驟對(duì)應(yīng)的預(yù)期結(jié)果的比較確定當(dāng)前測(cè)試步驟的步驟測(cè)試結(jié)果,所述步驟測(cè)試結(jié)果指示當(dāng)前測(cè)試步驟測(cè)試成功或測(cè)試失?。?/p>
6、獲取所述目標(biāo)測(cè)試用例組中各所述目標(biāo)測(cè)試用例的用例測(cè)試結(jié)果。
7、作為本發(fā)明的進(jìn)一步改進(jìn),獲取來自所述半導(dǎo)體設(shè)備的設(shè)備消息,判斷所述設(shè)備消息與當(dāng)前測(cè)試步驟對(duì)應(yīng)的前置條件是否匹配成功,在匹配成功時(shí)執(zhí)行所述當(dāng)前測(cè)試步驟,包括:
8、獲取來自所述半導(dǎo)體設(shè)備的一條設(shè)備消息;
9、判斷一條所述設(shè)備消息的標(biāo)識(shí)信息與當(dāng)前測(cè)試步驟對(duì)應(yīng)的所有前置條件中的一個(gè)前置條件的標(biāo)識(shí)信息是否對(duì)應(yīng)成功,若是,則判斷一條所述設(shè)備消息的內(nèi)容與對(duì)應(yīng)成功的前置條件的內(nèi)容是否對(duì)比成功,以確定一條設(shè)備消息與對(duì)應(yīng)成功的前置條件的對(duì)比結(jié)果,并等待下一條所述設(shè)備消息,若所述設(shè)備消息的標(biāo)識(shí)信息與所有所述前置條件的標(biāo)識(shí)信息均未對(duì)應(yīng)成功,則等待下一條所述設(shè)備消息,其中,所述對(duì)比結(jié)果指示所述設(shè)備消息與所述前置條件匹配成功或匹配失?。?/p>
10、重復(fù)實(shí)施所述設(shè)備消息的獲取以及與前置條件的對(duì)應(yīng)及對(duì)比,當(dāng)所述當(dāng)前測(cè)試步驟對(duì)應(yīng)的所有前置條件的對(duì)比結(jié)果均指示匹配成功時(shí),執(zhí)行所述當(dāng)前測(cè)試步驟。
11、作為本發(fā)明的進(jìn)一步改進(jìn),判斷一條所述設(shè)備消息的標(biāo)識(shí)信息與當(dāng)前測(cè)試步驟對(duì)應(yīng)的所有前置條件中的一個(gè)前置條件的標(biāo)識(shí)信息是否對(duì)應(yīng)成功,包括:
12、當(dāng)所述設(shè)備消息為指令一次消息、指令二次消息或事件二次消息時(shí),判斷一條所述設(shè)備消息的消息頭與當(dāng)前測(cè)試步驟對(duì)應(yīng)的所有前置條件中的一個(gè)前置條件的消息頭是否相同,當(dāng)相同時(shí),判斷的結(jié)果為對(duì)應(yīng)成功,否則,判斷的結(jié)果為對(duì)應(yīng)失??;
13、當(dāng)所述設(shè)備消息為事件一次消息時(shí),判斷一條所述設(shè)備消息的事件id與當(dāng)前測(cè)試步驟對(duì)應(yīng)的所有前置條件中的一個(gè)前置條件的事件id是否相同,當(dāng)相同時(shí),判斷的結(jié)果為對(duì)應(yīng)成功,否則,判斷的結(jié)果為對(duì)應(yīng)失敗。
14、作為本發(fā)明的進(jìn)一步改進(jìn),判斷一條所述設(shè)備消息的內(nèi)容與對(duì)應(yīng)成功的前置條件的內(nèi)容是否對(duì)比成功,包括:
15、判斷一條所述設(shè)備消息的內(nèi)容與對(duì)應(yīng)成功的前置條件的內(nèi)容是否相同,當(dāng)相同時(shí),判斷的結(jié)果為對(duì)比成功,以指示所述設(shè)備消息與所述前置條件匹配成功,否則,判斷的結(jié)果為對(duì)比失敗,以指示所述設(shè)備消息與所述前置條件匹配失敗。
16、作為本發(fā)明的進(jìn)一步改進(jìn),獲取來自所述半導(dǎo)體設(shè)備的設(shè)備消息,基于所述設(shè)備消息和當(dāng)前測(cè)試步驟對(duì)應(yīng)的預(yù)期結(jié)果的比較確定當(dāng)前測(cè)試步驟的步驟測(cè)試結(jié)果,包括:
17、獲取來自所述半導(dǎo)體設(shè)備的一條設(shè)備消息;
18、判斷一條所述設(shè)備消息的標(biāo)識(shí)信息與當(dāng)前測(cè)試步驟對(duì)應(yīng)的所有預(yù)期結(jié)果中的一個(gè)預(yù)期結(jié)果的標(biāo)識(shí)信息是否對(duì)應(yīng)成功,若是,則判斷一條所述設(shè)備消息的內(nèi)容與對(duì)應(yīng)成功的預(yù)期結(jié)果的內(nèi)容是否對(duì)比成功,以確定一條設(shè)備消息與對(duì)應(yīng)成功的預(yù)期結(jié)果的對(duì)比結(jié)果,并等待下一條所述設(shè)備消息,若所述設(shè)備消息的標(biāo)識(shí)信息與所有所述預(yù)期結(jié)果的標(biāo)識(shí)信息均未對(duì)應(yīng)成功,則等待下一條所述設(shè)備消息,其中,所述對(duì)比結(jié)果指示所述設(shè)備消息與所述預(yù)期結(jié)果匹配成功或匹配失敗;
19、重復(fù)實(shí)施所述設(shè)備消息的獲取以及與預(yù)期結(jié)果的對(duì)應(yīng)及對(duì)比,當(dāng)所述當(dāng)前測(cè)試步驟對(duì)應(yīng)的所有預(yù)期結(jié)果均已對(duì)比結(jié)束后,判斷所述當(dāng)前測(cè)試步驟對(duì)應(yīng)的所有預(yù)期結(jié)果的對(duì)比結(jié)果是否均指示匹配成功,若是,則確定當(dāng)前測(cè)試步驟的步驟測(cè)試結(jié)果為測(cè)試成功,若否,則確定當(dāng)前測(cè)試步驟的步驟測(cè)試結(jié)果為測(cè)試失敗。
20、作為本發(fā)明的進(jìn)一步改進(jìn),判斷一條所述設(shè)備消息的標(biāo)識(shí)信息與當(dāng)前測(cè)試步驟對(duì)應(yīng)的所有預(yù)期結(jié)果中的一個(gè)預(yù)期結(jié)果的標(biāo)識(shí)信息是否對(duì)應(yīng)成功,包括:
21、當(dāng)所述設(shè)備消息為指令一次消息、指令二次消息或事件二次消息時(shí),判斷一條所述設(shè)備消息的消息頭與當(dāng)前測(cè)試步驟對(duì)應(yīng)的所有預(yù)期結(jié)果中的一個(gè)預(yù)期結(jié)果的消息頭是否相同,當(dāng)相同時(shí),判斷的結(jié)果為對(duì)應(yīng)成功,否則,判斷的結(jié)果為對(duì)應(yīng)失敗;
22、當(dāng)所述設(shè)備消息為事件一次消息時(shí),判斷一條所述設(shè)備消息的事件id與當(dāng)前測(cè)試步驟對(duì)應(yīng)的所有預(yù)期結(jié)果中的一個(gè)預(yù)期結(jié)果的事件id是否相同,當(dāng)相同時(shí),判斷的結(jié)果為對(duì)應(yīng)成功,否則,判斷的結(jié)果為對(duì)應(yīng)失敗。
23、作為本發(fā)明的進(jìn)一步改進(jìn),判斷一條所述設(shè)備消息的內(nèi)容與對(duì)應(yīng)成功的預(yù)期結(jié)果的內(nèi)容是否對(duì)比成功,包括:
24、判斷一條所述設(shè)備消息的內(nèi)容與對(duì)應(yīng)成功的預(yù)期結(jié)果的內(nèi)容是否相同,當(dāng)相同時(shí),判斷的結(jié)果為對(duì)比成功,以指示所述設(shè)備消息與所述預(yù)期結(jié)果匹配成功,否則,判斷的結(jié)果為對(duì)比失敗,以指示所述設(shè)備消息與所述預(yù)期結(jié)果匹配失敗。
25、作為本發(fā)明的進(jìn)一步改進(jìn),在獲取來自所述半導(dǎo)體設(shè)備的設(shè)備消息之后,對(duì)當(dāng)前測(cè)試步驟的測(cè)試還包括:
26、獲取所述設(shè)備消息的消息類型,所述消息類型為指令一次消息、指令二次消息、事件一次消息或事件二次消息。
27、作為本發(fā)明的進(jìn)一步改進(jìn),所述測(cè)試用例集包含標(biāo)準(zhǔn)化測(cè)試用例集和/或非標(biāo)準(zhǔn)化測(cè)試用例集;
28、所述自動(dòng)化測(cè)試方法還包括:
29、當(dāng)一個(gè)所述目標(biāo)測(cè)試用例的用例測(cè)試結(jié)果指示測(cè)試失敗時(shí),等待所述半導(dǎo)體設(shè)備的恢復(fù)指令,所述恢復(fù)指令為用戶對(duì)半導(dǎo)體設(shè)備的輸入指令,基于所述恢復(fù)指令實(shí)施對(duì)所述目標(biāo)測(cè)試用例組中的另一目標(biāo)測(cè)試用例的所述測(cè)試,以獲得另一目標(biāo)測(cè)試用例的用例測(cè)試結(jié)果。
30、作為本發(fā)明的進(jìn)一步改進(jìn),所述目標(biāo)測(cè)試用例組包括一個(gè)目標(biāo)測(cè)試用例或多個(gè)有序排列的目標(biāo)測(cè)試用例,當(dāng)其包括多個(gè)有序排列的目標(biāo)測(cè)試用例時(shí),基于多個(gè)所述目標(biāo)測(cè)試用例的順序依次對(duì)各所述目標(biāo)測(cè)試用例實(shí)施測(cè)試,以獲得各所述目標(biāo)測(cè)試用例的用例測(cè)試結(jié)果。
31、作為本發(fā)明的進(jìn)一步改進(jìn),基于所述目標(biāo)測(cè)試用例所包含的測(cè)試步驟的順序依次對(duì)各當(dāng)前測(cè)試步驟實(shí)施測(cè)試以獲得目標(biāo)測(cè)試用例的測(cè)試結(jié)果,所述用例測(cè)試結(jié)果指示目標(biāo)測(cè)試用例測(cè)試成功或測(cè)試失敗,包括:
32、基于所述順序獲得一個(gè)測(cè)試步驟作為當(dāng)前測(cè)試步驟,對(duì)所述當(dāng)前測(cè)試步驟實(shí)施測(cè)試以獲得當(dāng)前測(cè)試步驟的步驟測(cè)試結(jié)果;
33、當(dāng)所述步驟測(cè)試結(jié)果指示測(cè)試成功時(shí),基于所述順序獲得另一個(gè)測(cè)試步驟作為當(dāng)前測(cè)試步驟并對(duì)其實(shí)施所述測(cè)試,若所述目標(biāo)測(cè)試用例中的各測(cè)試步驟的步驟測(cè)試結(jié)果均指示測(cè)試成功,則獲得目標(biāo)測(cè)試用例的用例測(cè)試結(jié)果,所述用例測(cè)試結(jié)果指示目標(biāo)測(cè)試用例測(cè)試成功;
34、當(dāng)所述步驟測(cè)試結(jié)果指示測(cè)試失敗時(shí),終止基于所述順序獲取當(dāng)前測(cè)試步驟的過程,并獲得目標(biāo)測(cè)試用例的用例測(cè)試結(jié)果,所述用例測(cè)試結(jié)果指示目標(biāo)測(cè)試用例測(cè)試失敗。
35、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
36、在實(shí)施對(duì)測(cè)試步驟的測(cè)試過程中,由主機(jī)基于目標(biāo)測(cè)試用例所包含的測(cè)試步驟的順序依次對(duì)各測(cè)試步驟實(shí)施測(cè)試以獲得目標(biāo)測(cè)試用例的用例測(cè)試結(jié)果,獲取目標(biāo)測(cè)試用例組中各目標(biāo)測(cè)試用例的用例測(cè)試結(jié)果,由此實(shí)現(xiàn)自動(dòng)化測(cè)試,一般無需人工操作,以解決現(xiàn)有的eap模擬測(cè)試過程中依賴于人工所存在的測(cè)試不便的缺陷,且測(cè)試過程簡(jiǎn)單、實(shí)用性高。