持續(xù)集成(CI)解決測(cè)試環(huán)境難題

集成測(cè)試是用來(lái)驗(yàn)證所提交的系統(tǒng)的地方铃诬,也是企業(yè)可以實(shí)際查看應(yīng)用程序并確認(rèn)已構(gòu)建的開(kāi)發(fā)是否是其所需要的開(kāi)發(fā)的地方。隨著軟件系統(tǒng)變得越來(lái)越組件化洲赵,而且由越來(lái)越多的服務(wù)組成鞋吉,從代碼更改到集成測(cè)試的延遲時(shí)間成為了產(chǎn)品投入市場(chǎng)和開(kāi)發(fā)人員生產(chǎn)力的一個(gè)關(guān)鍵指標(biāo)。

理想的過(guò)程很簡(jiǎn)單折欠。每次開(kāi)發(fā)人員更改代碼贝或,就快速運(yùn)行所有測(cè)試,并將反饋提交給開(kāi)發(fā)人員锐秦。發(fā)生更改的組件被構(gòu)建咪奖、單元測(cè)試、部署到一個(gè)集成環(huán)境酱床,所有集成測(cè)試只需幾分鐘即可運(yùn)行完羊赵。

不幸的是,對(duì)于許多團(tuán)隊(duì)而言斤葱,理想過(guò)程是不現(xiàn)實(shí)的慷垮。自動(dòng)化測(cè)試要么進(jìn)行的次數(shù)太少或進(jìn)行的時(shí)間太長(zhǎng),可能無(wú)法實(shí)現(xiàn)持續(xù)集成揍堕。復(fù)雜應(yīng)用程序的自動(dòng)化部署可能需要特殊的工具料身。

目前,我們對(duì)如何解決這些難題已經(jīng)有了很好的了解衩茸。應(yīng)該使用大量的 API 測(cè)試來(lái)自動(dòng)化測(cè)試芹血。建立一個(gè)連續(xù)自動(dòng)構(gòu)建流程很簡(jiǎn)單,所以沒(méi)有理由不創(chuàng)建這樣的流程±愦龋現(xiàn)在幔烛,讓我們來(lái)了解一些部署自動(dòng)化工具。

然而囊蓝,許多組織面臨一個(gè)越來(lái)越常見(jiàn)的挑戰(zhàn)饿悬,那就是缺乏集成測(cè)試環(huán)境。這些集成測(cè)試環(huán)境可能是不完整的聚霜,或者可能是不一致的狡恬。只了解這些可能是不夠的珠叔。本文將考察為什么存在這些問(wèn)題,以及如何處理它們弟劲。

環(huán)境方面的限制

了解如何獲得更多祷安、更高質(zhì)量的測(cè)試環(huán)境來(lái)加速反饋,您需要了解環(huán)境方面的一些約束條件兔乞。以下這些知識(shí)可以幫助您解決問(wèn)題汇鞭。

有限的硬件:運(yùn)行測(cè)試環(huán)境所需的資源。這些資源并不是免費(fèi)的庸追。

昂貴的設(shè)置費(fèi)用:建立一個(gè)新的測(cè)試環(huán)境需要配置服務(wù)器霍骄、配置中間件并讓應(yīng)用程序運(yùn)行。這些任務(wù)需要做相當(dāng)多的工作淡溯。

昂貴的維護(hù)費(fèi)用:需要努力維護(hù)配置腕巡、補(bǔ)丁水平等,與此同時(shí)血筑,測(cè)試環(huán)境的數(shù)量也在增加绘沉。

不一致的利用率:有時(shí)一個(gè)團(tuán)隊(duì)需要多個(gè)環(huán)境,有時(shí)他們需要幾個(gè)環(huán)境豺总。

昂貴的組件:一些應(yīng)用程序組件在用于測(cè)試時(shí)非常昂貴车伞,這限制了您使用它們進(jìn)行測(cè)試的頻率。按照事務(wù)喻喳、主機(jī)組件和設(shè)備應(yīng)用進(jìn)行收費(fèi)的第三方 Web 服務(wù)事務(wù)也是制約因素另玖。

缺失的組件:有時(shí)另一個(gè)團(tuán)隊(duì)擁有一個(gè)您需要測(cè)試的服務(wù),但他們還沒(méi)有交付該服務(wù)表伦。這使得您擁有了一個(gè)不完整的解決方案谦去。

