?

智能家居場景功能測試用例設計方法研究

2023-01-15 11:25楊文全田云龍馬曉玉時雨
家電科技 2022年6期
關鍵詞:正確性功能測試測試用例

楊文全 田云龍 馬曉玉 時雨

1.青島海爾科技有限公司 山東青島 266101;

2.數字化家電國家重點實驗室 山東青島 266101;

3.青島海爾智能家電科技有限公司 山東青島 266101;

4.中家院(北京)檢測認證有限公司 北京 100053

0 引言

隨著信息技術的不斷發展,人類正加快進入數字化時代,計算機技術、物聯網技術、人工智能等技術的深入發展,使得智能家居行業得到了前所未有的進步,其中,智能家居場景化更是不斷升級,正在深刻改變著人們的生活成為智能家居新的發展方向。

場景是指由云端、控制終端、設備端組成的能夠滿足用戶特定需求的軟件系統。場景一般模型如圖1所示[1],圖1為靜態結構,其中各平臺指云端,控制終端包括家用電器的控制面板、手機、平板電腦控制終端等,設備端一般指各類家用電器及各類電子設備等。圖1給出了一般結構,在圖1的結構基礎上,根據用戶的不同需求可衍化出各類滿足用戶不同需求的多個具體場景,其可理解為家居軟件系統中的特定軟件功能。圖2為歸家場景示例,“cloud”表示云端,“App”表示控制終端,“網關、門鎖、攝像頭、燈、窗簾、空調、音箱”表示設備端。該場景功能為:用戶在App端選擇場景,App將信息上傳至云端,用戶觸碰門鎖打開,門鎖將信息上傳至云端,云端通過網關控制攝像頭關閉、窗簾關閉、燈光打開、空調打開、音箱打開,形成一個滿足用戶歸家需求的軟件系統。

圖1 場景一般模型

圖2 歸家場景示例

當前,各大家電廠商均在紛紛布局智能家居場景,場景的研發和服務正成為行業發展的重要方向。場景使用體驗的好壞是用戶選擇場景的重要依據,影響場景使用體驗最直接的因素是場景的質量,而保障場景質量的重要手段就是進行場景測試。場景測試的本質是軟件測試,是對由組件組成的場景進行功能性、性能效率、兼容性、易用性、可靠性、信息安全性、維護性、可移植性測試的過程。在場景測試過程中最基本也是最重要的測試就是功能性測試。

目前,由于技術和水平的限制,場景功能的檢測質量參差不齊、使用體驗差、使用率不高,普遍存在以下問題:

(1)測試維度不完善。目前場景功能檢測局限于依據功能需求規格說明書進行場景功能覆蓋率測試,未充分考慮功能的完備性、正確性、適合性以及依從性、未覆蓋場景的隱含需求、未考慮場景的實際使用環境、未對場景執行過程中的沖突情況進行測試[2]。

(2)測試用例設計不科學。目前場景功能測試過程中對等價類劃分、邊界值分析等測試技術的融合應用不夠,導致測試過程中出現重復測試、邊界、極值未覆蓋等情況,影響場景功能測試的效率和質量。

針對上述問題,考慮到場景的本質是軟件系統,本文參考GB/T 25000.51-2016《系統與軟件工程 系統與軟件質量要求和評價(SQuaRE)第51部分:就緒可用軟件產品(RUSP)的質量要求和測試細則》[3]中產品質量功能性及其子特性的要求,將軟件黑盒測試方法應用于智能家居場景功能測試實例中,提出智能家居場景功能測試用例設計方法,供行業參考。

1 場景功能測試問題分析

1.1 測試維度

目前智能家居行業場景功能測試的維度較單一,普遍是對照著需求規格說明書進行逐項測試,測試覆蓋不夠全面,導致場景執行過程中的很多隱藏需求未測試,影響場景的使用體驗。主要原因是進行場景功能測試過程中沒有建立完善的測試體系,對功能性的測試維度認識不夠全面。

