嵌入式软件测试(黑盒测试)---三年嵌入式软件测试的理解

news2024/12/25 23:47:54

文章内容为本人这三年来在嵌入式软件测试(黑盒)上的一些积累吧,说起来也挺快的,毕业三年的时间就这样过去了,在两家公司工作过(现在这家是第二家),这几年的测试项目基本都是围绕着嵌入式软件,同时需要兼顾测试APP端,WEB端功能,web后端接口(postman),只是测试业务重心还是在嵌入式软件上。

为什么测试的这么杂呢,其实这些全部加起来只是一个产品,只是因为目前就只有我一个测试,所以整套系统都是由我一个人来测,就拿我现在这家公司做的一个视频会议系统来说吧,整套系统包含有硬终端(linux端),app端,web端(用于后台账户/会议管理等),PC端组成。接触过嵌入式软件测试的同学应该都明白这些事,下面我就来说说自己这几年对嵌入式软件测试的理解和看法吧,欢迎留言补充或讨论,勿喷喔~~

什么是嵌入式系统?

嵌入式系统是一种"完全嵌入受控器件内部,为特定应用而设计的专用计算机系统"。

嵌入式系统是“用于控制,监视或辅助操作机器和设备的装置”。

嵌入式系统还可以定义为“以应用为中心,以计算机技术为基础,软硬件可裁剪,功能、可靠性、成本、体积、功耗要求严格的专用计算机系统。”

嵌入式系统由嵌入式硬件和嵌入式软件两部分组成,硬件是支撑,软件是灵魂。

嵌入式系统按实时性分类,可分为非实时性,软实时性和硬实时性。其中硬实时性是指系统对响应时间有严格要求,如果响应时间不能满足,就要引起系统崩溃或致命错误;软实时性是指系统对响应时间有要求,但是如果系统响应时间不能满足,不会导致系统出现致命的错误或崩溃。

什么是嵌入式软件?

嵌入式软件是基于嵌入式系统设计的软件,它是计算机软件的一种,同样由程序及其文档组成,可分为操作系统,支撑软件,应用软件三大类,是嵌入式系统的重要组成部分。

说的通俗易懂一点就是一套安装在带有linux系统的PCB板子上的软件。像这样:

图片

嵌入式软件的特征:

系统内核小

专用性强

系统精简

高实时性操作系统

基与硬件和软件的相辅相成

嵌入式软件测试与商用软件测试相同点和不同点(单从黑盒测试的角度来讲)

相同点:

嵌入式软件测试和商用软件测试的目的和原则是相同的,都是为了找bug,跟踪bug,验证bug,使产品实现需求文档上功能,满足用户需求。

不同点:

需要的测试环境不同。

测试嵌入式软件的时候,你需要准备的环境是一整套设备,里面可能包含电源,网线,高清线(各种视频传输线),交换机,摄像头,麦克风,U盘,路由器等等…。

测试商用软件可能就是一个安装包,或者是一个测试URL,你需要准备的可能就是一个电脑或者一部手机。

测试的思维不同。(要做到出现问题先自检)

这里的测试思维并不是说设计测试用例时需要的思维方式,而是在定位bug的时候,思维不一样。

在测试嵌入式软件的时候,如果出现某个功能无法实现,有可能是确实是功能实现问题,有可能是内存问题,有可能是硬件支持问题,有可能是驱动问题,有可能是网络问题,有可能是硬件物理接口问题。

虽然看似这些问题雨我无瓜,但是如果是硬件支持的问题,你抛出bug,开发排查完之后发现是你自己没有按照规格接入所能支持的硬件,到时候尴尬的是不是你;再比如POE网口如果没有接入支持POE的网线,造成问题是不是你的不专业了等等,我们既然是测试工程师,那就应该要有工程师的专业程度来完成工作。

在测试商用软件的时候,遇到功能无法实现,我们大部分情况下就是直接抛出bug给开发,附带bug截图,log和操作步骤,通常都好使。

需要的技能点不同

根据这几年的测试项目经验,发现嵌入式软件测试对计算机网络原理的应用比较频繁。

在测试嵌入式软件的时候,你要接入网线,进行网络配置,接入交换机,了解网络通信,数据传输等等…也就是说嵌入式软件测试你需要的是(扎实的软件测试理论和测试方法+计算机网络相关基础知识).

而测试商用软件的时候,由于环境搭建没有太复杂,涉及到计网相关的知识比较少,需要的往往是扎实的软件测试理论和测试方法。

嵌入式软件测试的自身特点和测试困难

目前系统资源有限

与硬件系统紧密关联

运行平台多样化

交叉式的测试模式

系统的安全性,可靠性,系统运行结果的正确性等等

嵌入式软件的测试策略与一般的商用软件有很大的区别

