速度、質量和成本這三者通常被稱為“項目三角”,這種說法給我們提供了一種很好的視覺圖像,展示了三者是如何密不可分,以及為什么我們不能同時三者兼具。項目三角還有幾種變體,它們加入了范圍,作為第四種元素。可以以質量為中心,以速度、范圍和成本為三條邊來表示這種變體。我們更喜歡采用傳統的速度/成本/質量的項目三角,用三角形的大小來表示范圍。其中三條邊表示的是速度、成本和質量,而三角形的面積表示的是項目的范圍。如果這個三角形很小,說明項目的范圍很小,而成本、時間和質量因素也會與之成比例。...
我們通常會用一個問句,即這個流程與可擴展性有關嗎?這一次,希望你已經可以列出性能測試和壓力測試在影響可擴展性的多種因素中占有一席之地的原因了。在探討它們之間的關系時,我們準備把重點放在三個方面,即余量、變更控制和風險管理。...
根據系統的規模、你從每種測試得到的信息的相對價值、你可用的時間多少以及組織愿意接受的風險大小,最終確定了測試計劃后,你就可以進入第四步,即真正執行測試。在這一一步中,你將根據測試計劃,在專為測試建立的環境中系統地執行各種測試,并且把各種衡量指標記錄下來,如交易時間、響應時間、輸出和反應等。所有數據都要被收集起來,在性能測試中,數據是你的朋友,你真正能得到的不過如此。保存每次發布之前的測試數據是很重要的。我們將在下一步中介紹,對比各個發布版本對于理解數據以及判斷數據是在正常范圍...
性能測試規劃中的第三步是定義測試。如前所述,對于各種服務和功能來說,可以執行的測試種類有很多。如果要把它們全部運行一-遍,可能你永遠也不能發布任何產品了。這里的關鍵是應用帕累托分布或者說80/20法則,即找出能給你提供80%信息的那20%測試方法。就提供的信息數量和價值來說,種種系統測試幾乎總是遵從少數幾種相似的分布。這是因為并非所有功能的使用都是平等的,有些功能比其他功能更關鍵。處理用戶支付的功能就比處理用戶查找朋友的功能關鍵得多,因此對它的測試可以更加嚴格。...
按照維基百科的論述,根據定義,性能測試涵蓋了林林總總的工程開發評估標準,其側重于最后可衡量的性能特征,而不是實際上的原料和產品。。對于計算機科學來說,性能測試的重點在于確定一個設備或軟件中的速度、吞吐量或有效性。性能測試通常又叫作負載測試,對我們來說,這兩個術語是可以互相代替的。有些專家則認為性能測試和負載測試的目標不同,但技術相似。為了避免學究式的爭論,我們在定義性能測試時,給了一個更加寬泛的目標,以便它能兼容性能測試和負載測試的目標。...
在你有了性能基準后,第二步是建立測試環境。這個環境包括運行應用所需的網絡、服務器、操作系統和第三方的軟件。通常,開發、質量保證測試、性能測試、準備和生產這些環節都有自己獨立的環境。測試環境很重要,因為你需要一個穩定一一致的環境在一段持續的時間內反 復地執行測試。測試的種類有很多,我們將在下一步“定義測試”中討論它們,目前你只要知道測試組件的方法有很多即可。此外,有些測試需要運行一定的時間,例如24小時,以便生成批量程序必須是生產環境的鏡像。測試環境很重要的另一個原因是,為了讓...
根據你的組織文化的需要,ARB會議可以是正式的,也可以是非正式的。我們的經驗是,這種會議對產品線工程師、數據庫管理員和其他JAD成員來說,都形同挑戰,因此我們傾向于非正式的形式。只有當要對功能的架構進行采用或不采用的決策時,才會進行正式的會議;這對于讓JAD團隊提出經過深思熟慮且報告制作良好的設計來說,應該已經足夠了。...
你可能希望某些人或角色加入ARB、但更重要的是,這些人需要表現出一定的素質。讓我們首先來討論一下這些素質,然后再討論角色。我們希望的是,這兩個范能夠完全重合,所有應有的角色都由那些顯示出應有素質的人來扮演。首先,你想要的是那些在組織內受尊重的人。...
某個流程或關注點是怎么影響可擴展性的。答案通常相同,即組織中的人員或流程會創造應用的可擴展性,也會破壞它的可擴展性。這應該不會讓你感到意外。如果沒有正確的團隊支持,或者該團隊沒有采用正確的流程,那么得到能夠根據業務需求進行擴展的架構的可能性是零。組織一個跨部門的團隊設計應用,可以確保具有不同知識的人協同合作,找到最佳的解決方案。此外,這些人現在還有了共同的目標,即要使這個功能獲得成功。不具備這兩個關鍵因素,在大多數組織中常見的知識不足和經驗的鴻溝的情況都會注定使功能定期地出現...
網絡廣告交換,也稱為友情鏈接、互惠鏈接、互換鏈接等,是具有一定資源互補優勢的網站之間的簡單合作形式,即分別在自己的網站上放置對方網站的Logo或網站名稱,并設置對方網站的超鏈接,使得用戶可以從合作網站中發現自己的網站,達到互相推廣的目的。因此常作為一種網站推廣手段。...