kiral的執(zhí)著之道
          一個(gè)有故事的人
          posts - 10,comments - 0,trackbacks - 0

          安裝步驟

          1: 安裝數(shù)據(jù)庫(kù),mingle只支持兩種數(shù)據(jù)庫(kù),postgresql8.3/8.4和Oracle。

          2: 在數(shù)據(jù)庫(kù)里建一個(gè)數(shù)據(jù)庫(kù),名稱叫“mingle”

          3: 安裝mingle。安裝完畢之后mingle會(huì)給出一個(gè)訪問(wèn)地址。 (沒(méi)有安裝成功會(huì)看不見(jiàn)這個(gè)訪問(wèn)地址)

          4:訪問(wèn)mingle提供的地址,進(jìn)行相關(guān)配置。

          5: 安裝完成之后注冊(cè)mingle。

          6: 注冊(cè)碼為

          ?

          --- License key starts below this line--- XX05IkcLVx8D4lzyxbO/AoNcsOsJEA0fvRqH/74kSmAyPRCjTQhIcX9ki+n6 rXxe2Cc0TOQLNuVW5IkZ61KUNRf5lClm/0Y2L7Rx4PsDZNMKDBPKRhgc+d4k /oGwcJpUj46txnkKFARKQwkeBcR8MAZyNnliTjKot+IOs3QnrwciMbmgbHsc qCQpJedF0ukX+mXX+/PtWerw8pRozFVpKm1zEkqLXSNrimeJJxdhgkNpvvt5 Kvip1Fi5PHpXCDRa3FjsQT9+wsY+3OPjPCDAXCSaC/a39VGZhmMkPXLnNsVj z7sUDHKNJcs3rq7fyemutVFqDfIbi4pPdMTgOlnhQw== --- License key ends above this line--- 
          
          This License is valid for the following terms: 
          
          * Licensee = tengfei fang
          
          

          ?

          其他說(shuō)明

          1:mingle3.2不支持IE8

          2:mingle3.2對(duì)中文支持不理想,如不能上傳中文附件。

          3:硬件環(huán)境要求為:內(nèi)存2G



          已有 0 人發(fā)表留言,猛擊->>這里<<-參與討論


          JavaEye推薦



          posted @ 2011-02-05 21:50 方騰飛 閱讀(459) | 評(píng)論 (0)編輯 收藏

          總結(jié)一下自己在開(kāi)發(fā)上的一些小心得,持續(xù)更新,歡迎大家補(bǔ)充!

          ?

          測(cè)試需要注意的問(wèn)題

          1:測(cè)試需要涵蓋所有的業(yè)務(wù)邏輯: 自動(dòng)化測(cè)試不需要覆蓋所有的代碼,但需要覆蓋所有的業(yè)務(wù)邏輯,因?yàn)橐惶幍男薷目赡茉斐善渌麡I(yè)務(wù)邏輯的不可用??紤]所有情況如單個(gè)刪除,批量刪除。一對(duì)一移動(dòng),多對(duì)多移動(dòng)。
          2:瀏覽器:測(cè)試產(chǎn)品支持的瀏覽器,具體到瀏覽器版本號(hào),如支持IE6,IE7和IE8。
          3:分辨率:測(cè)試產(chǎn)品支持的分辨率,如支持1024X768以上的分辨率。
          4:現(xiàn)場(chǎng)環(huán)境測(cè)試:一部分功能出現(xiàn)問(wèn)題,可能是現(xiàn)場(chǎng)環(huán)境導(dǎo)致,所以必須在現(xiàn)場(chǎng)環(huán)境進(jìn)行嚴(yán)格測(cè)試,如現(xiàn)場(chǎng)網(wǎng)絡(luò)問(wèn)題,數(shù)據(jù)庫(kù)所在硬盤滿了。
          5:原則上測(cè)試代碼應(yīng)該覆蓋所有的業(yè)務(wù)邏輯,但是基于投入產(chǎn)出比的考慮(所有的代碼都寫測(cè)試,代價(jià)太大,效果不一定更好),可以只在核心和你需要驗(yàn)證的業(yè)務(wù)邏輯上寫測(cè)試代碼。 測(cè)試主要是驗(yàn)證各種輸入是否得到預(yù)期的輸出,那么只需要提供幾種常見(jiàn)的輸出進(jìn)行驗(yàn)證就可以,注意測(cè)試的輸入是無(wú)限的,所以就算做了自動(dòng)化測(cè)試,也不能完全保證程序沒(méi)有問(wèn)題。
          6:建議使用TDD按照業(yè)務(wù)場(chǎng)景來(lái)進(jìn)行測(cè)試,用戶如何使用我們的功能,我們就寫哪些測(cè)試代碼,這樣能夠幫助我們按需開(kāi)發(fā)代碼和做有效的測(cè)試。 TDD只需覆蓋所有的業(yè)務(wù)代碼,并不需要覆蓋所有的代碼,所以建議在服務(wù)層做TDD。
          ?
          使用SVN:
          1:提交注釋:提交代碼需要提交注釋。注釋主要是方便團(tuán)隊(duì)成員知道你提交了什么和代碼回滾,如當(dāng)出現(xiàn)重大錯(cuò)誤的時(shí)候能回退到某一版本。
          2:代碼提交和更新:為了減少?zèng)_突,建議每天上班之后更新程序,下班之前必須將穩(wěn)定的程序提交,最好是做整體提交,有時(shí)候就是因?yàn)樯偬峤涣艘粋€(gè)類導(dǎo)致編碼錯(cuò)誤。
          3:少做全文格式化:全部格式化是最容易造成沖突的,所以假如當(dāng)前類還有其他人在維護(hù),建議不要做全文格式化,可以選中你自己的代碼,做局部格式化。
          ?
          編寫代碼:
          1。警告:警告有時(shí)候也是很有用的,為了避免有用的警告被人忽略,代碼里不允許出現(xiàn)警告。有警告的地方注釋掉。
          2:編碼:先理清需求再寫代碼,可以先寫注釋再寫代碼,也可以用TDD的方式。
          3:TODO:可以在未完成和存在壞味道的代碼里加上TODO注釋,以便下次解決。
          4:多用快捷鍵,少用鼠標(biāo): 如Eclipse自動(dòng)填充geter和seter的快捷鍵是alt+shirft+s后點(diǎn)r。
          ?
          前端開(kāi)放:
          1:盡量用百分比:窗口和表格的寬度和長(zhǎng)度盡量用百分比定義,而不用像素,用以在不同的分辨率下達(dá)到同樣的效果。
          2:使用FireBug和HTTPwatch調(diào)式樣式和腳本
          3:使用Fontpage做一些前端測(cè)試。如Flash遮住Iframe的問(wèn)題。
          ?
          Flex工程編譯緩慢的解決方法:
          1:將Flex工程按照模塊拆分為多個(gè)工程。
          2:AS文件不要經(jīng)常修改。因?yàn)榫幾gas文件很慢,但編譯mxml還是很快的。
          ?
          Flex模擬數(shù)據(jù)測(cè)試
          我們可以在不啟動(dòng)服務(wù)器的情況下就對(duì)Flex程序進(jìn)行測(cè)試。方法是是首先新建一個(gè)文件,名字叫XX.action,里面存放JSON數(shù)據(jù)或者XML數(shù)據(jù),讓Flex程序直接與這個(gè)XX.action進(jìn)行通訊??梢栽诠餐ㄓ嵎椒ㄉ献鲆粋€(gè)開(kāi)關(guān),可以隨時(shí)切換模擬數(shù)據(jù)和真實(shí)數(shù)據(jù),用于客戶演示和現(xiàn)場(chǎng)使用兩種場(chǎng)景。
          ?
          調(diào)式Flex?
          調(diào)試的時(shí)候可以直接在URL后面加上?debug=true#
          ?
          Flex的性能調(diào)優(yōu)
          我覺(jué)得Flex的垃圾回收不是很好,內(nèi)存很難被回收掉,所以自己做了下Flex的性能監(jiān)控,發(fā)現(xiàn)性能主要消耗在表格里帶圖片的渲染器,每當(dāng)我滾動(dòng)表格的時(shí)候,F(xiàn)lash會(huì)重新渲染圖片生成新的對(duì)象,而舊的對(duì)象沒(méi)有這么快被回收,內(nèi)存會(huì)直線上升。
          Flex IDE提供Flex profile插件進(jìn)行性能監(jiān)控,性能監(jiān)控分為內(nèi)存監(jiān)控CPU監(jiān)控。?進(jìn)入Eclipse的“Flex Profile”視圖,點(diǎn)擊“Profile”。 新建一個(gè)監(jiān)控的swf,然后雙擊這個(gè)SWF。 系統(tǒng)會(huì)自動(dòng)彈出IE,訪問(wèn)你所監(jiān)控的SWF。


          已有 0 人發(fā)表留言,猛擊->>這里<<-參與討論


          JavaEye推薦



          posted @ 2011-02-04 01:13 方騰飛 閱讀(147) | 評(píng)論 (0)編輯 收藏

          名詞解釋:

          • Junit:眾所周知的單元測(cè)試。 官方網(wǎng)址:http://junit.sourceforge.net/。Junit從4.0開(kāi)始提供基于注解的配置方式。
          • Dbunit: 一個(gè)針對(duì)數(shù)據(jù)庫(kù)測(cè)試的框架,通過(guò)Excel準(zhǔn)備數(shù)據(jù)并插入數(shù)據(jù)庫(kù)。官方地址:http://www.dbunit.org/
          • TestNG:從字面上可以理解為下一代單元測(cè)試,和Junit的功能有一部分重疊和區(qū)別。TestNG也有Eclipse插件,官方地址http://testng.org/doc/index.html
          • Unitiles: 讓單元測(cè)試變得更加容易和可維護(hù),Unitils構(gòu)建在DBUnit之上并與JUnit和TestNG相結(jié)合。官方地址:http://www.unitils.org
          • Jmock:JMock是一個(gè)JAVA開(kāi)發(fā)包,它支持Mock(模擬)對(duì)象機(jī)制的TDD(測(cè)試驅(qū)動(dòng)開(kāi)發(fā)),官方地址:http://www.jmock.org/


          什么是Jtester?
          jTester是一個(gè)基于java的單元測(cè)試框架。開(kāi)源地址:http://code.google.com/p/java-tester/。

          為什么要用Jtester?

          JTester是站在眾多巨人肩膀上的單元測(cè)試框架,集成了Junit4.5,dbunit2.4.3,unitils2.2,JMOCK2.5和TestNg5.1這些優(yōu)秀的開(kāi)源框架,并在這些框架上做了擴(kuò)展,使得單元測(cè)試更加方便和強(qiáng)大。

          Jtester帶給了我們什么?

          1、在unitils的基礎(chǔ),集成了jmock功能。
          2、在hamcrest斷言的基礎(chǔ)上,實(shí)現(xiàn)了fluent interface斷言
          3、改造了jmock expectation參數(shù)斷言為fluent interface形式
          4、錄制對(duì)象:提供了將普通的pojo對(duì)象序列化到文件,然后再?gòu)奈募蟹葱蛄谢貋?lái)的功能,用于在對(duì)象復(fù)雜的情況下,直接錄制接口(遠(yuǎn)程接口)調(diào)用返回的對(duì)象,以供下次測(cè)試或調(diào)試使用。
          5、數(shù)據(jù)測(cè)試:使用wiki代替xml來(lái)準(zhǔn)備測(cè)試數(shù)據(jù)。比dbunit更快準(zhǔn)備數(shù)據(jù)。
          6、實(shí)現(xiàn)了更加豐富的斷言。比junit的斷言多。
          7、提供了hibernate annotation環(huán)境下,直接使用內(nèi)存數(shù)據(jù)庫(kù)進(jìn)行db測(cè)試。
          8、提供了hibernate annotation環(huán)境下,Open Test in Session的實(shí)現(xiàn)。
          以上8大特性來(lái)自于官方,我稍加了點(diǎn)說(shuō)明和整理。?

          ?
          七步進(jìn)入Jtester世界。?下面讓我們花一個(gè)泡面的時(shí)間來(lái)學(xué)習(xí)下Jtester吧。

          import mockit.NonStrict;
          
          import org.jtester.testng.JTester;
          import org.jtester.unitils.jmockit.MockedBean;
          import org.testng.annotations.Test;
          import org.unitils.spring.annotation.SpringApplicationContext;
          import org.unitils.spring.annotation.SpringBean;
          
          /**
           * Jtester測(cè)試?yán)?,按照注釋順序?qū)W習(xí)
           * 
           * @author tengfei.fangtf
           */
          @SpringApplicationContext( { "applicationContext.xml" })
          // 1.@SpringApplicationContext:加載Spring 配置文件,所有測(cè)試相關(guān)的bean都在這個(gè)容器中;
          public class BusinessTestCase extends JTester// 2.JTester:要使用JTester
          // 提供的功能,需要繼承此基類;
          {
          
          	@SpringBean("businessService")
          	// 3.@SpringBean:從容器中取出指定id 的bean 并注入到測(cè)試類中
          	private AppInternalService businessService;
          
          	@MockedBean
          	@NonStrict
          	// 4.@Mocked @MockedBean:mock 出一個(gè)對(duì)象,并將該對(duì)象與Spring 容器結(jié)合,實(shí)現(xiàn)Autowired;
          	private OneHessianServiceClient hessianClient;
          
          	@Test(groups = { "FirstTestGroup" })
          	// 5.@Test;TestNG 的注解;指明此方法為一個(gè)TestCase;
          	public void testBusinessNormal() {
          		new Expectations() {// 6.設(shè)置mock 對(duì)象的期望返回值
          			{
          				hessianClient.hessianServiceInvorke(anyString);
          				result = "HH";// 那么執(zhí)行這個(gè)方法,永遠(yuǎn)都返回HH
          			}
          		};
          
          		String returnResult = businessService
          				.bussinessService("Sample Business!");
          		System.out.println("\n ---> " + returnResult);// 輸出HH
          		want.string(returnResult).notNull();// want:JTester 框架提供的強(qiáng)大的斷言;
          	}
          
          }

          ?



          已有 8 人發(fā)表留言,猛擊->>這里<<-參與討論


          JavaEye推薦



          posted @ 2011-02-04 00:31 方騰飛 閱讀(1347) | 評(píng)論 (0)編輯 收藏
          主站蜘蛛池模板: 日照市| 石城县| 桂阳县| 育儿| 永寿县| 丰城市| 仙桃市| 乌拉特中旗| 乐至县| 临夏县| 甘洛县| 乐昌市| 南投市| 明星| 赤峰市| 六安市| 定南县| 新平| 卓资县| 稷山县| 平山县| 穆棱市| 甘泉县| 灵山县| 莒南县| 香港 | 宝鸡市| 怀仁县| 东乌珠穆沁旗| 金山区| 阿合奇县| 沙雅县| 九寨沟县| 仙游县| 肇庆市| 无锡市| 武宁县| 富民县| 桃园县| 阜宁县| 七台河市|