1.腳本片段
這里應該是大家很期待的部分了。CQ功能的強大,就體現在這里。這里我也只明白了一小部分,更多的功能,等待大家的挖掘。
代碼并不是萬能的,一些代碼,只對使用客戶端的用戶有效,對用Web端提交錯誤的用戶就不好使了。
首先來看一個標準的腳本片段:
1 Sub tjsj_DefaultValue(fieldname)
2 ' fieldname As String
3 ' record type name is Defect
4 ' field name is 提交時間
5 REM Set the initial value of the field here. Example:
6 REM SetFieldValue fieldname, 12345
7 SetFieldValue "提交時間", time
8 End Sub
上面是一個標準的CQ中使用的子函數。
灰顏色:表示系統自動生成的代碼,不可修改。
暗綠色:表示注釋。在CQ中,以“REM+空格”或“’+空格”開頭的都表示是注釋,注釋內容不運行
黑色:表示手工填寫的代碼。
紫色:為了方便說明加上的序號。在代碼中紫色序號是不存在的。
分析:第1行說明此為一個basic子過程,tjsj_DefaultValue是過程名。過程名前面的tjsj是“提交時間”字段的數據庫列名,代表此函數是提交時間字段的腳本;后面的Defultvalue是字段列表中列的名稱,也可以說是字段的屬性。
第2-4行是自動給出的關于此過程的定義說明。
第5-6行是CQ中關于此字段屬性的說明。有的說明中會有代碼示例,可以參照代碼示例進行腳本的編寫。
第7行就是自己所編寫的腳本。具體編程代碼,可以參照VB的一些相關文檔,或者是Rational關于編程方面的資料。
第8行表示過程結束。
除了在Field和Actions可以編寫腳本外,在Record Scripts中也可以編寫自己的函數,這部分我沒有使用過,不知道應該如何使用。
如果有時間,可以看看Global Script中的腳本,對理解CQ中自動給出的一些功能會有更深的體會。
在Actions中編寫代碼后,千萬不要忘記了在Behaviors中相應的地方設置為USE_HOOK,否則編寫是不會有效果的。
下面的是一些常用的指令:
1.SetFieldValue fildname, value
這個恐怕是最常用的了。就是賦值函數。Filename就是字段名(中文使用””號括起來就可以了),value就是賦予此字段的值。
代碼示例:取當前系統時間,賦予提交時間字段。
SetFieldValue "提交時間", time
2.GetFieldValue(fildname).GetValue()
取fildname字段的值
GetFieldValue("模塊").GetValue()代表把模塊的值取出來。
代碼示例:判斷選擇的模塊名,給予不同的程序員修改(此代碼只對使用CQ客戶端的用戶有效,對用Web提交缺陷的用戶無效)
Dim module
Module = GetFieldValue("模塊").GetValue() ' 取模塊內容
Select case Module ' 下面的內容按照實際情況修改
case "模塊1"
SetFieldValue "負責人", "programmer1"
case "模塊2"
SetFieldValue "負責人", " programmer2"
case "模塊3"
SetFieldValue "負責人", " programmer3"
End Select
3.Getsession,GetUserLoginName
獲得登陸用戶名
代碼示例:把提交人設置為登陸的用戶
DIM session
DIM username
set session = GetSession
username = session.GetUserLoginName
SetFieldValue "submmitter",username
4.GetActionType
獲得狀態名。
這里可能會有一些問題,因為狀態命名方式為AD_Action。但是我在配置的時候,Action定義為中文,好像無法在代碼中使用,所以這個部分只好放棄了。
我之所以用中文,是因為很多的時候,此程序都是不了解CQ的人在使用,如果使用過多的英文名,會讓人看著發暈。所以只要可能,我都進行了相關的漢化。
1. Call 過程
調用過程
可以在Record Scripts中編寫自己的函數,之后在其他的地方調用此函數
2.補充說明
1.如果安裝的是SQL正版軟件,安裝過程中,會有一個規則選項,在InstallationGuideClearQuest.pdf第30頁中說明了規則的選擇。其實,我記得這個按照缺省的選擇就可以了,不用修改。
1. Access數據庫,應該是可以使用遠端連接的,只要放在共享目錄中就可以。
3.一定要選擇正確的維護庫,才可以進入相應的數據庫。
4.創建維護庫中,可以選擇“Create sample database”,這個例子十分的好,里面有方方面面的設置,對于CQ設置來說,很有啟發意義。
5.這里為了方便,舉例的時候,使用的是TEST計劃。實際使用中,應該配置一個缺省的計劃,其他計劃都從此計劃中集成,這樣每個使用的計劃只要根據需要進行部分的修改就可以了。
6.用戶和組,只能添加修改,不能刪除,所以添加的時候,一定要小心謹慎。
7.計劃修改完畢后,一定不要忘記了Upgrade Database。
8.計劃和數據庫可以不相關,也就是說,設計計劃的時候可以不連接數據庫。但是在使用計劃的時候,就必須要連接數據庫了。
9.最好修改admin的密碼,或者干脆刪除。設置其他用戶為超級管理員。缺省的太簡單了,很容易被別人使用破壞。
10.使用中,應該盡量用英文,因為一些地方對中文的支持不是很好。
11.CQ可以和其他Rational產品一起使用,而且其他產品使用的用戶都是在CQ Designer中創建的。
12.CQ的幫助系統做的十分好,到處都有幫助按鈕,如果遇到不清楚的地方,可以點擊“幫助”按鈕進行相關的查找。
13.在CQ安裝目錄中,有一個books目錄,英文好的,里面的六個文檔都可以看一下,可以更深刻的理解CQ的功能。
14.在每建立一個缺陷庫的時候,測試人員不要忘記了在CQ客戶端中使用admin建立各種查詢和圖表,很少有開發人員會去查看幫助文檔自己建立查詢。
15.使用SQL Server數據庫,缺陷記錄在800兆以上的時候,可能會出現問題。
16.我曾經碰到過使用的用戶組損壞的情況,組內用戶在客戶端無法進行Action操作。這個時候,新建一個用戶組,把原組人員挪到新的用戶組就能用了。
17.建議:測試組人員由于是固定的,可以使用一個用戶組,賦予所有的計劃和數據庫權限;每個項目組都單獨建立一個用戶組,組內用戶只有本測試計劃的權限,這樣權限能清晰些。
18.其他的以后再補充。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/