當(dāng)前位置:首頁 > 嵌入式 > 嵌入式分享
[導(dǎo)讀]FSM 可以清晰地了解不同事件的預(yù)期系統(tǒng)行為。它們有助于定義和記錄需求。通過映射 FSM,測(cè)試人員可以有效地設(shè)計(jì)涵蓋所有可能轉(zhuǎn)換的測(cè)試用例,并確保系統(tǒng)對(duì)各種場(chǎng)景做出適當(dāng)?shù)姆磻?yīng)。FSM 可以幫助在早期設(shè)計(jì)階段識(shí)別不一致或缺失的邏輯。這可以防止在開發(fā)過程的后期出現(xiàn)代價(jià)高昂的錯(cuò)誤。它們充當(dāng)技術(shù)和非技術(shù)利益相關(guān)者之間的橋梁,促進(jìn)測(cè)試期間更好的溝通和協(xié)作。但讓我們看一些例子:

FSM 可以清晰地了解不同事件的預(yù)期系統(tǒng)行為。它們有助于定義和記錄需求。通過映射 FSM,測(cè)試人員可以有效地設(shè)計(jì)涵蓋所有可能轉(zhuǎn)換的測(cè)試用例,并確保系統(tǒng)對(duì)各種場(chǎng)景做出適當(dāng)?shù)姆磻?yīng)。FSM 可以幫助在早期設(shè)計(jì)階段識(shí)別不一致或缺失的邏輯。這可以防止在開發(fā)過程的后期出現(xiàn)代價(jià)高昂的錯(cuò)誤。它們充當(dāng)技術(shù)和非技術(shù)利益相關(guān)者之間的橋梁,促進(jìn)測(cè)試期間更好的溝通和協(xié)作。但讓我們看一些例子:

明確需求規(guī)范

一家科技初創(chuàng)公司正在開發(fā)一款革命性的智能樓宇管理系統(tǒng)。他們最新的挑戰(zhàn)是開發(fā)一款控制復(fù)雜電梯的應(yīng)用程序。該團(tuán)隊(duì)由熱情的項(xiàng)目經(jīng)理索菲亞領(lǐng)導(dǎo),但面臨溝通障礙。

“工程師們一直在改變應(yīng)用程序的行為!”索菲亞在一次團(tuán)隊(duì)會(huì)議上說道?!扒耙环昼娝€優(yōu)先處理快速呼叫,下一分鐘它就為所有樓層提供服務(wù)??蛻舾械嚼Щ?,我們落后于計(jì)劃?!?

首席軟件工程師戴維撓了撓頭。“我們都了解核心功能,但將這些要求轉(zhuǎn)化為代碼卻很棘手。”

新任 UI/UX 設(shè)計(jì)師 Aisha 說道:“也許我們需要一種更直觀的方式來表現(xiàn)電梯的行為。讓每個(gè)人一眼就能看懂?!?

索菲亞拿出一塊白板?!叭绻覀?yōu)槲覀兊膽?yīng)用程序創(chuàng)建一個(gè) FSM 會(huì)怎么樣?”

團(tuán)隊(duì)圍成一圈,索菲亞則畫了一張圖。FSM 描述了電梯的不同狀態(tài)(空閑、上行、下行、門打開)以及觸發(fā)它們之間轉(zhuǎn)換的事件(按鈕按下、樓層傳感器激活)。它還為每個(gè)狀態(tài)定義了明確的輸出(門打開、樓層廣播)。

“這太神奇了!”大衛(wèi)驚呼道?!八吻辶穗娞菘刂葡到y(tǒng)的決策過程?!?

艾莎笑了。“這個(gè) FSM 還可以指導(dǎo)用戶界面設(shè)計(jì)。我們可以根據(jù)用戶的輸入向他們顯示電梯的當(dāng)前狀態(tài)和預(yù)期行為。”

