• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

Chroma8000測試軟件Bug反饋(20080822更新_13)

一、Chroma8000測試軟件之Bug

    算是多年工作一個總結吧,先把平時零零散散的記錄Chroma8000測試軟件的Bug反應一下,希望能有一個互動,從事相關工作的同行作個參考.優點與缺點還得總結一下,後面再說.

1、在TP Editor定義Spec.Vector時,-1是“<”-2的,相然可以說Spec.Vector是針對V/A/ms,但如果編寫TI時,用if_then來求Ture/Flase值時,就等著暈菜吧.解決辦法是,如果Min/Max都是負數的話,就把Min/Max都轉成正數吧.

2、If_Then命令,如比較數為SpecVector時﹐SepcVector不能設為“*”,這個算不上Bug,但非常不方便.

3、Item Edit : Enume Item Editor,Item name不能超25個字符﹐限制太短.

4、HexString ADD 時, 實為&.

5、ReadControlInt命令:沒發現INI文件時﹐程序停止響應.

6、Result變量檢查是規格是<= >=, 個人認為< >更合理一些.

7、缺String[ ] 變量類型.

8﹑Pre Test Item 不能建立Result變量,有時在PreTest時需作一些測試.

9、Float變量定義為6位時,如1.000000,Item發布後,TP 編輯時就變成0.99..,反正是小於1了.

10、 20080418:
和第2一樣,關於If_Then命令,如比較數為SpecVector時, 用“<=”“>=”時無不能判斷邏輯,“<”“>”可以用,其它沒有測試.
    等待解決中......

11、Float變量定義為6位時,如1.000000,Item發布後,TP 編輯時就變成0.99..,反正是小於1了.
   Conditon變量已解決,Result還是存在此問題.

12、If_Then: 判斷不了字符,好像隻能判斷數值.

13、CheckVarSpec: 不能Check條件變量.
全部回复(39)
正序查看
倒序查看
anrry.lee
LV.6
2
2008-01-11 14:17
非常感謝樓主的用心總結,我會盡快將以上訊息轉告公司FAE,讓祂們與你共同探討,共同改進.
    以後還希望樓主繼續支持我們的產品哦,給你的貼加精啦.呵呵.
0
回复
owen.zhao
LV.4
3
2008-01-14 14:40
@anrry.lee
非常感謝樓主的用心總結,我會盡快將以上訊息轉告公司FAE,讓祂們與你共同探討,共同改進.    以後還希望樓主繼續支持我們的產品哦,給你的貼加精啦.呵呵.
FAE應解決不了,最好反應給台北RD.
0
回复
kiko
LV.5
4
2008-01-15 13:02
老兄,看你發的問題,應該也是一個Chroma 8000軟件的使用高手了;不過感覺你是否很久沒有和Chroma FAE 聯系了,沒有拿到Chroma 的新版本軟件,所以你還有這些問題;現在針對性的給你解答一下;
A:1和2問題:在Chroma 軟件中使用規格檢查命令,你就沒有這些煩惱了,命令:(CheckVarSpecEx);這個問題其實就是向量比較大小和實數比較大小,if_then不能拿來判斷向量;
B:3,4,5問題:早期版本確實有問題,不過你升級到新版本就沒有問題了,我們每天都要進步呀!呵呵!
C:6問題:這是電源界多年的習慣,都要含這2個點,而且對工廠來講也是有好處的,呵呵;
D:7問題:太厲害了,這樣的問題都被你發現了,不過對於測試軟件來講這樣功能要求被使用的太少了;我們會再新的軟件中增加這個功能,Chroma 8000就隻有使用其它方法去完成這樣的功能了;
E:8問題:在Chroma 8000軟件中有Pre Test,UUT Test,Post Test, Pre Test Item隻能放在PreTest中,而在Chroma的規劃中PreTest隻是用來初始化儀器的,系統在運行時隻在第一次運行,以後都不執行了,所以你放了相關電源在結果,第二台就測試不到了,所以不能在Pre Test Item中加結果變量;

