我們生活在乙個使用者依賴於對服務的一致訪問的可靠性時代。在相互競爭的服務之間進行選擇時,對使用者來說,沒有比可靠性更重要的特性了。但是可靠性是什麼意思呢?
為了回答這個問題,我們將根據可靠性工程中的其他度量來分解可靠性:可用性和可維護性。區分這些術語並不是語義問題。了解這些差異可以幫助您更好地將開發工作的優先順序放在客戶的滿意度上。
可用性是可靠性最簡單的組成部分。此度量描述服務執行的時間百分比,這也被稱為服務的「正常執行時間」。可用性可以通過連續查詢服務並以預期的速度和準確性確認返回的響應來監控。
服務的可用性是使用者感知可靠性的主要因素。考慮到這一點,設定乙個100%正常執行時間的目標是很誘人的。但是sre告訴我們失敗是不可避免的;導致停機的事故總是發生在工程預期之外。可用性通常用「9」表示,表示正常執行時間的百分比可以達到多少位小數。一些主要的軟體公司會吹噓自己的「5個9」或者99.99%的正常執行時間,但永遠不會有可確保的100%的正常執行時間。
此外,使用者是可以容忍甚至無法注意到服務的某些領域出現宕機。致力於改善超出預期的可用性的開發資源並不會增加客戶的滿意度,把這些資源用在可維護性上會更好。
可靠性的另乙個主要組成部分是可維護性。通過描述停機時間的產生和解決方式,將可維護性因素考慮到可用性中。當發生導致停機的事件時,可維護服務可以快速修復。事件越早得到解決,服務就越快恢復可用。
可維護性有兩個主要組成部分:主動式可維護性和反應式可維護性。
主動式可維護性包括構建易於理解和更改的**庫。隨著開發的進行,會出現與現有**不相容的問題。如果工程師寫的是麵條式**,而不是優先考慮可維護性,就容易出問題,並且很難發現和解決問題。主動維護還包括質量保證和測試等程式。
反應式可維護性描述了服務在事故發生後被修復的能力。這受服務的事故響應過程的影響。大型事故的反應和防範是必要的,如果事故響應程式可靠,團隊將迅速解決事件。適當的事故反應也有助於減少**。高度可維護的服務允許工程師有效地汲取這些經驗教訓。
可維護性反映在可用性指標中。縮短停機時間或停機頻率可以提高可用性。但是,可維護性不是實現可用性的唯一手段。採取這種方法可能導致發展資源分配不當。在可維護性方面的投資可能不會立即帶來更好的正常執行時間。當您重構舊**以解決技術債務時,服務的功能將與以前相同,並具有相同的可用性。直到事件發生,您才會看到這種高可維護性的好處。可維護性應該被看作是可靠性方面的投資,而不僅僅是可用性的乙個組成部分。
可靠性
可靠性可以定義為當使用者訪問服務時,服務按預期執行的可能性。這似乎與我們定義可用性的方式相同,但有關鍵的區別。可用性檢查服務是否工作,使用者是否正在訪問它。如果使用者在所有時間、所有功能上統一訪問服務,可用性將決定可靠性。一般情況下,這不可能發生。
以兩種情形為例:
服務a:
使用者登入頁面的可用性為97%
目錄搜尋的可用性為97%
站點設定頁面的可用性為97%
服務b:
使用者登入頁面具有可用性為99%
目錄搜尋的可用性為98%
**設定頁面的可用性為90%
僅從可用性度量來看,服務a勝出。但是如果登入頁面被100%的使用者使用,目錄搜尋被90%的使用者使用,而站點設定頁面只有30%的使用者使用,那麼服務b就會被認為更可靠。可靠性需要考慮實際使用情況,將可用性指標轉化為客戶滿意度的度量指標。
通過理解系統的可靠性,開發人員可以避免浪費時間來改進超出客戶預期的可用性。服務級別指標將延遲和可用性等指標**到更有效的度量中。然後將服務水平目標設定在顧客不滿意的閾值。這種方法從客戶的角度來看可靠性,因為對他們來說,服務的可靠性比它的可用性更重要。
可維護性也可以通過這種標準來評估。響應事件所花費的時間耗盡了服務正常執行時間的錯誤預算……sli和slo可以幫助分配開發工作,以改進可維護性和最影響客戶滿意度的事件響應過程。
可靠性不僅僅是度量的集合或**庫的質量。這是乙個全域性概念,包含了使用者的觀點、變化和增長的必然性以及開發**的人員。這種整體方法是sre的基礎,是實踐的集合,也是提高服務可靠性的文化課程。
如果你不想再體驗一次自學時找不到資料,沒人解答問題,堅持幾天便放棄的感受的話,可以關注我一起討論。
【軟體測試流程圖總結】
加油吧,測試人!路就在腳下,成功就在明天!
未來的你肯定會感謝現在拼命的自己!
可用性測試
工作一直緊張,但今天還是岔出了一件事情,就是對我負責的模組進行使用者可用性測試。兩個小時的測試還是有點收穫,小記之。剛剛從公司的培訓課程中學到了 usability test 沒想到這麼快就用到了實踐中,雖然這次的可用性測試不是很正式的從公司外部請使用者來做,也沒有用單面透視玻璃對使用者行為作 暗訪...
可用性測試
1.頁面部分 1.頁面清單是否完整 是否已經將所需的頁面全部都列出來了 2.頁面是否顯示 在不同解析度下頁面是否存在,在不同瀏覽器版本中頁面是否顯示 3.頁面在視窗中的顯示是否正確 美觀 在調整瀏覽器視窗大小時,螢幕重新整理是否顯示 4.頁面特殊效果顯示是否正確 2.頁面元素部分 2.元素是否顯示 ...
軟體的可維護性和可復用性
軟體的復用 reuse 或重用擁有眾多優點,如可以提高軟體的開發效率,提高軟體質量,節約開發成本,恰當的復用還可以改善系統的可維護性。物件導向設計復用的目標在於實現支援可維護性的復用。在物件導向的設計裡面,可維護性復用都是以物件導向設計原則為基礎的,這些設計原則首先都是復用的原則,遵循這些設計原則可...