在接下來的幾天里,團(tuán)隊(duì)完善了 FSM,確保所有用戶場(chǎng)景和極端情況都得到考慮。他們使用 FSM 作為編碼、UI 設(shè)計(jì)甚至客戶演示的參考點(diǎn)。

結(jié)果令人印象深刻。他們的應(yīng)用程序運(yùn)行完美,在高峰時(shí)段優(yōu)先處理快速呼叫,并高效地為所有樓層提供服務(wù)。基于 FSM 的清晰用戶界面讓每個(gè)人都能了解電梯的當(dāng)前狀態(tài)。

“FSM 改變了游戲規(guī)則,”Sofia 在一次成功的客戶演示中說道?!八峁┝藢?duì)系統(tǒng)行為的共同理解,從而實(shí)現(xiàn)了順利的開發(fā)和客戶滿意度?!?

該應(yīng)用的成功證明了 FSM 的強(qiáng)大功能。通過提供系統(tǒng)行為的清晰視覺表示,F(xiàn)SM 彌補(bǔ)了溝通鴻溝,確保了明確定義的需求,并有助于開發(fā)出功能強(qiáng)大且用戶友好的軟件。

測(cè)試用例生成

另一家初創(chuàng)公司正在開發(fā)一款用于限制區(qū)域的人工智能安全門。門禁控制基于員工身份證和許可級(jí)別。然而,測(cè)試階段變成了一個(gè)令人沮喪的隨機(jī)場(chǎng)景迷宮。

“這些漏洞到處都有!”首席 QA 測(cè)試員 Mike 抱怨道?!扒耙环昼姶箝T還打開,需要提供有效身份證件,下一分鐘大門就毫無理由地拒絕進(jìn)入?!?

首席開發(fā)人員麗莎皺起了眉頭。“我們已經(jīng)寫了很多測(cè)試用例,但這些小故障還是不斷出現(xiàn)。”

團(tuán)隊(duì)新成員、剛剛畢業(yè)的計(jì)算機(jī)科學(xué)畢業(yè)生亞歷克斯 (Alex) 認(rèn)真地聽著。“你們考慮過使用 FSM 嗎?”

邁克問道:“有限狀態(tài)機(jī)?那是什么?”

Alex 解釋了 FSM 如何直觀地表示應(yīng)用的行為。它將顯示各種狀態(tài)(空閑、驗(yàn)證 ID、允許訪問、拒絕訪問)以及觸發(fā)轉(zhuǎn)換的事件(刷卡、檢查通行證)。

“通過映射 FSM,”Alex 繼續(xù)說道,“我們可以系統(tǒng)地設(shè)計(jì)涵蓋所有可能轉(zhuǎn)換的測(cè)試用例,并確保我們的應(yīng)用程序在每種情況下都能做出適當(dāng)?shù)姆磻?yīng)?!?

團(tuán)隊(duì)決定嘗試一下。他們一起在白板上畫了一個(gè) FSM。它詳細(xì)說明了所有可能的徽章刷卡(有效身份證、無效身份證、吊銷身份證)以及相應(yīng)的狀態(tài)轉(zhuǎn)換和輸出(門打開、訪問被拒絕消息、安全警報(bào))。

基于 FSM,Mike 和 Alex 設(shè)計(jì)了全面的測(cè)試案例。他們測(cè)試了不同權(quán)限級(jí)別的有效訪問權(quán)限、使用無效徽章的嘗試訪問權(quán)限,甚至模擬了被吊銷的身份證件。他們還測(cè)試了極端情況,例如在驗(yàn)證過程中同時(shí)刷徽章或網(wǎng)絡(luò)中斷。

結(jié)果非常顯著。FSM 幫助他們識(shí)別并修復(fù)了之前未曾預(yù)料到的錯(cuò)誤。例如,他們發(fā)現(xiàn)了一個(gè)邏輯錯(cuò)誤,該錯(cuò)誤導(dǎo)致應(yīng)用程序在 ID 被撤銷后仍授予訪問權(quán)限。