以上回復不知道你同不同意,歡迎大家踴躍討論!
0
回复
2008-01-15 13:41
從你的問題來看,你對Chroma8000已經有了相當的了解,人才啊,現在象你這樣的人才越來越少了.不過你的問題樓上的已經回復的差不多了,我稍微補充下一些觀念的問題吧
對于你的問題1:
    此為電源測試習慣與數學習慣不同問題,所謂的正、負電壓只是極性的問題.一般來講-5V那組如果輸出-1V,我們都會說-5V太低而不會說-5V太大,就是說電壓我們實際在描述的時候不是用數學的大小做比較.所以此問題不能算低級Bug,應該說你沒有完全理解其中含義.
問題2,3,4,5
從樓上kiko的回復看起來都已經更新了,所以要經常和原廠保持聯絡才好啊,其實windows也是Bug不斷的,所以常常更新才是硬道理啊
問題6,
既然是習慣問題,那我們做個游戲:請你說出+5V  +/-5%的輸出電壓是多少?你一定會告訴我 4.75到5.25 ,而不是4.74999999...到5.249999999...,所以人的習慣是包含"="的,我想其實你也一樣
問題7,
架構的問題,不過我想下一代平台系統應該會加上,但從樓上的回答其實當需要String[ ] 變量類型的時候還是有辦法達到其功能的.
問題8,
樓上kiko回復的很明白了.
0
回复
owen.zhao
LV.4
6
2008-01-15 14:41
@michaelzhang
從你的問題來看,你對Chroma8000已經有了相當的了解,人才啊,現在象你這樣的人才越來越少了.不過你的問題樓上的已經回復的差不多了,我稍微補充下一些觀念的問題吧對于你的問題1:    此為電源測試習慣與數學習慣不同問題,所謂的正、負電壓只是極性的問題.一般來講-5V那組如果輸出-1V,我們都會說-5V太低而不會說-5V太大,就是說電壓我們實際在描述的時候不是用數學的大小做比較.所以此問題不能算低級Bug,應該說你沒有完全理解其中含義.問題2,3,4,5從樓上kiko的回復看起來都已經更新了,所以要經常和原廠保持聯絡才好啊,其實windows也是Bug不斷的,所以常常更新才是硬道理啊問題6,既然是習慣問題,那我們做個游戲:請你說出+5V  +/-5%的輸出電壓是多少?你一定會告訴我4.75到5.25,而不是4.74999999...到5.249999999...,所以人的習慣是包含"="的,我想其實你也一樣問題7,架構的問題,不過我想下一代平台系統應該會加上,但從樓上的回答其實當需要String[]變量類型的時候還是有辦法達到其功能的.問題8,樓上kiko回復的很明白了.
謝謝兩位的解答,1和6的問題有必要再討論一下哦.

問題一、Chroma8000定位於易於使用的相對開放測試平台,基本的邏輯概念不能與傳統編程語言(如VB/C等等)相駁.如if...then等常用語句就更不能了,不然會給人難以使用的印像.kiko提到的用CheckVarSpecEx,底層也應是if...then吧.關於傳統編程語言相駁還有數組的定義,VB/C都是從[0]為第一個元素,Chroma8000從[1]為第一個元素.

問題六、先補充一個Bug, float變量定義為6位時,如1.000000,Item發布後,TP 編輯時就變成0.99..,反正是小於1了.float數的精度與float的比較是編程中比較金典的問題,採用><相對來說安全些,當然隻是個人建議.
0
回复
owen.zhao
LV.4
7
2008-01-16 08:10
@owen.zhao
謝謝兩位的解答,1和6的問題有必要再討論一下哦.問題一、Chroma8000定位於易於使用的相對開放測試平台,基本的邏輯概念不能與傳統編程語言(如VB/C等等)相駁.如if...then等常用語句就更不能了,不然會給人難以使用的印像.kiko提到的用CheckVarSpecEx,底層也應是if...then吧.關於傳統編程語言相駁還有數組的定義,VB/C都是從[0]為第一個元素,Chroma8000從[1]為第一個元素.問題六、先補充一個Bug,float變量定義為6位時,如1.000000,Item發布後,TP編輯時就變成0.99..,反正是小於1了.float數的精度與float的比較是編程中比較金典的問題,採用>
覺得說的不是很清楚,再補充一下.
問題一、比如檢查一規格(一組輸出電源吧),Item規格變量可以用Spec.Vector也可以用condition變量,if...then就會有兩種不同的結果,總不能說Spec.Vector不能用if...then吧(正數適用,負數就不適用了)?
我想不論是C/R/T變量,還是Spec.Vector本質是都是局域變量,Spec.Vector隻是方便TP編輯而已.

