[软件工程]技术规格说明书
概述
后端技術(shù)
根據(jù)需求
手工標記Android游戲見面可點擊區(qū)域構(gòu)建訓(xùn)練數(shù)據(jù),通過識別游戲界面可點擊區(qū)域,模擬用戶輸入流,并識別異常狀態(tài),從而實現(xiàn)自動化異常檢測
我們需要訓(xùn)練一個能夠識別游戲界面的模型,并以此為測試的基礎(chǔ),因此使用TensorFlow。
對于自動化測試,我們使用monkeyrunner框架。monkeyrunner提供了一個API,使用此API寫出的程序可以在Android代碼之外控制Android設(shè)備和模擬器。
前端技術(shù)
采用Python常用的GUI庫Tkinter進行開發(fā)。
使用環(huán)境
正常Windows環(huán)境。
對于輸入輸出的參數(shù),除開界面交互的內(nèi)容外,目前設(shè)計的有自由輸入的地方之后對報告的編輯,我們將它作為文本處理,應(yīng)當沒有限制。但是由于僅存在設(shè)計中,暫時無法驗證。
主要層次結(jié)構(gòu)
UI組件
UI部分包含所有用戶界面的定義,主要分為主界面、用戶引導(dǎo)、測試、報告四個部分。
| TitleBar | 頁面框名 |
|---|---|
| LogoArea | 放置logo |
| MainMenu | 主菜單欄,將所有功能放置在此,可以在此打開 |
| GuideButton | 引導(dǎo)按鈕,選擇GuideButton彈出使用引導(dǎo) |
| TestButton | 測試按鈕,選擇TestButton彈出測試頁面,實時顯示目前狀態(tài)和報告 |
| ReportButton | 報告按鈕,選擇ReportButton進行對報告的相關(guān)操作 |
| EditTest | 通過編輯測試用戶可以自行編輯需要的測試行為或者運行自帶的隨機測試 |
API對接
此部分只是初步設(shè)計,可能內(nèi)容不完善以及名稱不規(guī)范,將在后續(xù)開發(fā)過程中補全。
| 名稱 | 功能 |
|---|---|
| GetInteractArea | 接收游戲界面,需要打開游戲 |
| ModReport | 接收測試內(nèi)容和游戲界面,優(yōu)化報告,使之更易讀 |
| TestPause | 測試中暫停,需要接受用戶指令 |
| GetDirectory | 獲取文件列表,以打開或保存報告 |
| GetDevice | 獲取設(shè)備,需要連接需要測試的設(shè)備,手機或模擬器 |
| ModTest | 接收測試代號,向測試序列添加對應(yīng)的自定義測試 |
錯誤處理
在Exception中定義錯誤類型并集中錯誤處理
| 名稱 | 描述 |
|---|---|
| DeviceException | 在連接設(shè)備時出現(xiàn)問題 |
| InputException | 對各類輸入處理遇到問題 |
| BackException | 使用接口出現(xiàn)問題 |
| LocalException | 將報告存儲到本地遇到問題 |
耦合
通過封裝接口,保證了程序模塊間的獨立性,降低了耦合。
應(yīng)對變化的靈活性
最大的問題在于我們的圖像是通過機器學(xué)習(xí)自動獲取,而要做到對游戲界面的識別需要我們對模型進行足夠多訓(xùn)練,這一方面我們會在開發(fā)過程中重點注意。
轉(zhuǎn)載于:https://www.cnblogs.com/buaatbxl/p/10640189.html
總結(jié)
以上是生活随笔為你收集整理的[软件工程]技术规格说明书的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 逆风是谁画的啊?
- 下一篇: 【MongoDB异常】Exception