可測性是設計方案的必選項

2021-07-10 07:47:14 字數 886 閱讀 6490

功能性,健壯性等這些特性是系統設計方案中常見的要求和體現。

設計出的系統能夠持續執行多長時間,支撐多少的業務併發量,容忍多少種異常業務場景是評價乙個設計人員的設計功力的重要指標。同時我們也越來越多的感受到乙個良好的設計是簡單的,可重用的;「高內聚,低耦合」,「開閉原則」等等一系列的設計指導原則成為設計人員的座右銘和口頭禪。

但是,鮮有「可測性」的要求見諸方案評審的場合。

可測性意味著,研發人員產出的系統設計和編碼,能夠且易於被測試。為什麼要有這條要求呢?

首先,容易測試的設計和**表明在結構上更清晰,在自測的過程中更容易發現和修正問題,能夠有效節省開發過程中的自測成本,一種實現方式花費了1人日的時間開發完成,卻用了5人日的時間,都沒有自測完成,這種時候實際上要從方案的設計本身來思考問題了;

其次,能夠節省質量保證人員的時間成本,這也就意味著他們花費同樣的時間,卻能夠為開發人員保證更高的質量,是一種雙贏的局面;如果一種設計方案在底層的資料層和上層的展示層都會有可預見的變更,在中間的抽象層卻無法進行有效的持續整合,一旦方案產生變更,留給測試人員的是難以完成的回歸量,留給開發人員的是迅速膨脹的線上問題需要排查和解決。

再次,其實很多時候容易被忽略但也是最重要的一點,測試團隊和開發團隊的協作,尤其是精神層面的相互配合,在可測性上,如果雙方能夠達成和諧一致的狀態,考慮彼此的核心訴求,對最終的專案產出是1+1>2的效果。

曾經在看乙個測試分析理論的公開課時,有段表述記憶很深刻,使用路徑分析法對一段邏輯進行測試用例覆蓋,包括單條的順序鏈路,分支鏈路,迴圈鏈路,其中舉了乙個極端的例子,一段邏輯分析下來,各種組合下來鏈路超過百條,這時,其實要做的不是苦苦地去測試分析,用例覆蓋,而是通知設計人員--re-design.

可自定義的SSO單點登入高可擴充套件設計方案

我們通常所使用的的單點登陸工具cas以及keycloak等,可以在一定的環境下做到多個應用統一登入的功能,確實提供了不少的方便,但是如果是面臨多個單點登入工具以及本地登入的結合將如何對接呢,大公司或許只有乙個穩定的單點登入平台,但是對於小公司尤其是三方公司就不一定了,針對這一情況,特意提出了乙個可定...

可擴充套件 高可用服務網路設計方案

可擴充套件 高可用服務網路設計方案 email sery 163.com email 定義 可擴充套件 在使用者訪問數量快速增長的情況下,不終止現有服務來擴充套件系統的容量。比如 web伺服器目前已經不能接受更多的使用者訪問,可以在不停止服務的情況下增加第 2臺伺服器,甚至更多的伺服器,而且新增伺服...

MySQL許可權開通的設計方案

mysql中的許可權管理和其他資料庫還是有很大的不同,它能夠實現幾種很特別的許可權場景 幾個人公用乙個賬號,看起來使用者名稱相同,密碼相同,但是許可權缺可以不同 幾個人用同乙個賬號,使用者名稱相同,但是密碼可以不同,許可權可以相同 幾個人用同乙個賬號,使用者名稱相同,但是密碼可以不同,許可權可以不同...