問題二、簡而言之,當設定一個小於1的規格如0.99...時,因Float精度問題,很可能0.99...=1.
0
回复
owen.zhao
LV.4
8
2008-01-22 09:11
@owen.zhao
覺得說的不是很清楚,再補充一下.問題一、比如檢查一規格(一組輸出電源吧),Item規格變量可以用Spec.Vector也可以用condition變量,if...then就會有兩種不同的結果,總不能說Spec.Vector不能用if...then吧(正數適用,負數就不適用了)?我想不論是C/R/T變量,還是Spec.Vector本質是都是局域變量,Spec.Vector隻是方便TP編輯而已.問題二、簡而言之,當設定一個小於1的規格如0.99...時,因Float精度問題,很可能0.99...=1.
都很忙? :-)再補充一下問題一.

“此為電源測試習慣與數學習慣不同問題,所謂的正、負電壓只是極性的問題.一般來講-5V那組如果輸出-1V,我們都會說-5V太低而不會說-5V太大,就是說電壓我們實際在描述的時候不是用數學的大小做比較.”

如有一個Regulation的規格為-0.5 ~ -0.1,Spec.Vector就不好定義了.
0
回复
kiko
LV.5
9
2008-02-18 13:48
@owen.zhao
覺得說的不是很清楚,再補充一下.問題一、比如檢查一規格(一組輸出電源吧),Item規格變量可以用Spec.Vector也可以用condition變量,if...then就會有兩種不同的結果,總不能說Spec.Vector不能用if...then吧(正數適用,負數就不適用了)?我想不論是C/R/T變量,還是Spec.Vector本質是都是局域變量,Spec.Vector隻是方便TP編輯而已.問題二、簡而言之,當設定一個小於1的規格如0.99...時,因Float精度問題,很可能0.99...=1.
新版本沒有你說的這個現象,請參考下面的圖片!500) {this.resized=true; this.width=500; this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}" onclick="if(!this.resized) {return true;} else {window.open('http://u.dianyuan.com/bbs/u/62/2106241203313673.jpg');}" onmousewheel="return imgzoom(this);">
0
回复
kiko
LV.5
10
2008-02-18 14:01
@owen.zhao
都很忙?:-)再補充一下問題一.“此為電源測試習慣與數學習慣不同問題,所謂的正、負電壓只是極性的問題.一般來講-5V那組如果輸出-1V,我們都會說-5V太低而不會說-5V太大,就是說電壓我們實際在描述的時候不是用數學的大小做比較.”如有一個Regulation的規格為-0.5~-0.1,Spec.Vector就不好定義了.
關於最大和最小值的問題,請參考下表就清楚怎麼樣設置;

500) {this.resized=true; this.width=500; this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}" onclick="if(!this.resized) {return true;} else {window.open('http://u.dianyuan.com/bbs/u/62/2106241203314444.jpg');}" onmousewheel="return imgzoom(this);">
0
回复
owen.zhao
LV.4
11
2008-02-25 16:14
回家一個月了, 給大家拜過晚年! 祝大家新年快樂!
0
回复
dirytian
LV.1
12
2008-02-27 15:10
@owen.zhao
回家一個月了,給大家拜過晚年!祝大家新年快樂!
高手們﹐新年快樂﹐順祝OWEN新新婚愉快....
0
回复
kiko
LV.5
13
2008-02-28 08:25
@dirytian
高手們﹐新年快樂﹐順祝OWEN新新婚愉快....
哈哈,我知道你們是誰了,好久沒有去你們那裡了;
0
回复
owen.zhao
LV.4
14
2008-03-25 11:55
二、Chroma8000測試軟件之缺點

