qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問 http://qaseven.github.io/

          自動(dòng)化測(cè)試最佳實(shí)踐 連載一

            《自動(dòng)化測(cè)試最佳實(shí)踐:來自全球的經(jīng)典自動(dòng)化測(cè)試案例解析》第0章案例研究反思,本章高度總結(jié)了現(xiàn)有經(jīng)驗(yàn)中需要吸取的最重要的教訓(xùn)。本節(jié)為大家介紹自動(dòng)化測(cè)試目標(biāo)。

            第0章 案例研究反思

            成功的自動(dòng)化測(cè)試需要智慧和毅力。你的經(jīng)驗(yàn)可能和本書所描述的有一些相似之處,但每個(gè)人的故事都是獨(dú)一無二的。通向成功的道路并不簡單,但是正如書中案例研究所描述的那樣,自動(dòng)化測(cè)試已經(jīng)在各種應(yīng)用領(lǐng)域、各種環(huán)境和項(xiàng)目的各個(gè)生命周期中取得了成功。

            通過思考,我們根據(jù)書中出現(xiàn)的案例和奇聞?shì)W事總結(jié)出了一些方法。本章高度總結(jié)了現(xiàn)有經(jīng)驗(yàn)中需要吸取的最重要的教訓(xùn)。你可能會(huì)在閱讀完后面各個(gè)案例研究章節(jié)后再次閱讀本章。

            哪些主要因素促成了自動(dòng)化測(cè)試的成功?導(dǎo)致自動(dòng)化測(cè)試失敗最常見的因素有哪些?

            對(duì)這些問題沒有簡單而通用的答案,但存在一些公共的要素。我們認(rèn)為最重要的兩個(gè)要素是管理問題和測(cè)試件架構(gòu):

            對(duì)自動(dòng)化的管理層支持,包括設(shè)置切實(shí)可行的目標(biāo),以及提供足夠合適的資源來取得已計(jì)劃的ROI。

            一個(gè)好的自動(dòng)化測(cè)試件架構(gòu),擁有正確的抽象層,在降低自動(dòng)化測(cè)試件維護(hù)和自動(dòng)化測(cè)試各個(gè)方面成本的同時(shí)提供靈活性和適應(yīng)性。

            除了共同的要素外,還有其他一些方面,甚至是一些令人吃驚的要素,將它們也考慮進(jìn)去可以幫助你在自己的自動(dòng)化測(cè)試中取得更大的成功。這是我們寫這本書的希望和目的!

            在以下的大多數(shù)小節(jié)中,我們會(huì)著重強(qiáng)調(diào)一些章節(jié)號(hào),并討論一些特定的主題。這些主題可能也在其他章節(jié)涉及,我們會(huì)在這里列出各章針對(duì)某一特定主題進(jìn)行的專門討論。

            我們首先在0.1節(jié)討論管理層問題,但經(jīng)理們也需要注意0.2節(jié)描述的技術(shù)問題。

            0.1 管理層問題

            從許多案例研究中可以清晰地了解到,管理層的支持力度關(guān)系到自動(dòng)化測(cè)試的成功與失敗。舉例而言,第4、6、11、17和20章都敘述了管理層支持欠缺導(dǎo)致自動(dòng)化測(cè)試失敗的情形。

            0.1.1 自動(dòng)化測(cè)試目標(biāo)

            制訂一個(gè)合適的目標(biāo)對(duì)自動(dòng)化測(cè)試的成功實(shí)施至關(guān)重要!這似乎是顯而易見的,但令人驚訝的是,在沒有任何清晰目標(biāo)或僅僅是只有一些模糊的陳詞濫調(diào)作為目標(biāo)(如“更快的測(cè)試”、“做得更好”、“節(jié)省時(shí)間”)的情況下,一個(gè)自動(dòng)化測(cè)試就開始了,這類事情經(jīng)常發(fā)生。目標(biāo)越具體,自動(dòng)化測(cè)試越有可能得到好的評(píng)價(jià)并取得成功。

            將軟件測(cè)試所要達(dá)到的目標(biāo)與自動(dòng)化所要達(dá)到的目標(biāo)區(qū)分開來是很重要的。自動(dòng)化是運(yùn)行測(cè)試的一種方法,無論這些測(cè)試是好還是壞。一個(gè)好的測(cè)試目標(biāo)是發(fā)現(xiàn)許多bug。這沒有必要成為一個(gè)好的自動(dòng)化測(cè)試目標(biāo):在近期對(duì)項(xiàng)目進(jìn)行一些改動(dòng)之后,需要進(jìn)行回歸測(cè)試以確保變更的部分不會(huì)影響系統(tǒng)的行為,而這類測(cè)試很少發(fā)現(xiàn)新的錯(cuò)誤。這并不意味著自動(dòng)化測(cè)試不成功,只是因?yàn)樗辛隋e(cuò)誤的目標(biāo)。如果一個(gè)高層經(jīng)理感到自動(dòng)化測(cè)試沒有達(dá)到預(yù)期目標(biāo)(即使這個(gè)目標(biāo)是一種誤導(dǎo)),那么資金也可能被撤掉。

            0.2.9節(jié)討論了一些能夠有效地找到bug的自動(dòng)化測(cè)試示例。一些好的自動(dòng)化測(cè)試目標(biāo)在第1、2、3、6、7、10、11、12、14、20、21、25、27和29章中討論。

            0.1.2 管理層支持

            在一個(gè)無法對(duì)自動(dòng)化測(cè)試進(jìn)行精心培育并有效引導(dǎo)的組織中,自動(dòng)化測(cè)試很難成功發(fā)展起來。對(duì)于個(gè)人來說最好先親自試驗(yàn)一下,如果想要大規(guī)模地進(jìn)行自動(dòng)化測(cè)試,并能收獲自動(dòng)化測(cè)試對(duì)于產(chǎn)品最終發(fā)布所帶來的巨大好處,則需要管理層的大力支持。一種“自下而上”的方法并不是通向良好自動(dòng)化測(cè)試的一條長期可持續(xù)的道路。

            管理層支持對(duì)自動(dòng)化測(cè)試的成功至關(guān)重要;我們可以在本書的很多案例研究中看到這一點(diǎn)。管理層支持包括多種形式:對(duì)工具的資金支持,對(duì)于一個(gè)試點(diǎn)項(xiàng)目和測(cè)試件架構(gòu)的開發(fā)過程的資金支持,以及為此需要付出的時(shí)間,管理層還要有興趣去理解自動(dòng)化行為以監(jiān)督成本與回報(bào)(參見A.3節(jié)的ROI)。

            對(duì)于經(jīng)理來說很重要的一點(diǎn)是,對(duì)于自動(dòng)化過程他能夠提供什么,以及對(duì)要達(dá)到期望的結(jié)果需要付出時(shí)間與努力有著很明確的了解。

            在某些案例中,一些高層的經(jīng)理并不十分了解好的自動(dòng)化測(cè)試意味著什么。這可能是因?yàn)樗麄儧]有很好地親自調(diào)查,但另一個(gè)因素可能是做自動(dòng)化測(cè)試的人員沒有積極溝通,雖然溝通是他們本應(yīng)該做好的事情。

            與管理層溝通的重要性主要在第1、4、6、13、20和29章中進(jìn)行強(qiáng)調(diào),而具體作法則在第16、19和29章中涉及。管理層支持作為示例學(xué)習(xí)的關(guān)鍵因素在第1、2、6、11、18、21章中進(jìn)行了強(qiáng)調(diào)。 
          0.1.3 ROI和度量標(biāo)準(zhǔn)

            一個(gè)普遍的誤解是,成功的自動(dòng)化測(cè)試僅僅需要購買相應(yīng)工具的投資(如果你得到一個(gè)開源工具,那就不需要其他任何花費(fèi))。如果在自動(dòng)化方面的投資為0,則其投資回報(bào)率可能為負(fù)值。簡而言之,如果你什么也不投入,你將會(huì)陷入麻煩!

            要在以下方面進(jìn)行投資:對(duì)于觀點(diǎn)的研究和實(shí)驗(yàn);設(shè)計(jì)和開發(fā)一個(gè)好的自動(dòng)化測(cè)試件架構(gòu);學(xué)習(xí)和了解失敗和成功的因素;找到符合特定情況的解決方案;就自動(dòng)化測(cè)試計(jì)劃、進(jìn)度及測(cè)試方法進(jìn)行溝通。

            常常在一個(gè)自動(dòng)化測(cè)試開始時(shí)評(píng)估ROI。這是一個(gè)很明智的做法:相對(duì)于自動(dòng)化測(cè)試的投入,是否獲得了更多的收益并節(jié)約了資金?執(zhí)行自動(dòng)化測(cè)試的理由通常是比較執(zhí)行同一測(cè)試手動(dòng)和自動(dòng)所花費(fèi)的時(shí)間。盡管這是證明自動(dòng)化測(cè)試有用的方法,但僅僅執(zhí)行自動(dòng)化測(cè)試并不是全部。實(shí)現(xiàn)自動(dòng)化測(cè)試的時(shí)間,對(duì)自動(dòng)化測(cè)試的維護(hù),分析錯(cuò)誤測(cè)試的時(shí)間以及其他一些可能比手動(dòng)測(cè)試花費(fèi)更多時(shí)間的任務(wù)。這些其他任務(wù)可能是一個(gè)重要的額外開銷,也應(yīng)該考慮。要知道如果你使用一個(gè)工具供應(yīng)商的ROI計(jì)算器,這些其他的開銷可能不包括在ROI的計(jì)算中。

            其他需要考慮的因素包括:更高的覆蓋率(已經(jīng)測(cè)試過的系統(tǒng)數(shù)量),最少的時(shí)間推向市場(chǎng),以及增長的信心。但這些益處在早期的自動(dòng)化測(cè)試實(shí)施中可能無法實(shí)現(xiàn)。它們會(huì)在自動(dòng)化測(cè)試一旦完成之時(shí)變成現(xiàn)實(shí)。它們同樣難以量化,因此也可被看做額外的收益。

            一旦一個(gè)自動(dòng)化測(cè)試建立,看它能否達(dá)到預(yù)期也是非常重要的,因此最好定期做這樣類似的比較(將所有因素考慮進(jìn)去),并且將這一信息和負(fù)責(zé)資金的管理層交流,這是非常重要的。

            許多人混淆了收益(benefit)和ROI。收益只是收益,而ROI則是將收益與成本有效地進(jìn)行比較。

            請(qǐng)記住,你決定收集的度量標(biāo)準(zhǔn)可能被誤解,也許它沒能傳達(dá)你所希望的意思。也請(qǐng)注意,那些在新的上下文中不再有用的度量標(biāo)準(zhǔn);第28章描述了自動(dòng)化測(cè)試的職業(yè)生涯的影響。

            ROI和量化收益在第1、2、9、12、13、18、23、26和29章中討論。在第9章有一個(gè)用來評(píng)判投資的基于模型測(cè)試的ROI計(jì)算器的范例。

            0.1.4 在敏捷開發(fā)中的自動(dòng)化測(cè)試

            隨著敏捷開發(fā)變得更加普遍,其自動(dòng)化測(cè)試也變得越來越重要。持續(xù)的集成就是測(cè)試自動(dòng)化;回歸測(cè)試每天都要進(jìn)行,有時(shí)候甚至更為頻繁。自動(dòng)化測(cè)試也需要在出現(xiàn)變更時(shí)能做出響應(yīng),就像敏捷開發(fā)中那樣,于是測(cè)試件架構(gòu)便顯得更加至關(guān)重要(參見0.2.1節(jié))。自動(dòng)化測(cè)試在傳統(tǒng)開發(fā)和敏捷開發(fā)中都取得了成功,沒有自動(dòng)化測(cè)試,敏捷開發(fā)就不會(huì)成功。

            敏捷技術(shù),如測(cè)試驅(qū)動(dòng)的開發(fā)(Test-Driven development,TDD)可以確保自動(dòng)化的單元測(cè)試,但是對(duì)使用敏捷方法開發(fā)的系統(tǒng)仍需要進(jìn)行系統(tǒng)測(cè)試。第1章主要講述的是敏捷開發(fā)中的自動(dòng)化測(cè)試;敏捷項(xiàng)目中的自動(dòng)化測(cè)試也在第6、7、17、18、19和21章中提及。

            0.1.5 技能

            測(cè)試人員所需要的技能和自動(dòng)化測(cè)試人員不同,自動(dòng)化測(cè)試人員的角色可以看做測(cè)試人員和工具之間的橋梁(參見0.2.1節(jié))。

            自動(dòng)化測(cè)試人員的角色有著嚴(yán)格的區(qū)分:一類是高層次的自動(dòng)化設(shè)計(jì)人員(測(cè)試架構(gòu)師,test architect),另一類是自動(dòng)化測(cè)試件的實(shí)現(xiàn)人員,自動(dòng)化測(cè)試人員(test automator)可以用于這兩類人員。自動(dòng)化測(cè)試架構(gòu)師的任務(wù)是設(shè)計(jì)自動(dòng)化測(cè)試的整體結(jié)構(gòu),或者為了創(chuàng)建好的測(cè)試件架構(gòu)而選擇框架,或是將現(xiàn)有框架進(jìn)行改進(jìn)以適應(yīng)新的需求。自動(dòng)化測(cè)試人員的任務(wù)是設(shè)計(jì)、編寫、維護(hù)自動(dòng)化測(cè)試的軟件、腳本、數(shù)據(jù)、期望結(jié)果以及額外的實(shí)用工具。自動(dòng)化測(cè)試人員負(fù)責(zé)實(shí)現(xiàn)多個(gè)層次的抽象(在0.2.1節(jié)中討論),這使得測(cè)試人員不必學(xué)會(huì)編程就可以使用這些自動(dòng)化手段。自動(dòng)化測(cè)試人員同樣可以幫助測(cè)試人員,包括解決技術(shù)上的問題、決定花費(fèi)/ 收益的比率,以及實(shí)現(xiàn)新的測(cè)試需求等。自動(dòng)化測(cè)試人員必須有好的編程基礎(chǔ)。

            有這樣一種趨勢(shì),即測(cè)試人員同時(shí)也是開發(fā)人員。如果測(cè)試人員同時(shí)還是一名好的程序員,那么這個(gè)人既可以成為測(cè)試人員也可以成為自動(dòng)化測(cè)試人員——我們討論的是不同的角色,他們不一定是不同的個(gè)人。

            然而,很多測(cè)試人員并不一定擅長技術(shù),而且他們也不想成為程序員。就如Hans Buwalda說的,強(qiáng)迫一名非技術(shù)的測(cè)試人員去做程序員,不僅會(huì)使你失去一名好的測(cè)試人員,還會(huì)讓你得到一名不稱職的程序員。非技術(shù)的測(cè)試人員也應(yīng)該參與自動(dòng)化測(cè)試!如果將他們從自動(dòng)化測(cè)試的過程中排除,就不能充分發(fā)揮這些測(cè)試人員的技能,從而也無法充分挖掘出自動(dòng)化測(cè)試的潛力。

            測(cè)試人員和測(cè)試自動(dòng)化人員的角色在第10、12、18、19、20、23和29章中討論。

           0.1.6 計(jì)劃、范圍和期望

            當(dāng)自動(dòng)化測(cè)試有好的計(jì)劃時(shí),它通常更有可能獲得成功。計(jì)劃應(yīng)當(dāng)包括,在自動(dòng)化測(cè)試應(yīng)用于整個(gè)項(xiàng)目前花些時(shí)間進(jìn)行一些實(shí)驗(yàn)。例如,一個(gè)限制時(shí)間的試點(diǎn)項(xiàng)目,讓你能更清晰地看到如何達(dá)到自動(dòng)化測(cè)試長期目標(biāo)的方法,當(dāng)然這個(gè)項(xiàng)目也要有清晰的目標(biāo)和足夠的資源。

            不要期望自動(dòng)化項(xiàng)目中不會(huì)出現(xiàn)任何問題;沒有什么事情是沒有問題的!應(yīng)該隨時(shí)準(zhǔn)備應(yīng)對(duì)可能出現(xiàn)的問題。記住即使是最好的計(jì)劃也僅僅是一項(xiàng)指導(dǎo)——要根據(jù)情況去重新審視這些計(jì)劃。

            設(shè)定符合實(shí)際的目標(biāo),即在規(guī)定時(shí)限內(nèi)完成任務(wù),并且定義好項(xiàng)目的范圍。不要太過于關(guān)注細(xì)節(jié),否則就無法在公司中獲得那些潛在的收益。要關(guān)注在早期就能得到的一些有用的結(jié)果,而不要以減少有用的自動(dòng)化測(cè)試為代價(jià),去構(gòu)建過量用于支持測(cè)試復(fù)用的庫。一旦自動(dòng)化測(cè)試開始運(yùn)行,要繼續(xù)尋找方法去改進(jìn)這些自動(dòng)化測(cè)試,并且為自動(dòng)化測(cè)試設(shè)立新的目標(biāo)以減少花費(fèi)和增加收益。

            第1、5、6、11、16、20、25和29章討論了這些問題,第1、3、23和27章還討論了如何持續(xù)地改進(jìn)自動(dòng)化測(cè)試過程。

            0.1.7 和開發(fā)人員的關(guān)系

            在成功的自動(dòng)化測(cè)試實(shí)踐中通常有一項(xiàng)因素,即在測(cè)試人員、自動(dòng)化測(cè)試人員和開發(fā)人員之間保持良好的關(guān)系。如果他們的關(guān)系不好,那么自動(dòng)化過程就會(huì)更加艱難,即便自動(dòng)化測(cè)試在最后還是會(huì)帶來一些收益。如果軟件在設(shè)計(jì)時(shí)沒有考慮到自動(dòng)化,那么自動(dòng)化測(cè)試就會(huì)變得非常困難。例如,如果軟件使用了非標(biāo)準(zhǔn)的控件,那么自動(dòng)化測(cè)試就很難和軟件進(jìn)行交互。測(cè)試人員或者自動(dòng)化測(cè)試人員或許會(huì)對(duì)開發(fā)人員說:“請(qǐng)僅僅使用標(biāo)準(zhǔn)的控件——這會(huì)使得我們的工作更加容易。”但是開發(fā)人員的時(shí)間很倉促,可能會(huì)說:“我們?yōu)槭裁匆鲆恍┎粫?huì)給我們帶來好處的事情呢?”這個(gè)開發(fā)人員并非很無理,這確實(shí)是一個(gè)相當(dāng)合理的原因(雖然一些測(cè)試人員不會(huì)同意這個(gè)觀點(diǎn))。

            更好的方法是告訴開發(fā)人員自動(dòng)化測(cè)試是如何讓他們受益的,并且和他們保持良好的合作關(guān)系。例如,如果你能夠在15分鐘內(nèi)在測(cè)試環(huán)境中對(duì)一個(gè)新編碼的函數(shù)運(yùn)行測(cè)試,你就能夠在一定時(shí)間內(nèi)向開發(fā)人員提供有用的信息(找到了bug或者測(cè)試已經(jīng)通過),這對(duì)他們是極大的幫助。

            關(guān)于開發(fā)人員和自動(dòng)化測(cè)試人員的關(guān)系在第1、2、6、9、17、20、27和29章中討論。

            0.1.8 促進(jìn)項(xiàng)目改變并啟動(dòng)自動(dòng)化測(cè)試的觸發(fā)器

            是什么讓一家公司決定它們應(yīng)該采用自動(dòng)化測(cè)試?有時(shí),因?yàn)闇y(cè)試不足所帶來的嚴(yán)重問題或者近期的災(zāi)難,促使公司做出改變;有時(shí),來自公司外部的觀點(diǎn)也會(huì)帶來更好的解決方案;有時(shí),管理層決定公司需要自動(dòng)化測(cè)試,這甚至決定了公司的生存。人們總是先嘗到了苦頭,然后才會(huì)進(jìn)行實(shí)際的改變。

            對(duì)于那些打算應(yīng)用自動(dòng)化測(cè)試的公司,最重要的建議是要從小范圍開始應(yīng)用。試點(diǎn)項(xiàng)目(pilot project)是個(gè)好主意,在將自動(dòng)化測(cè)試擴(kuò)展到更廣的范圍之前先在小范圍內(nèi)嘗試不同的方法,來判斷哪種方法最好。

            這些問題在第1、9、10、12、17、23、26、27和29章中討論。

          0.1.9 工具和培訓(xùn)

            人們經(jīng)常會(huì)問一個(gè)問題,哪個(gè)工具是最好的?這就像問哪個(gè)汽車最好一樣。一個(gè)人認(rèn)為最好的車是能夠容納四個(gè)小孩和兩條狗的車;另一個(gè)人可能更關(guān)注于車的速度和性能;還有一些人關(guān)注哪個(gè)車更經(jīng)濟(jì)一些。因此,沒有完美的工具,但是有很多工具是足以應(yīng)對(duì)某些特定場(chǎng)景的。

            事實(shí)上,正如第17章講述的那樣,有時(shí)可能會(huì)選擇錯(cuò)誤的工具,因此為所要做的工作選擇合適的工具是很重要的。在第17章中錯(cuò)誤使用的工具卻在第7章和第25章中取得了成功。

            但是工具不是測(cè)試自動(dòng)化最重要的因素。是的,通常確實(shí)需要使用工具來執(zhí)行測(cè)試,但是在大多情況下,好的自動(dòng)化測(cè)試的其他方面遠(yuǎn)遠(yuǎn)比因單獨(dú)工具之間的差異所帶來的影響要大得多。擁有好的工具不能保證在測(cè)試自動(dòng)化中取得成功——必須對(duì)整個(gè)測(cè)試框架進(jìn)行良好地計(jì)劃、定制和維護(hù),工具僅僅是一小部分。

            使用一個(gè)工具失敗并不意味著使用其他工具就能取得成功;一些公司嘗試了一些工具但是在每次嘗試中都以相同的方式失敗了。遺憾的是,公司經(jīng)常將這些失敗歸咎于工具或者個(gè)人,而實(shí)際原因在于自動(dòng)化測(cè)試項(xiàng)目沒有進(jìn)行足夠的計(jì)劃和管理。

            工具的主要用處是為人員提供支持!那些將要使用工具的測(cè)試人員應(yīng)該在如何使用這些工具上有話語權(quán),而且公司應(yīng)當(dāng)為工具提供基礎(chǔ)設(shè)施以支持他們。

            無論使用什么工具,培訓(xùn)都是很重要的。那些將會(huì)直接使用工具的人應(yīng)該在早期就接受一些深入的培訓(xùn),無論是通過工具生產(chǎn)商的課程或者在線教程。如果公司引進(jìn)組織外部的顧問或者工具生產(chǎn)商的技術(shù)支持人員來進(jìn)行培訓(xùn),將每次會(huì)議的間隔日期進(jìn)行適當(dāng)調(diào)整,以便在這段時(shí)間中測(cè)試人員能夠吸收這些知識(shí)并且對(duì)他們所學(xué)到的內(nèi)容有實(shí)踐的時(shí)間。之后,為那些需要使用這個(gè)自動(dòng)化工具的人提供培訓(xùn),告訴他們自動(dòng)化測(cè)試應(yīng)該如何進(jìn)行——這是內(nèi)部培訓(xùn),而不是外部培訓(xùn)。良好的培訓(xùn)能夠避免浪費(fèi)很多時(shí)間。

            關(guān)于工具和培訓(xùn)相關(guān)的問題會(huì)在第1、6、11、12、13、18、19、21、23、25、26和29章中討論。

            0.1.10 行政因素

            在自動(dòng)化過程中,有一些因素是測(cè)試人員、測(cè)試自動(dòng)化人員,甚至是經(jīng)理或者其他利益相關(guān)者無法控制的;例如,可能會(huì)因?yàn)橐粋€(gè)主要項(xiàng)目的取消,導(dǎo)致為成功的自動(dòng)化測(cè)試付出的努力也變成徒勞。

            很多測(cè)試人員和自動(dòng)化測(cè)試人員之所以艱難地進(jìn)行一些項(xiàng)目,可能僅僅是因?yàn)樗麄兘?jīng)理的一句看起來隨意的話。第29章中的奇聞?shì)W事就舉了這方面的例子,還有在第4章中,經(jīng)理的行為“謀殺”(雖然這可能是“過失殺人”,而不是“謀殺”)了自動(dòng)化測(cè)試。第28章舉了一個(gè)例子,即當(dāng)自動(dòng)化測(cè)試帶來的改進(jìn)是如此巨大,以致經(jīng)理都不肯相信這些結(jié)果。

            行政因素是生活的一部分;做出的決定并不經(jīng)常像看上去那樣合理。

            (未完待續(xù)...)

          posted on 2013-04-18 10:12 順其自然EVO 閱讀(216) 評(píng)論(0)  編輯  收藏


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          <2013年4月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 乌拉特后旗| 郯城县| 阳谷县| 中宁县| 温泉县| 民权县| 延安市| 新泰市| 吴忠市| 饶河县| 弥勒县| 常熟市| 乐平市| 宁津县| 新干县| 营口市| 淮阳县| 明光市| 孙吴县| 闽侯县| 高邮市| 德州市| 巩义市| 扬中市| 丹凤县| 定西市| 荆门市| 宜昌市| 怀安县| 那曲县| 白银市| 泰安市| 东丰县| 甘谷县| 朔州市| 浦县| 姚安县| 昔阳县| 吉林市| 炎陵县| 惠水县|