“這個(gè) FSM 真是救星!”Mike 驚呼道。“它就像一張路線圖,確保我們測(cè)試了系統(tǒng)中每一條可能的路徑?!?

麗莎松了一口氣,點(diǎn)點(diǎn)頭?!巴ㄟ^這些全面的測(cè)試,我們終于可以對(duì)我們的應(yīng)用程序的可靠性充滿信心了?!?

該團(tuán)隊(duì)學(xué)到了寶貴的教訓(xùn):FSM 不僅僅是理論工具,而且是軟件測(cè)試戰(zhàn)場(chǎng)上的強(qiáng)大盟友。

早期錯(cuò)誤檢測(cè)

另一個(gè)開發(fā)團(tuán)隊(duì)正在開發(fā)一款 VoIP 應(yīng)用。該應(yīng)用承諾通過互聯(lián)網(wǎng)實(shí)現(xiàn)清晰的語音通話,但開發(fā)過程卻令人沮喪不已。

“通話質(zhì)量一直在下降!”首席開發(fā)人員 Mary 愁眉苦臉地說。“前一分鐘音頻還很清晰,后一分鐘就變得一團(tuán)糟。”

項(xiàng)目經(jīng)理杰森壓力很大,捏了捏鼻梁?!懊看螠y(cè)試后我們都會(huì)修復(fù)錯(cuò)誤,但這些音頻問題就像一場(chǎng)打地鼠游戲?!?

新任 UI/UX 設(shè)計(jì)師 Anna 建議:“也許我們需要一種更結(jié)構(gòu)化的方法來直觀地展示我們的 VoIP 應(yīng)用應(yīng)該如何運(yùn)行。在編碼開始之前就暴露出潛在的故障?!?

馬克想起了他一年級(jí)計(jì)算機(jī)科學(xué)學(xué)位時(shí)學(xué)到的一個(gè)概念?!坝邢逘顟B(tài)機(jī) (FSM) 怎么樣?”

團(tuán)隊(duì)圍坐在白板旁,馬克畫了一張圖。FSM 描述了應(yīng)用的各種狀態(tài)(空閑、發(fā)起呼叫、已連接、通話中)以及觸發(fā)轉(zhuǎn)換的用戶操作(撥號(hào)、接聽、掛斷)。它還定義了每個(gè)狀態(tài)的預(yù)期輸出(鈴聲、語音連接、通話結(jié)束消息)。

“這太神奇了!”安娜驚呼道?!巴ㄟ^繪制流程,我們可以在邏輯中潛在的弱點(diǎn)導(dǎo)致音頻問題之前發(fā)現(xiàn)它們?!?

在接下來的幾天里,團(tuán)隊(duì)精心設(shè)計(jì)了 FSM。他們很早就發(fā)現(xiàn)了邏輯中的一個(gè)關(guān)鍵漏洞。最初的設(shè)計(jì)沒有考慮到不同的互聯(lián)網(wǎng)連接強(qiáng)度。這可以解釋 Mary 描述的不穩(wěn)定的通話質(zhì)量。

以 FSM 為指導(dǎo),網(wǎng)絡(luò)工程師 Alex 改進(jìn)了應(yīng)用程序適應(yīng)不同帶寬的能力。該應(yīng)用程序根據(jù)用戶的互聯(lián)網(wǎng)速度動(dòng)態(tài)調(diào)整音頻壓縮級(jí)別。這確保了即使在連接不穩(wěn)定的情況下也能獲得更流暢的通話體驗(yàn)。

FSM 揭示了另一個(gè)潛在問題:缺乏明確的“通話中斷”狀態(tài)。如果連接突然中斷且沒有任何通知,這可能會(huì)讓用戶感到困惑?;谶@一洞察,團(tuán)隊(duì)設(shè)計(jì)了一條由意外連接中斷觸發(fā)的信息豐富的“通話結(jié)束”消息。