說到Chroma8000優缺點,與另一重量級的測試平台—TestStand進行一個比較就很容易得出來.個人認為缺點有以下幾點:
1、 測試時間,因沒有編譯器,執行的測試機種檔不是編譯檔,理論上不可能比有編譯系統的平台快.如果進一步的對比到TestStand的多線程並聯測試,那差距就更大了

2、 不能調用dll,不能自定義函數(公式):
自編Test Item,相對儀器驅動很方便,邏輯計算就很不方便了,比如很簡單的(A+B+C)/D*E+A…,那將會“相當的”麻煩,如果有這樣一個題目:合並一維數組A(a,b,a,a,d,d,c,a,e….)中相當的元素,生成新的一維數組,那得直接暈倒! 下面是我用一天時間搞出VB原碼(有需要的可參考一下,網上沒有),要是用8000搞的話,沒有十天半月怕是下不來.便願8000能早日能支持dll的調用.對了,執行外部程式的命令性能很不好.
'****--------------------刪除數組中相同的元素-------------------****
  For i = 0 To UBound(strCodePassNames)   '窮舉數組,相同元素用""取代
        If Not strCodePassNames(i) = "" Then
            strTemp = strCodePassNames(i)
            For j = i + 1 To k
                If strCodePassNames(j) <> "" Then
                    If strCodePassNames(i) = strCodePassNames(j) Then
                        strCodePassNames(j) = ""
                        h = h + 1
                    End If
                End If
            Next j
        End If
    Next i
    Dim strCodePass() As String
    ReDim strCodePass(UBound(strCodePassNames) - h - 1) As String
    j = 0
    For i = 0 To k - 1
        If strCodePassNames(i) <> "" Then
            strCodePass(j) = strCodePassNames(i)   '
            j = j + 1
        End If
    Next i
3、 價格成本,雖然不是很清楚Chroma8000軟件的價格,每套硬件得配一套軟件,這個說到底還是編譯系統的問題.畢竟人家CVI+TestStand一套就夠了,這個我也不是很懂,或許是商業方面的考慮.
0
回复
owen.zhao
LV.4
15
2008-03-31 11:28
三、優點:
1) 因可編輯Test Item的存在,理論上永遠存在測試性能改善的空間.個人認為8000自帶Item至少有50%可改善的空間.
2) Statistics 模塊很好,但處理速度有待改進.
3) Management模塊也不錯,特別是User Management、Remote TP很適用.
4)Go/No Go界面不錯,在選擇Variable Info多項時,對測試速度有影響.
0
回复
kiko
LV.5
16
2008-04-01 11:37
@owen.zhao
二、Chroma8000測試軟件之缺點說到Chroma8000優缺點,與另一重量級的測試平台—TestStand進行一個比較就很容易得出來.個人認為缺點有以下幾點:1、測試時間,因沒有編譯器,執行的測試機種檔不是編譯檔,理論上不可能比有編譯系統的平台快.如果進一步的對比到TestStand的多線程並聯測試,那差距就更大了2、不能調用dll,不能自定義函數(公式):自編TestItem,相對儀器驅動很方便,邏輯計算就很不方便了,比如很簡單的(A+B+C)/D*E+A…,那將會“相當的”麻煩,如果有這樣一個題目:合並一維數組A(a,b,a,a,d,d,c,a,e….)中相當的元素,生成新的一維數組,那得直接暈倒!下面是我用一天時間搞出VB原碼(有需要的可參考一下,網上沒有),要是用8000搞的話,沒有十天半月怕是下不來.便願8000能早日能支持dll的調用.對了,執行外部程式的命令性能很不好.'****--------------------刪除數組中相同的元素-------------------****  Fori=0ToUBound(strCodePassNames)  '窮舉數組,相同元素用""取代        IfNotstrCodePassNames(i)=""Then            strTemp=strCodePassNames(i)            Forj=i+1Tok                IfstrCodePassNames(j)""Then                    IfstrCodePassNames(i)=strCodePassNames(j)Then                        strCodePassNames(j)=""                        h=h+1                    EndIf                EndIf            Nextj        EndIf    Nexti    DimstrCodePass()AsString    ReDimstrCodePass(UBound(strCodePassNames)-h-1)AsString    j=0    Fori=0Tok-1        IfstrCodePassNames(i)""Then            strCodePass(j)=strCodePassNames(i)  '            j=j+1        EndIf    Nexti3、價格成本,雖然不是很清楚Chroma8000軟件的價格,每套硬件得配一套軟件,這個說到底還是編譯系統的問題.畢竟人家CVI+TestStand一套就夠了,這個我也不是很懂,或許是商業方面的考慮.
1:你的建議和想法我們會認真處理;
2:你感覺和理論上使用TestStand快,但我想這些需要使用測試相同的測試條件測試相同的產品比較比較過才有正確結論;
3:我這有其他客戶那裡有使用Chroma 8000取代客戶(客戶美國編寫的LabView程序)案例;他們取代的原因: a.速度;b.維護難易;C.Chroma的優良服務 :);
0
回复
kiko
LV.5
17
2008-04-01 11:40
@owen.zhao
三、優點:1)因可編輯TestItem的存在,理論上永遠存在測試性能改善的空間.個人認為8000自帶Item至少有50%可改善的空間.2)Statistics模塊很好,但處理速度有待改進.3)Management模塊也不錯,特別是UserManagement、RemoteTP很適用.4)Go/NoGo界面不錯,在選擇VariableInfo多項時,對測試速度有影響.
說是優點,怎麼看起來還是象缺點;
不過你提的都是寶貴意見,我們會努力做得更好!
0
回复
owen.zhao
LV.4
18
2008-04-03 09:33
@kiko
說是優點,怎麼看起來還是象缺點;不過你提的都是寶貴意見,我們會努力做得更好!
絕對是優點,要說的話,也是美中不足吧!:-)