被破壞的組件:當(dāng)許多組件可能經(jīng)常發(fā)生更改的時(shí)候,給定組件遭到破壞的可行性很高蹦哼。

通常鳄哭,這些集成測(cè)試環(huán)境特征是相輔相成的。例如纲熏,對(duì)于長(zhǎng)期存在的環(huán)境妆丘,昂貴的環(huán)境設(shè)置費(fèi)用是可以容忍的,但是局劲,由于不一致的利用率勺拣,對(duì)環(huán)境的需要可能是短暫的。維護(hù)那些一直受到維護(hù)的環(huán)境會(huì)容易一些鱼填。不幸的是药有,由于硬件成本,合理的做法是在不使用它們時(shí)關(guān)閉它們苹丸。

解決瓶頸的技術(shù)

有三種技術(shù)可用來(lái)消除集成測(cè)試環(huán)境中的問(wèn)題并提高它們的可用性:環(huán)境預(yù)留(environment reservation)愤惰、環(huán)境即服務(wù)和服務(wù)虛擬化竹祷。每項(xiàng)技術(shù)負(fù)責(zé)解決問(wèn)題的不同部分。

環(huán)境預(yù)留

最簡(jiǎn)單的策略是積極安排和管理環(huán)境羊苟。這通常是發(fā)布經(jīng)理(release manager)的責(zé)任。集成環(huán)境被視為寶貴資源感憾,集成環(huán)境是根據(jù)發(fā)布優(yōu)先級(jí)和距離發(fā)布日期的時(shí)間被分配用于版本測(cè)試的±現(xiàn)代版本管理工具(比如 IBM UrbanCode Release)可以提供正式的環(huán)境跟蹤、調(diào)度和沖突檢測(cè)阻桅,但電子表格仍被經(jīng)常使用凉倚。

優(yōu)勢(shì)

清楚地描述哪些版本可以使用某個(gè)環(huán)境,何時(shí)為開(kāi)發(fā)和測(cè)試團(tuán)隊(duì)提供所需的可預(yù)見(jiàn)性嫂沉,并從有限的資源中獲得最大的價(jià)值稽寒。

局限性

雖然環(huán)境預(yù)留有助于確保有限的資源得到很好的使用,但它并不會(huì)提供更多的環(huán)境或?qū)е颅h(huán)境不一致趟章。

環(huán)境即服務(wù)

請(qǐng)求一個(gè)適合您的應(yīng)用程序的測(cè)試環(huán)境并在幾分鐘內(nèi)配給好它的能力是非常強(qiáng)大的杏糙。將云技術(shù)(公共云或私有云)與環(huán)境模式引擎(比如 UrbanCode Deploy with Patterns 相結(jié)合,使用它們來(lái)搭建環(huán)境蚓土、配置環(huán)境并在需要的時(shí)候退出環(huán)境宏侍。

優(yōu)勢(shì)

使用環(huán)境即服務(wù)解決方案可以大大減少搭建測(cè)試環(huán)境需要做的工作。這些解決方案還適當(dāng)?shù)馗铝伺渲檬衿幔员阌行У乜刂凭S護(hù)費(fèi)用谅河,同時(shí)改進(jìn)生成環(huán)境∪范總而言之绷耍,團(tuán)隊(duì)可以在需要的時(shí)候得到他們所需的集成環(huán)境。環(huán)境即服務(wù)技術(shù)應(yīng)該是您的集成測(cè)試策略的基石鲜侥。

局限性

以較低的成本創(chuàng)造環(huán)境往往會(huì)鼓勵(lì)創(chuàng)建更多的環(huán)境褂始。硬件費(fèi)用可能是一個(gè)問(wèn)題,特別是在非常大的集成環(huán)境中描函。使用相對(duì)廉價(jià)的云資源來(lái)構(gòu)建環(huán)境有助于降低環(huán)境搭建成本病袄。因?yàn)榄h(huán)境易于創(chuàng)建和退出,所以人們經(jīng)常使用環(huán)境赘阀。相反益缠,您可以在不使用資源的時(shí)候回收資源,并在需要的時(shí)候執(zhí)行環(huán)境備份基公。