到發(fā)布當(dāng)天,VoIP 應(yīng)用的表現(xiàn)已堪稱完美。FSM 幫助他們?cè)谠缙陔A段發(fā)現(xiàn)關(guān)鍵故障,從而防止用戶失望和潛在流失。

改善溝通

另一個(gè)開發(fā)團(tuán)隊(duì)正在開發(fā)一款移動(dòng)銀行應(yīng)用程序。它承諾提供最先進(jìn)的安全性和用戶友好的功能。然而,開發(fā)團(tuán)隊(duì)與利益相關(guān)者之間的溝通卻因誤解而變成了一場(chǎng)財(cái)務(wù)噩夢(mèng)。

“市場(chǎng)營(yíng)銷部門想要一個(gè)炫酷的登錄動(dòng)畫,”首席開發(fā)人員尼克嘆了口氣?!暗赡軙?huì)與雙因素身份驗(yàn)證過程相沖突?!?

項(xiàng)目經(jīng)理喬揉了揉太陽穴?!岸沂紫瘓?zhí)行官一直在問面部識(shí)別的問題,但目前的設(shè)計(jì)中還沒有這個(gè)功能。”

充滿熱情的實(shí)習(xí)生約翰插話說:“你考慮過使用有限狀態(tài)機(jī)(FSM)來建模我們的應(yīng)用程序嗎?”

John 解釋了 FSM 如何直觀地表示應(yīng)用程序的流程。它將顯示不同的狀態(tài)(空閑、登錄、帳戶選擇、交易確認(rèn)),用戶操作(輸入憑證、選擇帳戶、確認(rèn)轉(zhuǎn)賬)會(huì)觸發(fā)轉(zhuǎn)換。

“FSM 的優(yōu)點(diǎn)在于,”John 繼續(xù)說道,“它為所有參與者提供了清晰簡(jiǎn)潔的畫面。技術(shù)和非技術(shù)利益相關(guān)者可以輕松了解應(yīng)用程序的預(yù)期行為?!?

團(tuán)隊(duì)決定試一試。他們一起為該應(yīng)用繪制了一個(gè) FSM,詳細(xì)描述了用戶旅程的每一步。這包括雙因素身份驗(yàn)證過程及其與登錄動(dòng)畫的交互?,F(xiàn)在營(yíng)銷人員清楚地認(rèn)識(shí)到,華麗的動(dòng)畫可能會(huì)破壞安全協(xié)議。

FSM 成為了溝通的橋梁。Joe 將它介紹給了 CEO,CEO 很容易就理解了當(dāng)前設(shè)計(jì)階段面部識(shí)別集成的局限性。FSM 幫助確定了功能的優(yōu)先順序,并確保每個(gè)人都達(dá)成共識(shí)。

測(cè)試人員也受益匪淺。FSM 充當(dāng)了路線圖,引導(dǎo)他們了解各種用戶場(chǎng)景和潛在的 HYPERLINK "https://dzone.com/articles/russells-paradox-permissive-rules-and-contradictin" 。他們可以系統(tǒng)地測(cè)試每個(gè)狀態(tài)轉(zhuǎn)換并識(shí)別應(yīng)用程序行為中的不一致之處。

到發(fā)布時(shí),該應(yīng)用程序已完美運(yùn)行。FSM 促進(jìn)了清晰的溝通,從而打造出設(shè)計(jì)精良且安全的銀行應(yīng)用程序。利益相關(guān)者很高興,開發(fā)團(tuán)隊(duì)松了一口氣,而 John 憑借其 FSM 知識(shí)成為團(tuán)隊(duì)的寶貴財(cái)富。

團(tuán)隊(duì)的關(guān)鍵結(jié)論是:FSM 不僅僅適用于內(nèi)部開發(fā)。它們可以彌合溝通鴻溝,并確保整個(gè)軟件開發(fā)生命周期中技術(shù)和非技術(shù)利益相關(guān)者之間的順利協(xié)作。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