1)System Item 的問題是沒有脫離6000的思路,我覺得應搞一個System Item 2.0.有時間的話,我就Item的優化寫點體會,看能不能給你們一些參考.

2) Statistics 模塊在全局變量較多的情況,的確會很慢.總體來說功能很強大.

3)...

4)我的建議是Go/NoGo 執行測試時可以搞一個簡化界面.畢竟生產正式測試時,作業人員不需要看很多的內容.
0
回复
owen.zhao
LV.4
19
2008-04-21 08:50
頂!
0
回复
owen.zhao
LV.4
20
2008-04-25 11:23
再頂一個!
0
回复
owen.zhao
LV.4
21
2008-05-08 08:55
@owen.zhao
再頂一個!
Up!
0
回复
keith-zhang
LV.3
22
2008-05-22 17:12
@owen.zhao
Up!
顶一个,向王工和Owen.Zhao学习
0
回复
kiko
LV.5
23
2008-05-22 17:21
@keith-zhang
顶一个,向王工和Owen.Zhao学习
你是?
0
回复
2008-05-29 13:21
@michaelzhang
從你的問題來看,你對Chroma8000已經有了相當的了解,人才啊,現在象你這樣的人才越來越少了.不過你的問題樓上的已經回復的差不多了,我稍微補充下一些觀念的問題吧對于你的問題1:    此為電源測試習慣與數學習慣不同問題,所謂的正、負電壓只是極性的問題.一般來講-5V那組如果輸出-1V,我們都會說-5V太低而不會說-5V太大,就是說電壓我們實際在描述的時候不是用數學的大小做比較.所以此問題不能算低級Bug,應該說你沒有完全理解其中含義.問題2,3,4,5從樓上kiko的回復看起來都已經更新了,所以要經常和原廠保持聯絡才好啊,其實windows也是Bug不斷的,所以常常更新才是硬道理啊問題6,既然是習慣問題,那我們做個游戲:請你說出+5V  +/-5%的輸出電壓是多少?你一定會告訴我4.75到5.25,而不是4.74999999...到5.249999999...,所以人的習慣是包含"="的,我想其實你也一樣問題7,架構的問題,不過我想下一代平台系統應該會加上,但從樓上的回答其實當需要String[]變量類型的時候還是有辦法達到其功能的.問題8,樓上kiko回復的很明白了.
您好!请问那里能下载或买到?谢谢!我的邮箱是moralnoblelu@126.com
0
回复
keith-zhang
LV.3
25
2008-07-07 17:03
@kiko
你是?
因很少上电源网,所以今天才回帖
我以前有听过你讲课,但是你不认识我
跟蒋工和robe 比较熟
0
回复
kiko
LV.5
26
2008-07-11 15:32
@keith-zhang
因很少上电源网,所以今天才回帖我以前有听过你讲课,但是你不认识我跟蒋工和robe比较熟
那你在電源行業也呆了很久了,工作還很好吧!
0
回复
owen.zhao
LV.4
27
2008-08-22 10:26
12、If_Then: 判斷不了字符,好像隻能判斷數值.
13、CheckVarSpec: 不能Check條件變量.
0
回复
kiko
LV.5
28
2008-08-25 11:45
@owen.zhao
12、If_Then:判斷不了字符,好像隻能判斷數值.13、CheckVarSpec:不能Check條件變量.
12. 在C語言中的if 不能直接比較字符吧;
     在C8000中可以用來判斷字符是否相等,這個應該還很實用吧;
