一個項目進(jìn)行到了QA階段, 要大規(guī)模測試程序與JMS(Sonic MQ)交互的性能.
經(jīng)"上面"研究決定, 要用到傳說中性能測試很牛叉的JMeter. 由于我是TRG(Technical Research Group)
Jmeter小組的組長(其實也就是混事,沒什么事情寫個report吹噓一下研究結(jié)果,如此而已), 所以被臨時調(diào)過來充當(dāng)QA.
不測不知道,一測嚇一跳,雖說JMeter的官方網(wǎng)站上鼓吹JMeter支持對于JMS的性能測試, 但我們發(fā)現(xiàn)根本不是那么回事,
消息能被發(fā)出也可以被接接收,但GUI上沒有絲毫數(shù)據(jù)顯示(包括發(fā)送接收時間,發(fā)送接收內(nèi)容等信息), 沒有這些數(shù)據(jù)讓我怎么寫報告?
難不成讓我的項目經(jīng)理過來,我拿秒表記錄每條信息發(fā)送和接收的時間? 開源的東西就是這點害人,遇到問題了,跟本沒人搭理你.
我跑到JMeter的bugzilla上去察看, 我k, 一堆bug post在上面,沒有一個有response的, 我趕快閃開了~~
和項目經(jīng)理匯報了這個情況后, 他的指示是"不管怎么樣,JMeter作為測試工具是美國那邊指定的,不論采取什么辦法,一定得給我整出來!" 我點頭答應(yīng),但心里不斷嘀咕"我k,怎么整出來啊~" 幸好項目經(jīng)理還比較有人性, 給我也配了個兩個"小弟"(準(zhǔn)確的說是一男一女), 剛進(jìn)來實習(xí)的所以比較聽話, 恩, 我喜歡. 我給他們的指示是"不管怎么樣,JMeter作為測試工具是美國那邊指定的,不論采取什么辦法,一定得給我整出來!" 他們紛紛點頭, 我心里那叫一爽. 花了三天的時間, 我們通讀了一遍JMeter(version 1.10) JMS 部分的代碼: org.apache.jmeter.protocol.jms. 又經(jīng)過兩天痛苦的煎熬,終于發(fā)現(xiàn)問題出現(xiàn)在邏輯層(PulisherSampler.java SubsriberSampler.java)在向表現(xiàn)層(ResultSample.java)中set message時居然沒有指定數(shù)據(jù)的類型, ResultSample得不到message的具體類型, 自然什么東西的顯示不出來. 一直拖到今天, 重新編譯了代碼, 重新運行, 結(jié)果正確的顯示到了GUI上, 我長出了一口氣, 問題終于解決了. 被我壓榨了若干天的兩個小弟, 更是長出了一口氣, 終于可以從我的魔爪中掙脫了~~~
問題解決當(dāng)然免不了寫個報告, 邀一下功了, 記得在報告中我寫道:"We feel the strong sense of freedom which open softwares bring with us." 這種freedom對于我們這些凡夫俗子從某種程度上講,實在是件遭罪的事. 但反過來想想,我感覺莫名的興奮,因為不知不覺間我為開源軟件做出了自己的一點微薄的貢獻(xiàn), 可能就是千千萬萬的這樣的微薄的貢獻(xiàn)才成就了現(xiàn)在的開源軟件. 成也開源, 敗也開源. 把原代碼暴露在所有開發(fā)者的面前, 會造成兩種局面: 其一, 代碼被濫用, 軟件的質(zhì)量越來越差; 其二, 所有關(guān)心開源軟件的程序員都貢獻(xiàn)出自己的力量,不斷提高軟件的質(zhì)量. 使我欣喜的是,大多數(shù)程序員都是完美主義者,不約而同的選擇了后者, 在他們的眼中, "建設(shè)帶來的樂趣遠(yuǎn)遠(yuǎn)大于破壞".
嘮嘮叨叨了這么大一砣,回頭再看,真是不知所云~~~ 天一, 求求你, 不要刪我的貼
最后希望所有的程序員,都來支持開源軟件,雖然有時他很不成熟, 但正是這種不成熟才給了我們發(fā)揮自己創(chuàng)造力的機會. 畢竟"軟件就像性交, 不要錢的更好!"
和項目經(jīng)理匯報了這個情況后, 他的指示是"不管怎么樣,JMeter作為測試工具是美國那邊指定的,不論采取什么辦法,一定得給我整出來!" 我點頭答應(yīng),但心里不斷嘀咕"我k,怎么整出來啊~" 幸好項目經(jīng)理還比較有人性, 給我也配了個兩個"小弟"(準(zhǔn)確的說是一男一女), 剛進(jìn)來實習(xí)的所以比較聽話, 恩, 我喜歡. 我給他們的指示是"不管怎么樣,JMeter作為測試工具是美國那邊指定的,不論采取什么辦法,一定得給我整出來!" 他們紛紛點頭, 我心里那叫一爽. 花了三天的時間, 我們通讀了一遍JMeter(version 1.10) JMS 部分的代碼: org.apache.jmeter.protocol.jms. 又經(jīng)過兩天痛苦的煎熬,終于發(fā)現(xiàn)問題出現(xiàn)在邏輯層(PulisherSampler.java SubsriberSampler.java)在向表現(xiàn)層(ResultSample.java)中set message時居然沒有指定數(shù)據(jù)的類型, ResultSample得不到message的具體類型, 自然什么東西的顯示不出來. 一直拖到今天, 重新編譯了代碼, 重新運行, 結(jié)果正確的顯示到了GUI上, 我長出了一口氣, 問題終于解決了. 被我壓榨了若干天的兩個小弟, 更是長出了一口氣, 終于可以從我的魔爪中掙脫了~~~
問題解決當(dāng)然免不了寫個報告, 邀一下功了, 記得在報告中我寫道:"We feel the strong sense of freedom which open softwares bring with us." 這種freedom對于我們這些凡夫俗子從某種程度上講,實在是件遭罪的事. 但反過來想想,我感覺莫名的興奮,因為不知不覺間我為開源軟件做出了自己的一點微薄的貢獻(xiàn), 可能就是千千萬萬的這樣的微薄的貢獻(xiàn)才成就了現(xiàn)在的開源軟件. 成也開源, 敗也開源. 把原代碼暴露在所有開發(fā)者的面前, 會造成兩種局面: 其一, 代碼被濫用, 軟件的質(zhì)量越來越差; 其二, 所有關(guān)心開源軟件的程序員都貢獻(xiàn)出自己的力量,不斷提高軟件的質(zhì)量. 使我欣喜的是,大多數(shù)程序員都是完美主義者,不約而同的選擇了后者, 在他們的眼中, "建設(shè)帶來的樂趣遠(yuǎn)遠(yuǎn)大于破壞".
嘮嘮叨叨了這么大一砣,回頭再看,真是不知所云~~~ 天一, 求求你, 不要刪我的貼
最后希望所有的程序員,都來支持開源軟件,雖然有時他很不成熟, 但正是這種不成熟才給了我們發(fā)揮自己創(chuàng)造力的機會. 畢竟"軟件就像性交, 不要錢的更好!"
對了,最近用了一下JProbe,很有意思。