測試web應(yīng)用程序不僅要測試網(wǎng)站本身,還需要檢查網(wǎng)站各個層次的應(yīng)用程序指標。這就像建造一架飛機:飛機的每一個部件都必須經(jīng)過安全性設(shè)計和測試,只有各個子系統(tǒng)完成了開發(fā)并通過測試,它們才可以組裝到最終產(chǎn)品上,進行飛行測試。對于這樣一個復(fù)雜的系統(tǒng),我們必須先保證各個部件的可靠性,然后才能假定最終成品有可能符合要求網(wǎng)站也類似。它也由各種組件和子系統(tǒng)構(gòu)成,如網(wǎng)絡(luò)、數(shù)據(jù)庫、應(yīng)用邏輯和前端,它們分布在各個層上,甚至每一層還可能有多個交互系統(tǒng)。通常,測試一個網(wǎng)站需要經(jīng)過下面幾個步驟:...
行政管理層不接納實現(xiàn)網(wǎng)站創(chuàng)新及改進建議的一些現(xiàn)象。企業(yè)文化、安于現(xiàn)狀和疏忽都會妨礙業(yè)務(wù)團隊與工程團隊的協(xié)調(diào)。...
如果業(yè)務(wù)團隊與工程團隊開始有共同語言,更好地理解對方,以及在組織中建立良好的相處關(guān)系,那么這對于公司肯定是好事,但是這些方法并不一定有效。有時候,是因為業(yè)務(wù)管理本身做得不好,特別是那些有較大影響力的行政角色做得不好。我將介紹一些破壞業(yè)務(wù)團隊與技術(shù)團隊之間協(xié)作的常見問題,以及相應(yīng)的應(yīng)對方法。...
業(yè)務(wù)團隊和開發(fā)團隊一定要在各自目標以及公司總體的業(yè)務(wù)目標上保持步調(diào)一致。當公司能夠善加利用技術(shù)人員的特長和技能時,這種效果就能實現(xiàn)。形成孕育這種效果的文化和組織環(huán)境并不容易,但是如果兩個團隊都開始不斷地向?qū)Ψ娇拷?盡管這對于技術(shù)和非技術(shù)團隊而言并不容易),那么就可能實現(xiàn)這種效果。...
激勵是提高員工生產(chǎn)力的重要因素。有時候,Web開發(fā)者會由于日復(fù)一日地重復(fù)相同工作而變得單調(diào)無趣。這在大型公司中尤為明顯,因為在大公司中,人們更難嘗試或創(chuàng)造新東西,而只有新東西才能吸引人們享受自己的日常工作。我們越是鼓勵開發(fā)者做一些新工作,他們就會越積極主動,團隊成員也會越積極主動,從而越有可能真正勤奮地工作第一時間解決問題,或是開發(fā)新網(wǎng)站和應(yīng)用。只有積極主動的團隊才最有可能與業(yè)務(wù)人員進行溝通,致力于公司長遠目標的實現(xiàn),而其他人則只會安于完成自己的本職工作。體現(xiàn)在公司的招聘實踐...
業(yè)務(wù)與市場營銷團隊的基本關(guān)注點是尋找新客戶并創(chuàng)造利潤。與之相反,技術(shù)團隊則專注于構(gòu)建和支持那些執(zhí)行業(yè)務(wù)的技術(shù)系統(tǒng)。由于各自的優(yōu)先關(guān)注點不同,所以他們的認知也有著很大差別。在很多時候,在構(gòu)建和管理一個系統(tǒng)來支持公司高層所設(shè)定的目標時,技術(shù)人員通常會認為業(yè)務(wù)團隊會對他們起妨礙作用,而業(yè)務(wù)團隊則將技術(shù)團隊視為財務(wù)黑洞,特別是運維人員一一業(yè)務(wù)團隊認為運維團隊的開支束縛了公司的增長步伐。...
軟件工程師與運維工程師雙方在軟件開發(fā)與維護過程中要更緊密協(xié)作和分享相似職責(zé)。對于運維與軟件開發(fā)人員之間的關(guān)系,20年前與現(xiàn)在相比有何不同在發(fā)布、故障修復(fù)和協(xié)作方面)?...
當軟件開發(fā)人員與運維工程師一起工作時,他們雙方都并不清楚對方的工作性質(zhì)與感覺,但是這兩種職位有一定的相似性。軟件開發(fā)人員負責(zé)構(gòu)建和維護軟件,而運維人員則負責(zé)保證軟件的正常運行。開發(fā)人員構(gòu)建的軟件主要面向客戶或最終用戶,而運維工程師構(gòu)建的軟件則通常面向本部門或本公司的其他工程師。然而、在源代碼方面、軟件工程師與運維工程師之間已經(jīng)不存在絕對的界線?,F(xiàn)今的系統(tǒng)操作員不能只知道如何修改配置和維護文件系統(tǒng)、他們已經(jīng)被新型工程師所取代:既要能開發(fā)新應(yīng)用、又要能勝任運維工作并保證軟件的高效...
如何把動態(tài)頁面改造成適合緩存的靜態(tài)頁面呢?就是通過前面提及的去除影響因素的方法,即通過動靜分離把這些因素獨立出來。下面以詳情系統(tǒng)(Detail)為例介紹如何做動靜分離。...
靜態(tài)化之前我們圍繞Java層面做了很多優(yōu)化,改進的思路也大多是盡量讓應(yīng)用本身更快地獲取數(shù)據(jù),更快地計算出結(jié)果,然后把結(jié)果返給用戶。我們做了一個極端的測試:將系統(tǒng)全部的數(shù)據(jù)緩存,再直接返回所有的請求結(jié)果,在這種情況下壓測Java系統(tǒng),結(jié)果性能未能滿足期望一即達到 2000甚至上萬次的QPS-因此在 Java系統(tǒng)上不可能達成目標。...