最近有人問到如何將QC中的測試案例,包括step以及step的參數,並且保留它的目錄結構。如果熟悉QC的表結構的話,這個問題不難解決。
可以參考下面的SQL語句來做:
--查出所有測試案例ID
SELECT TS_TEST_ID FROM td.TEST ORDER BY TS_TEST_ID ASC
--查出所有測試案例的描述資訊
SELECT TS_ATTACHMENT,TS_CREATION_DATE,TS_DESCRIPTION,TS_ESTIMATE_DEVTIME,TS_EXEC_STATUS,TS_NAME,TS_PATH,TS_RESPONSIBLE,TS_RUNTIME_DATA,TS_STATUS,TS_STEP_PARAM,TS_STEPS,TS_SUBJECT,TS_TEMPLATE,TS_TEST_ID,TS_TEST_VER_STAMP,TS_TEXT_SYNC,TS_TIMEOUT,TS_TYPE,TS_USER_01,TS_USER_02,TS_USER_03,TS_USER_04,TS_VC_CUR_VER,TS_VTS FROM td.TEST WHERE TS_TEST_ID IN ( SELECT TS_TEST_ID FROM td.TEST ) ORDER BY TS_TEST_ID ASC
--尋找測試案例第一層主題(目錄),包括根目錄
SELECT * FROM td.ALL_LISTS WHERE AL_ABSOLUTE_PATH LIKE 'AAAAAM%' AND LEN(AL_ABSOLUTE_PATH)<10 ORDER BY AL_ABSOLUTE_PATH ASC
--尋找指定主題下的子主題(子目錄)個數
SELECT count(*) FROM td.ALL_LISTS WHERE AL_FATHER_ID ='72'
--尋找指定主題下的子主題(子目錄)
SELECT * FROM td.ALL_LISTS WHERE AL_FATHER_ID ='72'
--尋找指定主題下所包含的測試案例
select * from td.TEST where TS_Subject = '80'
--尋找指定測試案例的測試步驟資訊
select * from td.DESSTEPS where DS_TEST_ID='43' ORDER BY DS_STEP_ORDER ASC
--尋找測試步驟中的參數資訊
SELECT * FROM td.STEP_PARAMS WHERE SP_ENTITY='TEST'
其實如果想要搞清楚QC的表結構,可以利用SQLServer的事件探查器來跟蹤QC執行過程中發送到SQLServer的SQL語句,即可分析出來具體一個模組的操作涉及到哪些表格和欄位。