根據國家標準GB/T 25000.10-2016《系統與軟件工程 系統與軟件質量要求和評價(SQuaRE)第10部分:系統與軟件質量模型》,功能性主要從功能完備性、功能正確性、功能適合性、功能依從性方面進行測試[4]。

(1)功能的完備性

主要驗證功能集對指定的任務和用戶目標的覆蓋程度。

場景功能的完備性測試是指測試場景對指定的任務和用戶目標的覆蓋程度。場景功能完備性一般測試場景的實際功能覆蓋場景需求規格說明書或其他技術說明文檔中所有功能的程度,即場景功能實現的充分性、完整性和覆蓋率。

(2)功能的正確性

主要驗證產品或系統提供具有所需精度的正確結果的程度。

場景功能的正確性測試是指場景提供具有所需精度的正確結果的程度。場景功能正確性一般測試:

1)對具有功能執行正確性要求的場景,選擇具有覆蓋性的數據作為輸入,依據等價類劃分法和邊界值法設計用例,并計算這些輸入的預期結果,執行用例,記錄軟件的實際結果,比較兩者之間的差異;

2)場景執行過程中,對精度有要求的數值設計測試用例,驗證運算結果的精度及有效位與用戶需求規格說明書中的要求是否一致;

3)對場景執行過程中的業務數據進行嚴格的正確性測試(包括數據是否超出正常的值范圍、數據準確性等),確保系統實時數據和歷史數據準確無誤;

4)適合性與正確性可以一起測試。如,依賴室外溫度的場景,當室外溫度超過限值時,是否給手機發送短信,適合性檢查是否進行發送、接收;正確性檢查發送、接收的內容是否正確、內容有無丟失等。

(3)功能的適合性

主要驗證功能促使指定的任務和目標實現的程度。

場景功能的適合性測試是指場景功能促使指定的任務和目標實現的程度。場景適合性一般測試:

1)分析被測場景功能需求,依據《需求規格說明書》要求驗證場景是否實現了全部需求,確保各項功能是可執行的;

2)檢測場景是否自相矛盾,是否與正常邏輯或單品自身功能相矛盾;

3)測試場景是否完整描述用戶的需求,包括隱含的需求(需求規格說明書雖未明確說明但是應該達到的功能)如:睡眠模式下的燈光關閉應漸暗,歸家模式下的燈光應立即亮起;

4)測試場景是否實現了預期結果;

5)場景測試過程中,涉及數值的,要考慮以下因素:值域、邊界值,包括最小或最大值、鍵的長度、表記錄的最大數目、界面輸出的數據規格、最小樣本大小等,當不可能提供固定的邊界值時(例如邊界值取決于應用問題的類型或輸入數據時),應說明這些限制可提供的允許值組合。

(4)功能的依從性

主要驗證產品或系統遵循與功能性相關的標準、約定或法規及類似規定的程度[1]。

場景功能的依從性測試是指場景應符合需求文檔中列出的國際標準、國家標準、行業標準、企業內部規范等。語音場景、藍牙場景、NFC場景應符合行業對應的標準,場景中的模塊也應符合對應的行業標準。

因此,在進行場景功能測試過程中要綜合考慮場景的適合性、完備性、正確性、依從性。只有建立完善的測試維度才能保證場景功能測試過程中的全面性,保證隱含需求和沖突情況能夠覆蓋到,從而保證場景的質量。

1.2 測試用例設計方法

在場景功能測試過程中僅有完善的測試維度是不夠的,運用科學的用例設計方法才能避免測試過程中的重復性和片面性,保證測試的效率和質量。

根據被測場景的特點,采用場景法、等價類劃分法、邊界值分析法、因果圖法、判定表法、隨機測試法、錯誤推測法等黑盒測試技術,要求必須將所有的測試需求細化到最基本的功能點,設計覆蓋全部場景功能的測試用例,從完備性、正確性、適合性和依從性等方面對場景功能進行質量測試。

(1)場景法

場景法由基本流和備選流兩部分組成,其流向表示測試用例的路徑[5]。

基本流:也稱有效流或正確流,模擬用戶正確的業務操作流程。

