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