因?yàn)檫@個(gè)策略是建立在云計(jì)算和虛擬化之上幅慌,許多 “珍貴” 的組件無(wú)法作為一種服務(wù)策略巧妙地融合到環(huán)境中。它們需要由多個(gè)已配置好的環(huán)境進(jìn)行共享轰豆,或者需要虛擬化胰伍。

來(lái)自其他團(tuán)隊(duì)的遭到破壞的組件可能是一個(gè)問(wèn)題齿诞,但是,如果各大團(tuán)隊(duì)都有自己的集成環(huán)境骂租,而且使用了其他組件的惟一已知良好版本的自動(dòng)化部署祷杈,那么他們可以使用環(huán)境即服務(wù)(environments as a service)來(lái)實(shí)現(xiàn)隔離的環(huán)境作為一種服務(wù)。

虛擬化服務(wù)

服務(wù)虛擬化使用 “存根(Stub)” 或 “模擬物(mocks)” 替換了系統(tǒng)中的一些組件渗饮。模擬是我們已經(jīng)使用了很長(zhǎng)一段時(shí)間的一種方法但汞。開(kāi)發(fā)人員編寫了一個(gè)功能類似于完整服務(wù)的一項(xiàng)服務(wù),并對(duì)它進(jìn)行了測(cè)試互站。例如私蕾,如果一個(gè)股票報(bào)價(jià)服務(wù)提供了每筆交易的第三方費(fèi)用,那么開(kāi)發(fā)人員就可以創(chuàng)建一個(gè)替代服務(wù)胡桃,該服務(wù)將會(huì)提供相同的 API踩叭,但總是返回相同的值來(lái)進(jìn)行測(cè)試。服務(wù)虛擬化工具類似于 IBM Rational Test Workbench 中的那些工具翠胰,簡(jiǎn)化了創(chuàng)建存根的過(guò)程容贝,并對(duì)運(yùn)行它們的地方和執(zhí)行它們的方式進(jìn)行管理。

優(yōu)勢(shì)

服務(wù)虛擬化提供了一個(gè)簡(jiǎn)便方法來(lái)處理這些 “珍貴” 組件之景。存根可以替代那些按使用進(jìn)行收費(fèi)的組件嗤疯,或者替代那些獨(dú)一無(wú)二的組件(主機(jī)、昂貴的中間件或設(shè)備)闺兢。

存根還可以替代那些來(lái)自其他團(tuán)隊(duì)的組件茂缚。存根有三個(gè)主要優(yōu)勢(shì):

一定程度的隔離。您有一個(gè)很有用的集成測(cè)試環(huán)境屋谭,甚至在另一個(gè)團(tuán)隊(duì)破壞了他們的組件的時(shí)候也很有用脚囊。

資源的使用。不再需要那些用來(lái)運(yùn)行其他組件所需的服務(wù)器容量桐磁。

存根可以替代那些尚未完成的組件悔耘,讓您在生命周期的早期就能訪問(wèn)集成的測(cè)試場(chǎng)景。

局限性

在測(cè)試真實(shí)的東西而不是存根的時(shí)候我擂,測(cè)試是更加相關(guān)的衬以。隔離功能可以防止另一個(gè)團(tuán)隊(duì)破壞您的工作,但也會(huì)推遲整個(gè)集成系統(tǒng)的測(cè)試校摩。推遲測(cè)試會(huì)帶來(lái)一定的成本看峻,因?yàn)樗鼫p緩了反饋。服務(wù)虛擬化無(wú)法幫助管理已經(jīng)存在的組件環(huán)境衙吩。

在這里想大家推薦一個(gè)資料分享群:747981058

匯總了一些技巧的一個(gè)現(xiàn)實(shí)場(chǎng)景

一個(gè)被稱為 Marketplace 的主系統(tǒng)的虛擬示例展示了如何組合使用這些工具互妓。Marketplace 由許多部件組成。

60 個(gè)緊密耦合的 Web 服務(wù)。四個(gè)團(tuán)隊(duì)冯勉,每個(gè)團(tuán)隊(duì)擁有 15 項(xiàng)服務(wù)澈蚌。

主機(jī)組件促成了 20% 的交易;這些組件很少發(fā)生更改灼狰,而且屬于另一個(gè)團(tuán)隊(duì)宛瞄。

前端網(wǎng)站(位于服務(wù)的前端)是屬于網(wǎng)站團(tuán)隊(duì)的。

