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

文章内容为本人这三年来在嵌入式软件测试(黑盒)上的一些积累吧,说起来也挺快的,毕业三年的时间就这样过去了,在两家公司工作过(现在这家是第二家),这几年的测试项目基本都是围绕着嵌入式软件,同时需要兼顾测试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,有更好的测试管理经验和业务能力。

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

 

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取   

 

  • 30
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 嵌入式软件测试指的是对嵌入式系统中的软件进行测试的一种方法。嵌入式系统是指集成了软件、硬件和电子元器件等功能于一体的系统,例如汽车电子控制系统、智能家居系统和医疗设备等。而嵌入式软件是运行在这些系统中的软件。 嵌入式软件测试的目的是确保嵌入式系统的正确性、可靠性、安全性和稳定性,以满足用户的需求和用户界面的预期。在测试过程中,需要针对不同的应用场景、环境和操作模式进行测试,并且考虑到系统的可靠性、安全性和易用性等方面。 Bart是一种嵌入式软件测试框架,它提供了一系列自动化测试工具,能够帮助测试人员开展针对嵌入式系统的测试工作。Bart支持常用的嵌入式操作系统,并且可以与不同的测试工具和测试平台集成,例如黑盒测试、白盒测试和系统集成测试等。 Bart的主要特点包括易于使用、高可靠性、高效性和高扩展性。测试人员可以基于Bart进行各种类型的测试,例如单元测试、模块测试和系统测试等,并且可以创建自定义的测试套件和测试用例。Bart还提供了测试报告和测试记录功能,以便测试人员记录测试结果和分析测试数据。 总之,嵌入式软件测试是确保嵌入式系统正常运行的重要环节,并且可以提高系统的可靠性和安全性等方面的质量。Bart作为一种嵌入式软件测试框架,可以帮助测试人员开展各种类型的测试工作,极大地便利了测试人员的工作。 ### 回答2: 嵌入式软件测试是针对嵌入式系统开发的一个测试过程,旨在确保该系统安全、可靠、稳定、高效地运行。嵌入式软件测试要求测试人员具备深入理解和掌握嵌入式系统开发和运行的技术知识,同时需要考虑测试数据、测试工具、测试环境和测试过程中的问题。其中,BART是一种常用的测试工具。 BART(Basic Automatic Regression Tester)是一款自动化回归测试工具,专门用于嵌入式系统的测试,能够自动化地识别软件缺陷,快速、准确地检测软件性能,降低了测试成本和测试时间。BART的工作原理是对程序进行人工或自动的测试,捕获运行时的错误和异常,并生成详细的测试报告。BART不仅具有较高的测试速度和测试覆盖率,还支持自适应测试,能够根据被测程序的不同情况和变化自动调整测试策略和方法。 在嵌入式软件测试中,BART非常重要,因为它能够提高测试效率、减少测试成本,从而加快软件的上线速度。此外,BART还可以帮助测试团队解决问题,提高学习能力、提高测试质量和效率。 ### 回答3: 嵌入式软件测试BART是一种用于测试嵌入式系统的测试工具,它有助于确保嵌入式系统的可靠性、稳定性和安全性。BART主要包括三个模块:测试用例生成器、测试执行机和测试报告生成器。测试用例生成器可根据系统需求和设计文档生成针对系统各个功能模块的测试用例,测试执行机则按照生成的测试用例对系统进行测试,测试报告生成器则可生成详细的测试报告和测试覆盖率报告,从而帮助开发人员确定哪些功能需要进一步改进和优化。 嵌入式软件测试BART具有很好的灵活性和可扩展性,它可以支持多种编程语言和开发平台,例如C、C++、Java和Python等,可以在多种操作系统上运行,包括Linux、Windows和嵌入式操作系统等。此外,BART还可以实现测试用例重复执行、破坏性测试、边界测试等多种测试方式,以及测试用例版本控制和管理功能,可以帮助开发团队更好地进行软件开发、测试和维护。 总之,嵌入式软件测试BART是一种广泛应用于嵌入式系统测试领域的测试工具,它可以提高嵌入式软件开发的质量和效率,为用户提供更加稳定和安全的嵌入式系统服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值