備選流:也稱無效流或錯誤流,模擬用戶錯誤的業務操作流程。

如煙灶聯動開機場景中,基本流為任意一灶頭點火→煙機自動開機。備選流為所有灶頭關火→煙機未自動開機。

(2)等價類劃分法

等價類劃分法,把系統的輸入范圍劃分成幾個部分,選擇輸入條件時從每個部分中選擇若干個有代表性的數值[5],從而減少測試用例數,提高測試效率。等價類可以分為有效等價類和無效等價類。有效等價類是合理有意義的輸入元素的集合,符合需求規格說明書中對輸入的要求;無效等價類是不合理無意義的輸入元素的集合。如以時間作為觸發條件的場景,時間的有效等價類是場景觸發的時間段,無效等價類是非觸發時間段。

(3)邊界值分析法

根據經驗,程序大部分的錯誤在輸入范圍的邊界被發現,場景功能亦是如此。如果針對性地對輸入范圍邊界值設計測試用例,能夠有更大概率發現缺陷。邊界值分析法是用于對輸入或輸出的邊界值設計測試用例的方法,可看作是等價類劃分的補充[5]。如睡前準備場景的生效時間段為21:00:00到23:00:00,其有效等價類的取值范圍為[21:00:00,23:00:00],其取值包含了邊界點和邊界外側的點,我們可以取以下3個值作為輸入:20:00:00、21:00:00、23:00:00。除此之外,邊界值分析法還應考慮一些數值的極端情況,如涉及空調溫度調整的場景,用戶允許的調溫范圍不能超過空調使用說明書中標明的最低或者最高溫度。

場景功能測試過程中要將場景法、等價類劃分法、邊界值分析法等方法充分融合在用例設計中,使用最少的測試用例個數覆蓋邊界、極值等情況,最大限度地發現問題,提高測試效率和測試質量。

2 場景功能測試方案研究及應用

基于以上問題分析,無論從測試維度還是測試用例設計方法方面都能有效提高場景功能測試質量。功能測試的核心是用例設計,場景功能測試用例設計一般分為三個步驟,如圖3所示。首先使用場景法設計測試路徑,根據場景的需求描述拆分為若干個子場景;第二步根據功能測試內容綜合考慮功能的完備性、正確性、適合性、依從性,利用等價類劃分法、邊界值分析法等確定測試用例的具體輸入條件;最后利用因果圖法將各個輸入條件進行綜合分析得出高效、有序的測試用例。

圖3 場景功能測試用例設計

下面以典型場景歸家場景為例介紹場景功能測試技術在場景測試中的應用,歸家場景如圖4所示。

圖4 歸家場景

2.1 測試路徑設計

使用場景法拆分需求設計測試路徑。根據對歸家場景測試需求的分析,基本流與備選流如下:

基本流:女主人在生效時間段使用人臉信息/指紋信息打開門鎖→執行女主人歸家場景:播放音樂、燈光亮起、窗簾關閉、電視打開。

備選流:(1)使用非女主人的人臉信息/指紋信息打開門鎖;(2)女主人在非生效時間段使用人臉信息/指紋信息打開門鎖。

根據上述基本流和備選流生成不同的測試場景,如表1所示,表1中,V:valid有效,I:invalid無效。

表1 場景法設計測試路徑

2.2 輸入條件確定

根據拆分的場景考慮功能的完備性、正確性、適合性、依從性,結合等價類劃分法、邊界值分析法確定場景中的輸入條件。

(1)完備性:測試場景的實際功能是否與需求描述中的一致。得到如表2的測試用例。

表2 完備性測試用例

(2)適合性:測試場景實現指定的任務和目標的程度,測試過程中要考慮值域、邊界及隱含的需求。對于隱含需求:應在合理的時間內啟用歸家模式,使用等價類劃分的方法確定輸入條件,針對該需求,有效等價類時間為工作日17:00:00至21:00:00,無效等價類時間為工作日21:00:01至第二天16:59:59和非工作日的00:00:00至24:00:00。同時采用邊界值分析法進行補充,分析有效等價類和無效等價類的邊界,得到表3的邊界值分析表。