使用了來(lái)自兩個(gè)第三方的數(shù)據(jù)提要(通過(guò) Web 服務(wù))交胚。一個(gè)是按交易進(jìn)行計(jì)算的份汗,另一個(gè)不是。

Marketplace 版本團(tuán)隊(duì)有一個(gè)大型的集成測(cè)試環(huán)境 (INT) 和一個(gè)性能測(cè)試環(huán)境 (PERF)承绸。每六個(gè)團(tuán)隊(duì)擁有一個(gè)小型的測(cè)試實(shí)驗(yàn)室,在該實(shí)驗(yàn)室里挣轨,他們可以測(cè)試一些組件军熏,但是他們不能測(cè)試任何集成場(chǎng)景。集成測(cè)試是按照版本發(fā)布時(shí)間表進(jìn)行的卷扮,而版本管理控制了對(duì) INT 和性能環(huán)境的訪問(wèn)荡澎。

團(tuán)隊(duì)級(jí)集成環(huán)境

為了提高開(kāi)發(fā)人員的生產(chǎn)力,Marketplace 組織決定確保每個(gè)開(kāi)發(fā)團(tuán)隊(duì)都有自己的集成測(cè)試環(huán)境晤锹,如果他們想要測(cè)試額外的代碼行或者想要達(dá)到更高的發(fā)展高峰摩幔,他們能夠獲得額外的環(huán)境。

環(huán)境即服務(wù) (EaaS):EaaS 工具提供了使用公司內(nèi)部云應(yīng)用的一份副本鞭铆。使用了獲得開(kāi)發(fā)團(tuán)隊(duì)的服務(wù)所需的足夠多的虛擬機(jī)器或衡,以及最新的 UI 工作副本。

服務(wù)虛擬化:來(lái)自其他 Web 服務(wù)團(tuán)隊(duì)的服務(wù)和主機(jī)被虛擬化车遂。已計(jì)量的第三方服務(wù)被虛擬化封断,但其他服務(wù)是被實(shí)時(shí)使用的。

環(huán)境預(yù)留:為了獲得可見(jiàn)性舶担,讓 Release Management 工具中的預(yù)留系統(tǒng)知道在哪個(gè)環(huán)境中托管了版本發(fā)布工作坡疼。不過(guò),由于不缺少環(huán)境衣陶,所以團(tuán)隊(duì)級(jí)別的環(huán)境沒(méi)有被保留柄瑰。

最后,每個(gè)開(kāi)發(fā)團(tuán)隊(duì)都有一些大量使用了服務(wù)虛擬化的小型的剪况、廉價(jià)的環(huán)境教沾。盡管他們能夠在更大的系統(tǒng)中測(cè)試他們的組件,但他們是獨(dú)立于其他團(tuán)隊(duì)的译断。其他團(tuán)隊(duì)可能破壞了自己的組件详囤,或者擔(dān)心自己會(huì)破壞其他團(tuán)隊(duì)的組件。然而,大量利用虛擬化意味著跨服務(wù)的集成問(wèn)題不會(huì)立即被發(fā)現(xiàn)藏姐。

版本級(jí)別的集成環(huán)境

每個(gè)版本的系統(tǒng)集成測(cè)試環(huán)境都已配置好隆箩。這些環(huán)境大部分都是完整的,而且只使用了最低限度的服務(wù)虛擬化羔杨。要進(jìn)入該環(huán)境捌臊,必須在團(tuán)隊(duì)級(jí)別環(huán)境中成功地將更改傳遞給一組可靠的自動(dòng)化測(cè)試。

環(huán)境即服務(wù):EaaS 可以提供許多可能長(zhǎng)期存在的環(huán)境:

一個(gè)測(cè)試環(huán)境兜材,用于為當(dāng)前版本提供補(bǔ)丁

一個(gè)大量使用的環(huán)境理澎,用于即將發(fā)布的版本

一個(gè)偶然使用的環(huán)境,用于稍后執(zhí)行的大量開(kāi)發(fā)工作EaaS 主要負(fù)責(zé)讓環(huán)境與正確的基礎(chǔ)架構(gòu)相一致曙寡。

服務(wù)虛擬化:只有主機(jī)和已計(jì)量的 Web 服務(wù)被虛擬化糠爬。