13. 什麼條件變量?能給個例子嗎?
0
回复
owen.zhao
LV.4
29
2008-08-25 12:51
@kiko
12.在C語言中的if不能直接比較字符吧;    在C8000中可以用來判斷字符是否相等,這個應該還很實用吧;13.什麼條件變量?能給個例子嗎?
1、C裡判斷是表達式的值,真與假(非0),與具體比較的內容無關.
   C_真:非0值
    C_假:0
    VB_真:-1,實際上也是非0
    VB_假:0

2、條件變量: TI編輯裡Conditon內的變量.
0
回复
kiko
LV.5
30
2008-08-26 09:50
@owen.zhao
1、C裡判斷是表達式的值,真與假(非0),與具體比較的內容無關.  C_真:非0值    C_假:0    VB_真:-1,實際上也是非0    VB_假:02、條件變量:TI編輯裡Conditon內的變量.
1:道理沒有錯,但是Chroma 裡的if then比C裡的if 有所不同,
  char A[],B[];
  C中: if(strcmp(A,B)) 是看strcmp(A,B)函數返回值來確定真假,
  chroma中:if A = B Then gotoPass中是直接比較了A和B然後根據結果再跳轉;就象在C中你寫 if(A=B)then ...肯定出錯的道理是一樣的;
2:我測試過可以判斷呀,請參考TI;
   其實條件變量不需要你在寫TI中去另外判斷,你隻需要在編寫變量時將它的上下限寫進去就可以了,可以防止用戶輸入條件不合理,或超出儀器的范圍;
0
回复
owen.zhao
LV.4
31
2008-08-26 10:59
@kiko
1:道理沒有錯,但是Chroma裡的ifthen比C裡的if有所不同,  charA[],B[];  C中:if(strcmp(A,B))是看strcmp(A,B)函數返回值來確定真假,  chroma中:ifA=BThengotoPass中是直接比較了A和B然後根據結果再跳轉;就象在C中你寫if(A=B)then...肯定出錯的道理是一樣的;2:我測試過可以判斷呀,請參考TI;  其實條件變量不需要你在寫TI中去另外判斷,你隻需要在編寫變量時將它的上下限寫進去就可以了,可以防止用戶輸入條件不合理,或超出儀器的范圍;
1、希望能有: if "aaa"="AAA" then...的判斷.
2、條件變量在TI中有時會根據流程改變的,所以需要CheckVarSpec變動後的值.
3、好像沒有字符轉Acsii碼的命令.500) {this.resized=true; this.width=500; this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}" onclick="if(!this.resized) {return true;} else {window.open('http://u.dianyuan.com/bbs/u/68/2349801219719562.jpg');}" onmousewheel="return imgzoom(this);">
0
回复