【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱: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&…