環(huán)境預(yù)留:這些環(huán)境都是大型環(huán)境,所以硬件都比較昂貴举庶。在需要額外的環(huán)境時(shí)执隧,可能會(huì)使用環(huán)境預(yù)留來(lái)觀察實(shí)例,盡可能地減少對(duì)額外環(huán)境的使用户侥。與團(tuán)隊(duì)環(huán)境類似镀琉,此系統(tǒng)主要用于確保每個(gè)人都對(duì)正確的版本使用了正確的環(huán)境。

因?yàn)榇罅康募蓽y(cè)試都是在團(tuán)隊(duì)級(jí)別環(huán)境中執(zhí)行的蕊唐,所以在這個(gè)環(huán)境中屋摔,干擾測(cè)試的更改非常少。對(duì)于手動(dòng)測(cè)試者替梨,這些環(huán)境可能會(huì)花費(fèi)他們的時(shí)間钓试,他們可以從高可用性的組合中受益,而且總是采用最新的好代碼副瀑。

性能測(cè)試

性能測(cè)試基本上沒(méi)什么大的變化亚侠,仍然是最大的環(huán)境。服務(wù)虛擬化對(duì) Web 服務(wù)和主機(jī)均可用俗扇。對(duì)于主機(jī)和計(jì)量服務(wù)硝烂,在執(zhí)行事務(wù)數(shù)量較多的測(cè)試過(guò)程中偶爾會(huì)使用虛擬化。在其他性能測(cè)試場(chǎng)景中铜幽,用于兩個(gè)第三方 Web 服務(wù)的存根均被設(shè)置為緩慢回應(yīng)請(qǐng)求滞谢,以便在第三方供應(yīng)商遇到麻煩時(shí)驗(yàn)證應(yīng)用程序的行為。

最終的集成測(cè)試

集成測(cè)試環(huán)境被用于最終的集成驗(yàn)證除抛。因?yàn)樗峁┝藢?duì)一些稀有資源(比如計(jì)量服務(wù)的實(shí)時(shí)版本和主機(jī)組件)的訪問(wèn)狮杨。環(huán)境預(yù)留系統(tǒng)仍用于將此資源分配給所期望的版本。

模式

上述示例中經(jīng)過(guò)檢查的模式是一種非常常用的模式到忽。開(kāi)發(fā)人員更喜歡使用小型的橄教、高度虛擬化的環(huán)境清寇。因?yàn)樗麄兛赡芙?jīng)常使用和關(guān)閉環(huán)境,并積極地利用環(huán)境配置护蝶。在這種環(huán)境中华烟,環(huán)境配置被用于構(gòu)建更完整的集成環(huán)境,而服務(wù)虛擬化提供了更少的東西持灰。在后期的測(cè)試環(huán)境中盔夜,以前的資源被安排并分配給版本。在最能發(fā)揮每種方法的作用的地方使用它們堤魁,用其他方法的優(yōu)勢(shì)來(lái)彌補(bǔ)每種方法的局限性喂链。通過(guò)這種方式,團(tuán)隊(duì)可以從資源調(diào)度妥泉、服務(wù)虛擬化和環(huán)境即服務(wù)的組合使用中獲得最大的好處椭微。

當(dāng)真正開(kāi)始學(xué)習(xí)的時(shí)候頻繁踩坑,最終浪費(fèi)大量時(shí)間盲链,所以有一套實(shí)用的視頻資料用來(lái)跟著學(xué)習(xí)是非常有必要的蝇率。

這套視頻資料詳細(xì)講解了(自動(dòng)化編程,mysql調(diào)優(yōu)匈仗,自動(dòng)化框架rf使用)瓢剿。

那么逢慌,這套視頻我們應(yīng)該怎么獲取呢悠轩?

對(duì)以上測(cè)試資料,測(cè)試技術(shù)?感興趣的朋友攻泼,歡迎加QQ群:747981058火架,一起學(xué)習(xí),相互討論忙菠。

