LVGL應用和部署(用lua做測試)

【 聲明:版權所有,歡迎轉載,請勿用于商業用途。 聯系信箱:feixiaoxing @163.com】

? ? ? ? 嵌入式產品做好了,下面就是測試和量產了。以按鍵+屏幕的開發模式為例,如果僅僅是簡單的功能測試,那還比較好解決,只需要安排專門的測試人員,按照使用手冊去做就可以了。但是如果是復雜測試,特別是壓力測試,這個時候再靠人去測試,其實是不太現實的。所以,我們得依靠方法論、依靠工具去完成更復雜的測試,這樣才能發現更深層次的問題。

1、壓力測試需要工具

? ? ? ? 簡單的測試、日常的測試,測試人員是可以自己搞定的。但是一旦面臨復雜的測試,特別是壓力測試,人其實是搞不定的。一方面這種測試枯燥乏味,另外一方面人需要休息,是沒有辦法做到幾千、上萬次的反復測試。

2、用腳本來模擬人的操作

? ? ? ? 前面我們說過,對于按鍵的輸入,盡量歸集到一個地方,集中送給狀態機。等到業務處理好之后,再完成各個ui的更新。這里面,其實按鍵的輸入,只是整個系統的一個環節。這個輸入,是真的按鍵輸入,還是仿真輸入,其實一點都不重要。只要有這個輸入即可。

? ? ? ? 所以,一種比較簡單的辦法就是通過編寫腳本,來實現按鍵的輸入。這個腳本理論上不僅僅是配置,最好還能編程。

3、引入lua

? ? ? ? 和python相比較,lua是一個比較輕的腳本語言。使用lua,有很多好處。一方面是它集成比較簡單,可以比較容易地集成到我們已有的項目當中。對于腳本當中需要的函數,也可以通過c語言快速地實現,比如像這樣,

	lua_register(L, "press_mode",    (lua_CFunction)&press_mode_Function);lua_register(L, "release_mode",  (lua_CFunction)&release_mode_function);

? ? ? ? 對應的實現就是這樣的,

static int press_mode_function() // press_mode
{::receive_key_event(KEY_MODEONE, KEY_DOWN_EVENT);return 0;
}static int release_mode_function() // release mode
{::receive_key_event(KEY_MODEONE, KEY_UP_EVENT);return 0;
}

? ? ? ? 這樣在腳本里面直接調用函數,就可以實現和真實按鍵一樣的效果。另外一方面,lua腳本語法簡單,寫起來很容易,哪怕是沒有學過的人,只要通過幾個demo,也可以短時間之內快速上手,類似于這樣,

--for linux, cygwin or mingw
function sleep(n)os.execute("sleep " .. tonumber(n))
end--sleep for a while
sleep(10)i = 1
while i < 50 dopress_mode() --press mode keysleep(0.5)release_mode()i+=1sleep(3)
end

4、其他要注意的方面

? ? ? ? 一般測試人員要求都不會太高,所以測試的時候,盡量把重復、單調的工作,用工具來實現。這樣不僅可以減輕測試的負擔,也可以促使測試人員把精力轉到測試用例的設計上面來。并且越到后期,簡單的測試越不能發現問題,這個時候只能靠腳本、靠方法論,才能讓產品越可靠,這靠人本身是沒有辦法做到的。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/914109.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/914109.shtml
英文地址,請注明出處:http://en.pswp.cn/news/914109.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

phpstudy搭建pikachu

一.啟動mysql和nginx服務二.修改靶場文件參數點擊管理打開根目錄&#xff0c;將下載好的靶場源文件解壓到www目錄下三.找到此文件用記事本打開四.修改配置文件五.打開瀏覽器,輸入127.0.0.1/pikachu六.按照步驟初始化心得體會&#xff1a;如果mysql啟動又立刻停止&#xff0c;大…

【Linux】GDB/CGDB 調試器學習筆記