表3 邊界值分析表

適合性還應測試是否與正常邏輯或單品自身的功能相矛盾,假設智能家居中還存在離家場景,離家場景為主人離家室內無人超過1小時后,執行離家場景(燈光關閉、電視關閉、空調關閉、窗簾打開),執行時間為全天24小時,在表3中選擇兩個時間17:00:00和22:00:00執行完歸家場景后,執行離家場景,檢查兩個場景是否能正常執行。歸家場景的適合性還應測試在女主人執行完歸家場景后其余家庭人員再次執行歸家場景,檢查場景執行是否存在沖突。

(3)正確性:測試場景提供其所需精度的正確性的程度。歸家場景中輸入參數包括人臉信息和指紋信息,可通過等價類劃分的方法設計輸入,如表4所示。

表4 人臉、指紋信息的等價類分析表

根據場景的執行情況,正確性還應測試燈光、電視、窗簾、音箱,一個條件發生故障時不應影響其他條件的正常執行。

2.3 測試用例設計

通過對場景功能完備性、適合性、正確性的分析,確定每個測試項對應的輸入條件,但各輸入條件間的組合關系是否存在相互制約的情況,以及各種組合是否合理并未進行分析,在形成最終測試用例前使用因果圖法對各個輸入條件間的關聯關系進行綜合分析得出歸家場景的測試用例[6],如表5所示。

表5 歸家場景的測試用例

2.4 效果分析

以歸家場景為例,以往進行功能測試時,更多的是對照著需求進行機械的測試,未考慮非生效時間段場景的執行情況,導致用戶在凌晨回家時歸家場景執行給用戶帶來困擾;未考慮人臉信息和指紋信息的無效等價類,導致錯誤的信息也能打開門鎖,用戶的生命財產安全得不到保障;未對可能產生的沖突情況進行測試,導致歸家場景和離家場景互相沖突影響用戶的使用體驗。將場景功能測試技術應用于場景測試中后,我們可以看到測試維度更加完善,在設計測試用例時更加科學、嚴謹,能夠用最少的測試用例最大限度地暴露場景的缺陷。

3 結束語

功能測試是場景測試中最基本也是最重要的測試內容,是提高場景使用體驗的重要手段。本文對場景測試過程中出現的問題:測試維度不完善、用例設計不科學進行分析,提出場景功能測試的維度和測試用例設計方法,并將該方法應用于歸家場景中。通過本文第1、2章的論述,建議在設計用例時,首先進行測試路徑設計,將場景需求拆分為若干個子場景;然后進行輸入條件分析,采用邊界值分析、等價類劃分等方法,考慮場景功能的完備性、正確性、適合性、依從性來設計測試用例;最后將輸入條件進行綜合分析,可以有效、有序地設計出一組可靠性高、執行性強的功能測試用例,從而提高場景測試的效率,保證測試的置信度和軟件質量。

同時,我們也應該知道任何軟件測試都不是完全的測試,我們只能在有限的時間和資源下盡可能多地發現問題而不能發現所有問題。鑒于智能家居場景的獨特性,場景測試需要測試人員對場景業務邏輯足夠熟悉,才能設計科學、有序的測試用例,合理、有效地執行測試。另外,場景測試雖然可以參考軟件相關標準進行測試,但行業需要更多具有針對性的統一標準用于測試,這就需要我們將更多更好的方法經驗形成行業統一的標準指導測試,為用戶提供更好的場景使用體驗。

猜你喜歡
正確性功能測試測試用例
某內花鍵等速傳動軸八功能測試夾具設計
回歸測試中測試用例優化技術研究與探索
基于SmartUnit的安全通信系統單元測試用例自動生成
淺談如何提高水質檢測結果準確性
“正確性”與“實用性”的初探
再議不能讓孩子輸在起跑線上
軟件回歸測試用例選取方法研究
實現FPGA與PC的串行通信
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合