保存Web應用程序中各個層的歷史性能數據,有利于快速確定問題所在位置。典型的三層架構包括Web層、應用層和數據層。性能問題有可能出現在任一層,因而此舉會增加排查問題的難度。通過保存各個層的性能數據,我們就有可能在最終用戶遇到問題之前就檢測并解決掉,或者,更關鍵的是,在這些問題影響到網站或應用中與收益相關的功能之前就將它們排除。Web開發人員必須與運維人員一起協作,監控各層的運行狀況,確定各層的測試方式應該是兩個團隊的共同職責。例如,Web開發人員可能負責保存應用層和Web層的...
在任何網站上,在測試前端時都必須模擬真實用戶在網站上執行真實功能的情形。這就是所謂的真實瀏覽器測試,它不同于使用工具( Apache-Bench或Jmeter)執行的合成測試,后者只是模擬網站前端的流量負載。真實瀏覽器需要一定的時間才能構造出文檔對象模型( DOM),這其中包括解析JavaScript, 然后再渲染網頁。Apache-Bench和Jmeter等工具無法測試真實瀏覽器在這些方面的加載過程。...
測試對象取決于Web應用程序當前所處的軟件開發生命周期。在開發早期,我們可能需要直接測試軟件的各個獨立組件,從而更好地理解各個組件的運行方式。這是因為,在一款Web應用程序中,實際上會有多個Web層參與到頁面的顯示與最終用戶請求的響應中。...
安全至關重要,但在Web應用程序測試中經常被忽視。它經常被視為測試過程中不必要的部分,這是不正確的。將漏洞測試整合到測試和持續集成周期中,我們不僅能夠發現安全漏洞,也能夠發現性能問題、功能問題和其他不可預期的Bug否則無法檢測到這些Bug,它們甚至在應用程序的真實應用中也極少出現。...
Web測試可以由負責開發某個應用程序的開發人員編寫,也可以由其他工程師編寫,主要就是編寫功能測試。運維人員甚至可以使用Selenium測試框架( selenium.org)這樣的工具來執行真實測覽器的自動監控或測試。這里的關鍵是,使用真實瀏覽器測試Web應用程序,Web測試的準確性和真實性都會好于編寫代碼發起HTP請求的人工測試,而且后者還無法在瀏覽器中解析和渲染 Javascript.。用戶使用Web瀏覽器訪問網站,所以不使用瀏覽器,就無法在測試中產生最準確的結果。...
TDD的學習難度很大。我認為BD在很多方面都是對TD0的科充和修 BDD是在TDD出現5年之后才面市的,BDD是TDD的延續,因為正。BDD修正了我們對于例試的定義和命名,還對編寫這些測試的方法以及適宜人員提出了一定的建設性意見。在過去六七年中,BDD一直在向前發展一也可能有8年時間了,我認為是從200年開始的。所以,對于我而育,現在BD更多是關于利益相關者、測試人員、程序員和用戶之間的交流。...
測試使我們能夠根據需要來修改軟件。在我們的環境中,客戶都是商人(手握鈔票),他們總會要求很多功能和特性,甚至一天會提幾次要求,因此我們不得不做大量的小修改。測試可以幫助我們完成這些修改,并且保證不搞壞什么東西。也就是說,所有工作都依賴于測試帶來的價值。有時候,測試很有難度,也可能變得很麻煩。如果想要快速完成軟件的修改,那么就不太可能測試所有的方面,而且維護這些測試也很困難。例如,我的上一家公司就非常注重測試,因為他們的軟件不會經常變化。但是,另一方面,我們也無法快速獲得反饋。...
持續負載測試(浸泡測試)是指在一段較長時間里用不同的負載持續測試網站或應用程序。這種方法可以在應用程序正式上線之前發現有問題。一般只有在軟件發生重大變化或重大版本發布時,才需要執行持續負載測試,測試的時間可能持續24小時或者幾天。...
網站最大容量測試(壓力測試)是指給最終用戶服務施加一定的負載確定Web應用程序或網站崩潰和停止工作的臨界點。這個方法是容量規劃和確定應用程序可承受壓力或負載的重要方法。這是測試環境內部經常會執行的合成測試。萬萬不可在生產網站上執行最大容量測試,因為它可能會導致網站停止響應,從而影響業務收益。最大容量測試有可能發現代碼問題。負載相對較低或會話數量相對較少的應用程序也可能會出現一些功能問題,只有解決了這些問題,我們才能繼續執行后續的測試。...
保證軟件質量的責任并不專屬于某個部門。只要使用一些常用的工具集,Web開發人員、運維工程師和QA工程師就都能執行各種測試一所有利益相關者都應該參與到軟件質量的保證過程中。這就要求將測試整合到測試框架和持續集成過程中,或者用一些方法實現自動化測試,這樣才能快速高效地檢查Web或應用程序的性能。...