群內(nèi)已經(jīng)有小伙伴將知識(shí)體系整理好(筆記何鸡,學(xué)習(xí)視頻面試題)牛欢,歡迎加群免費(fèi)取骡男。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市傍睹,隨后出現(xiàn)的幾起案子隔盛,更是在濱河造成了極大的恐慌,老刑警劉巖拾稳,帶你破解...
    沈念sama閱讀 211,948評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件吮炕,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡访得,警方通過(guò)查閱死者的電腦和手機(jī)龙亲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人鳄炉,你說(shuō)我怎么就攤上這事杜耙。” “怎么了迎膜?”我有些...
    開(kāi)封第一講書人閱讀 157,490評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵泥技,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我磕仅,道長(zhǎng)珊豹,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 56,521評(píng)論 1 284
  • 正文 為了忘掉前任榕订,我火速辦了婚禮店茶,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘劫恒。我一直安慰自己贩幻,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,627評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布两嘴。 她就那樣靜靜地躺著丛楚,像睡著了一般。 火紅的嫁衣襯著肌膚如雪憔辫。 梳的紋絲不亂的頭發(fā)上趣些,一...
    開(kāi)封第一講書人閱讀 49,842評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音贰您,去河邊找鬼坏平。 笑死,一個(gè)胖子當(dāng)著我的面吹牛锦亦,可吹牛的內(nèi)容都是我干的舶替。 我是一名探鬼主播,決...
    沈念sama閱讀 38,997評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼杠园,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼顾瞪!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起抛蚁,我...
    開(kāi)封第一講書人閱讀 37,741評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤陈醒,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后篮绿,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體孵延,經(jīng)...
    沈念sama閱讀 44,203評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,534評(píng)論 2 327
  • 正文 我和宋清朗相戀三年亲配,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了尘应。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片惶凝。...
    茶點(diǎn)故事閱讀 38,673評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖犬钢,靈堂內(nèi)的尸體忽然破棺而出苍鲜,到底是詐尸還是另有隱情,我是刑警寧澤玷犹,帶...
    沈念sama閱讀 34,339評(píng)論 4 330
  • 正文 年R本政府宣布混滔,位于F島的核電站,受9級(jí)特大地震影響歹颓,放射性物質(zhì)發(fā)生泄漏坯屿。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,955評(píng)論 3 313
  • 文/蒙蒙 一巍扛、第九天 我趴在偏房一處隱蔽的房頂上張望领跛。 院中可真熱鬧,春花似錦撤奸、人聲如沸吠昭。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,770評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)矢棚。三九已至,卻和暖如春府喳,著一層夾襖步出監(jiān)牢的瞬間蒲肋,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,000評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工劫拢, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留肉津,地道東北人强胰。 一個(gè)月前我還...
    沈念sama閱讀 46,394評(píng)論 2 360
  • 正文 我出身青樓舱沧,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親偶洋。 傳聞我的和親對(duì)象是個(gè)殘疾皇子熟吏,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,562評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容

  • 測(cè)試現(xiàn)在被普遍認(rèn)為“保證產(chǎn)品質(zhì)量”這個(gè)籠統(tǒng)的說(shuō)法下牵寺,而測(cè)試本身是什么呢?今天我們就測(cè)試本身跟大家一起討論恩脂。 測(cè)試是...
    西邊人閱讀 4,598評(píng)論 2 52
  • 1.測(cè)試與軟件模型 軟件開(kāi)發(fā)生命周期模型指的是軟件開(kāi)發(fā)全過(guò)程帽氓、活動(dòng)和任務(wù)的結(jié)構(gòu)性框架。軟件項(xiàng)目的開(kāi)發(fā)包括:需求俩块、設(shè)...
    宇文臭臭閱讀 6,718評(píng)論 5 100
  • 今晚劉總說(shuō)了一句話我印象深刻:當(dāng)你對(duì)什么事情有強(qiáng)烈的熱情和欲望的時(shí)候黎休,你要全力以赴浓领。因?yàn)槟欠N人生的狀態(tài)以后可能再也...
    海邊的小嫚兒閱讀 135評(píng)論 0 0
  • 我們昨天去了韓城玩。那里有很多水势腮,有橋联贩,有沙灘,還有很大的風(fēng)和各種圖形的娃娃捎拯,那些到了晚上就會(huì)發(fā)光泪幌,是很漂亮的。 ...
    藍(lán)海_3542閱讀 525評(píng)論 0 0
  • 文/一枚回形針 寒冷的天氣署照,實(shí)在不能從溫暖的被窩中爬起來(lái)做早餐祸泪。又不想餓著肚子去上班,怎么辦建芙?那就來(lái)個(gè)懶人早餐吧-...
    zy子悅閱讀 1,685評(píng)論 0 4