GDB/CGDB 調試器學習筆記&#x1f680; 前言 GDB 是 GNU 項目下功能強大的命令行調試器&#xff0c;適用于 C/C 等多種語言。CGDB 則是在 GDB 之上構建的輕量級 curses 界面&#xff0c;適合喜歡終端操作且習慣 vi 風格的人。一、GDB 入門篇 1. 編譯時帶調試信息 gcc -g -O0 -W…

鏈接代理后無法訪問網絡

路由方向的問題 cmd 輸入 route print 查看路由多了一個不是你網絡的路由 我的嘎嘎好用直接那都通 route add -p 0.0.0.0 mask 0.0.0.0 0.0.0.0 參考這個 固定ip if是代理鏈路的 鏈路口又敏感詞這個文章不合規兩次評論區問我

day37 早停策略和模型權重的保存

DAY 37 我今天的筆記是用cpu訓練的&#xff0c;請自行修改為gpu訓練 仍然是循序漸進&#xff0c;先復習之前的代碼 import torch import torch.nn as nn import torch.optim as optim from sklearn.datasets import load_iris from sklearn.model_selection import train_test_…

網絡爬蟲分類全解析

網絡爬蟲作為數據獲取的重要工具,其分類方式多樣,不同類型的爬蟲在技術實現、應用場景和功能特性上存在顯著差異。深入理解這些分類,有助于開發者根據實際需求選擇合適的爬蟲方案。本文將從技術特性、應用場景和架構設計三個維度,系統介紹網絡爬蟲的主要分類。 一、按技術…

ECR倉庫CloudFormation模板完整指南

概述 本文檔詳細介紹了一個通用的Amazon ECR(Elastic Container Registry)倉庫CloudFormation模板,該模板支持多業務組、參數化配置,并包含完整的安全策略、生命周期管理和監控功能。 模板特性 核心功能 ? 支持4個業務組:app、ai、mall、frontend? 靈活的服務名手動輸…

C++(STL源碼刨析/List)

一 List 核心字段和接口1. 節點字段template<class T> struct __list_node {typedef void* void_pointer;void_pointer prev;void_pointer next;T data; }由于 鏈表 不是連續的內存塊&#xff0c;所以對每一個申請到的內存塊要進行統一組織&#xff0c;也就是封裝成一個類…

蘋果App上架流程:不用Mac也可以上架的方法

iOS App 的上架流程一直被認為是門檻最高、流程最繁瑣的移動端工作之一。對很多使用 Windows 或 Linux 進行開發的跨平臺團隊來說&#xff0c;Mac 的缺位更放大了每一步的難度。 在我們近期為一款本地生活類 App 進行 iOS 上架時&#xff0c;團隊成員幾乎沒有配備本地 Mac&…

【爬蟲】- 爬蟲原理及其入門

爬蟲01 - 爬蟲原理及其入門 文章目錄爬蟲01 - 爬蟲原理及其入門一&#xff1a;爬蟲原理1&#xff1a;爬蟲的優勢?2&#xff1a;爬蟲的核心庫3&#xff1a;經典舉例4&#xff1a;合規問題一&#xff1a;爬蟲原理 學習爬蟲之前前置知識需要了解這些&#xff1a; 我的HTTP介紹, 了…

G5打卡——Pix2Pix算法

&#x1f368; 本文為&#x1f517;365天深度學習訓練營中的學習記錄博客&#x1f356; 原作者&#xff1a;K同學啊 Pix2Pix 是一種基于條件生成對抗網絡&#xff08;cGANs&#xff09;的圖像到圖像翻譯算法&#xff0c;由 Phillip Isola 等人在 2016 年提出。該算法的核心思想…

動力系統模擬與推導-AI云計算數值分析和代碼驗證

當系統是連續的&#xff0c;并且其狀態變量不僅隨時間變化&#xff0c;而且隨空間維度變化時&#xff0c;需要使用偏微分方程&#xff08;PDEs&#xff09;來推導運動方程。偏微分方程提供了描述這些空間分布屬性如何相互作用和演化的數學框架。 選擇使用常微分方程&#xff08…