嵌入式软件测试难吗?跟商用软件测试相比哪个更加难度更高?

我感觉在黑盒测试中,嵌入式软件测试是要比商用软件测试难度高的,我只站在嵌入式软件的黑盒测试角度来发言。为什么这么说呢,我暂时只想到以下几点:

硬件平台不同导致测试难度增大,由于嵌入式软件是跟硬件平台紧密关联的,也就是说同一套软件,如果移植到另一个平台上,就要重头到尾的测试一遍,在工作量上就比商用软件大,出错几率也会提升,相应的测试难度也会提高一点。我就遇到一个项目需要跑在两个平台的情况。

测试环境导致测试难度增大,我可以很肯定的说,同一套设备在A环境操作正常,我只要换一个交换机,搭建一个B环境,就很有可能会出现bug,所以有经验的嵌入式软件测试同学在遇到客诉的bug时第一时间都是问当时的环境是什么,设备有哪些,操作步骤是什么,必要时采取将设备全部寄回来复现。

硬件平台性能导致测试难度增大,硬件平台的芯片性能是肯定没有电脑上的CPU这么吊的,所以在测试的时候,我们往往会出现一些硬件性能上的问题导致一些bug偶现,这对我们测试人员来说,想要找到一个偶现的bug是非常的难,需要采取工具来跟踪操作步骤打印log

外接设备导致测试难度增大,生活中基本上的嵌入式软件都是需要外接其他的设备的,比如接入U盘,摄像头,麦克风等等,在测试时如果发现某个工作无法实现,我们需要从三个方面去考虑,①:是不是软件的功能bug,②:是不是硬件物理接口损坏问题,③:是不是接入的外设与软件协议有问题或者驱动有问题,等等原因增加了测试难度。

最后一个导致测试难度大的原因就是嵌入式软件测试相对来说是比较独立于软件测试的,相关的资料也是比较少的,并不像商用软件测试一样,只要一搜索,就能找到测试方法和一些测试文章。嵌入式软件测试更多的是一个实战,每一个应用场所的嵌入式软件测试的思维方式不一样。

结尾:

测试也是一个有技术难度的岗位,需要不断的积累经验,老手测试和新手测试最大的不同就是老手测试可以很快的定位和发现bug,老手测试可以有更多的测试方法和测试策略去找到bug,有更好的测试管理经验和业务能力。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1322438.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【java IO】|java NIO总结

在传统的 Java I/O 模型(BIO)中,I/O 操作是以阻塞的方式进行的。也就是说,当一个线程执行一个 I/O 操作时,它会被阻塞直到操作完成。这种阻塞模型在处理多个并发连接时可能会导致性能瓶颈,因为需要为每个连…

解决win10下强制设置web浏览器为microsoft edge的方法

目录 问题场景实现方法禁止edge默认选项设置默认浏览器 反思 问题场景 因为一些特殊的原因,我需要第二个浏览器,我的第一个浏览器是google的chrome浏览器,所以我选择的是windows的默认浏览器,就是microsoft edge浏览器&#xff0…

MYSQL中使用IN,在xml文件中怎么写?

MYSQL: Spring中: mysql中IN后边的集合,在后端中使用集合代替,其他的没有什么注意的,还需要了解foreach 语法即可。

AI抠图软件哪个好用?推荐这三款抠图工具给你

AI抠图软件哪个好用?你是否听说过AI抠图这个操作呢?简单来说,抠图就是一种对图像进行处理的技术,它的目的是将图片中的某些区域去除或者替换。比如,如果你有一张背景很杂乱的图片,你想把背景去掉&#xff0…

【Python炫酷系列】一闪一闪亮星星,漫天都是小星星(完整代码)

文章目录 环境需求完整代码详细分析系列文章环境需求 python3.11.4及以上版本PyCharm Community Edition 2023.2.5pyinstaller6.2.0(可选,这个库用于打包,使程序没有python环境也可以运行,如果想发给好朋友的话需要这个库哦~)【注】 python环境搭建请见:https://want595.…

产品需求分析师的职责内容(合集)

产品需求分析师的职责内容1 职责: 1、根据公司战略规划,负责妇产科相关平台产品的中长期规划; 2、组织需求调研、收集、分析、整理、提炼、用户的需求,分析形成可行性研究报告; 3、深入挖掘产品需求,管理用户及公司内部业务需求&a…

深度卷积神经网络的剪枝方法

深度学习领域的一种剪枝技术是“网络瘦身(Network Slimming)”,这是一种旨在深度卷积神经网络(CNN)中实现通道级稀疏性的简单方案。该技术利用批量归一化中的放缩层来有效识别并修剪网络中不重要的通道。本文将详细介绍…

查看CPU的型号方法很多,而且步骤简单