P4597 序列 sequence題解

P4597 序列 sequence 給定一個數列&#xff0c;每次操作可以使任意一個數1或-1&#xff0c;求小的操作次數&#xff0c;使得數列變成不降數列. 1.對于前面比當前位的數字大的數&#xff0c;設最大數為 xxx &#xff0c;當前的數為 yyy ,則對于 xxx 到 yyy 中間的任意數&#xf…

雨污管網智慧監測系統網絡建設方案:基于SD-WAN混合架構的最佳實踐

隨著城市化的快速推進&#xff0c;雨污管網的管理與運行面臨著日益復雜的挑戰&#xff0c;例如內澇、污水溢流、非法排污等問題頻發。為了更高效地管理分布廣泛的監測點&#xff0c;保障系統運行穩定性&#xff0c;構建一套高效、低成本、易運維的網絡架構至關重要。本文將分享…

世俱杯直播數據源通過反匯編獲取到

在當今的互聯網體育賽事直播中&#xff0c;許多平臺為了保護其直播資源&#xff0c;會采用加密、混淆或動態加載等方式隱藏真實的視頻流地址&#xff08;如 .m3u8 或 .flv&#xff09;。對于普通用戶和開發者來說&#xff0c;直接通過網頁源碼或瀏覽器調試器難以快速定位這些關…

字節豆包又一個新功能,超級實用,4 種玩法,你肯定用得上!(建議收藏)

前段時間&#xff0c;分享了一個非常好用的視頻總結工具——百度網盤和百度文庫聯合推出的「AI 筆記」。它能自動根據視頻內容&#xff0c;生成圖文視頻總結、表格總結、思維導圖等。關鍵是帶時間戳&#xff0c;能直接跳轉到視頻的位置。但這個功能隱藏在百度網盤里&#xff0c…

AI進化論08:機器學習的崛起——數據和算法的“二人轉”,AI“悶聲發大財”

上回咱們聊了第二次AI寒冬&#xff0c;AI為了“活下去”&#xff0c;不得不“改頭換面”&#xff0c;從“AI”變成了“機器學習”。結果你猜怎么著&#xff1f;這“機器學習”啊&#xff0c;還真就“悶聲發大財”了&#xff01;它不再執著于模擬人類的“思維過程”&#xff0c;…

【MySQL】———— 索引

作者主頁&#xff1a; 作者主頁 本篇博客專欄&#xff1a;Linux 創作時間 &#xff1a;2025年7月11日 Mysql索引 索引介紹 索引是什么 根據官方對索引的介紹&#xff0c;索引是幫助MySQL高效的獲取數據的數據結構&#xff0c;在我看來&#xff0c;索引就相當于一本書的目…

頁面html,當鼠標點擊圖標,移開圖標,顏色方塊消失

html頁面代碼&#xff1a;<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><title>顏色選擇器</title><style>body {font-family: "Microsoft YaHei", sans-serif;padding: 20px;}.c…

netdxf—— CAD c#二次開發之(netDxf 處理 DXF 文件)

1.創建新項目打開 VS2022&#xff0c;選擇 "創建新項目"搜索 "控制臺應用"&#xff0c;選擇 ".NET 6.0 (C#)" 模板&#xff0c;點擊 "下一步"項目名稱&#xff1a;"DxfProcessor"&#xff0c;位置&#xff1a;自選&#xff…

如何將一個本地的jar包安裝到 Maven 倉庫中

我們需要執行以下步驟&#xff1a; 首先&#xff0c;打開命令提示符&#xff08;CMD&#xff09;或 PowerShell&#xff0c;執行以下命令&#xff1a; mvn install:install-file ^ -Dfile"你的jar包路徑" ^ -DgroupId"組織ID" ^ -DartifactId"項目ID&…