每台计算机至少包含一个处理器,也称为CPU或中央处理单元。你电脑的CPU可能是由英特尔或AMD制造的。以下是如何查看你的CPU以及它的速度。 在设置应用程序中查找你的CPU 要在Windows 10或Windows 11设置应用程序中查找此信息,请导航到“设置”>“系统…

黑盒测试中关键截图如何打点

黑盒测试中关键截图如何打点Android黑盒测试过程中如何进行有效的打点是我们经常遇到的问题,我们一般会在脚本内部进行数据打点,也可以使用其他进程录屏或截图。那我们如何选取合适的方式进行打点记录呢?下图是对常用打点方式的统计&#xff…

全链路压力测试:解析其主要特点

随着信息技术的飞速发展和云计算的普及,全链路压力测试作为一种关键的质量保障手段,在软件开发和系统部署中扮演着至关重要的角色。全链路压力测试以模拟真实生产环境的压力和负载,对整个业务流程进行全面测试,具有以下主要特点&a…

openGauss学习笔记-164 openGauss 数据库运维-备份与恢复-导入数据-使用COPY FROM STDIN导入数据-处理错误表

文章目录 openGauss学习笔记-164 openGauss 数据库运维-备份与恢复-导入数据-使用COPY FROM STDIN导入数据-处理错误表164.1 操作场景164.2 查询错误信息164.3 处理数据导入错误 openGauss学习笔记-164 openGauss 数据库运维-备份与恢复-导入数据-使用COPY FROM STDIN导入数据-…

鸿蒙(HarmonyOS)应用开发—— video组件实操

video 组件 harmonyOS 系统提供了基础的video。下面就直接上代码 原始video 新建项目 customVideo项目 本地视频 网络地址,就不用说明,只需要把地址换成网络地址即可 在resource 文件夹下的rawfile文件夹下 添加视频 在index.ets Video({src:$rawf…

C++数据结构——二叉搜索树详解

目录 一,关于二叉搜索树 1.1 概念 1.2 基本结构 二,二叉搜索树接口实现 2.1 插入 2.2 查找 2.3 打印 2.4* 删除 三,二叉搜索树接口递归实现 3.1 查找 3.2 插入 3.3 删除 四,二叉搜索树的默认成员函数 五,…

一篇文章带你了解各个程序员接单平台,让你选择不再迷茫!!!

相信现在很多程序员都已经走上了或者准备走上网上接单这条路,但是目前市面上的接单平台可谓五花八门,对于各个平台的优缺点,不同的程序员该如何选择适合自己的接单平台,你又是否了解呢? 接下来就让小编用一篇文章来为…

定位咨询:企业市场竞争中的定海神针

什么是定位咨询?定位咨询能给企业带来什么帮助?在现代市场的激烈竞争中,定位咨询不仅是企业区分自己的重要工具,更是它们赢得市场份额的关键。以下是定位咨询的定义和几个核心方面,笔者将列举具体案例说明其重要性和实用性。 定位咨询的简单…

python接口自动化测试--requests使用和基本方法封装

之前学习了使用jmeterant做接口测试,并实现了接口的批量维护管理(大概500多条用例),对“接口”以及“接口测试”有了一个基础了解,最近找了一些用python做接口测试的资料,一方面为了学习下如何使用python进行接口测试(如何做出一个…

券商期权手续费现在最低多少钱一张?怎么调低最方便

券商期权手续费是指您在证券公司开设期权账户并进行期权交易时,需要向券商支付的费用。券商期权手续费主要包括以下三个部分: 中国结算费用:这是中国证券登记结算有限责任公司向期权交易者收取的费用,固定为每张合约0.3元&#x…

GPT-4V with Emotion:A Zero-shot Benchmark forMultimodal Emotion Understanding

GPT-4V with Emotion:A Zero-shot Benchmark forMultimodal Emotion Understanding GPT-4V情感:多模态情感理解的zero-shot基准 1.摘要 最近,GPT-4视觉系统(GPT-4V)在各种多模态任务中表现出非凡的性能。然而,它在情感识别方面的功效仍然是个问题。本文定…

Crocoddyl: 多接触最优控制的高效多功能框架

系列文章目录 前言 我们介绍了 Crocoddyl(Contact RObot COntrol by Differential DYnamic Library),这是一个专为高效多触点优化控制(multi-contact optimal control)而定制的开源框架。Crocoddyl 可高效计算给定预定…

将yolo格式转化为voc格式:txt转xml(亲测有效)

1.文件目录如下所示: 对以上目录的解释: 1.dataset下面的image文件夹:里面装的是数据集的原图片 2.dataset下面的label文件夹:里面装的是图片对应得yolo格式标签 3.dataset下面的Annotations文件夹:这是一个空文件夹&…