既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
为什么测试的这么杂呢,其实这些全部加起来只是一个产品,只是因为目前就只有我一个测试,所以整套系统都是由我一个人来测。
就拿我现在这家公司做的一个视频会议系统来说吧,整套系统包含有硬终端(Linux端)、App端、Web端(用于后台账户/会议管理等)、PC端组成。
接触过嵌入式软件测试的同学应该都明白这些事,下面我就来说说自己这几年对嵌入式软件测试的理解和看法吧,欢迎留言补充或讨论,勿喷喔~
什么是嵌入式系统?
嵌入式系统是一种“完全嵌入受控器件内部,为特定应用而设计的专用计算机系统”。
嵌入式系统是“用于控制,监视或辅助操作机器和设备的装置”。
嵌入式系统还可以定义为“以应用为中心,以计算机技术为基础,软硬件可裁剪,功能、可靠性、成本、体积、功耗要求严格的专用计算机系统。”
嵌入式系统由嵌入式硬件和嵌入式软件两部分组成,硬件是支撑,软件是灵魂。
嵌入式系统按实时性分类,可分为非实时性,软实时性和硬实时性。
其中硬实时性是指系统对响应时间有严格要求,如果响应时间不能满足,就要引起系统崩溃或致命错误;软实时性是指系统对响应时间有要求,但是如果系统响应时间不能满足,不会导致系统出现致命的错误或崩溃。
什么是嵌入式软件?
嵌入式软件是基于嵌入式系统设计的软件,它是计算机软件的一种,同样由程序及其文档组成,可分为操作系统,支撑软件,应用软件三大类,是嵌入式系统的重要组成部分。
说通俗易懂一点就是一套安装在带有linux系统的PCB板子上的软件。像这样:
嵌入式软件的特征:
·系统内核小
· 专用性强
· 系统精简
· 高实时性操作系统
· 基于硬件和软件的相辅相成
· 与商用软件测试异同点
此文单从黑盒测试的角度来讲。
相同点
嵌入式软件测试和商用软件测试的目的和原则是相同的,都是为了找Bug、跟踪Bug、验证Bug,使产品实现需求文档上功能,满足用户需求。
不同点
需要的测试环境不同。
测试嵌入式软件的时候,你需要准备的环境是一整套设备,里面可能包含电源、网线、高清线(各种视频传输线)、交换机、摄像头、麦克风、U盘、路由器等等。
测试商用软件可能就是一个安装包,或者是一个测试URL,你需要准备的可能就是一个电脑或者一部手机。
测试的思维不同(要做到出现问题先自检)。
这里的测试思维并不是说设计测试用例时需要的思维方式,而是在定位Bug的时候,思维不一样。
在测试嵌入式软件的时候,如果出现某个功能无法实现,有可能是确实是功能实现问题,有可能是内存问题,有可能是硬件支持问题,有可能是驱动问题,有可能是网络问题,有可能是硬件物理接口问题。
虽然看似这些问题与我无关,但是如果是硬件支持的问题,你抛出Bug,开发排查完之后发现是你自己没有按照规格接入所能支持的硬件,到时候尴尬的是不是你?
再比如POE网口如果没有接入支持POE的网线,造成问题是不是你的不专业了等等,我们既然是测试工程师,那就应该要有工程师的专业程度来完成工作。
在测试商用软件的时候,遇到功能无法实现,我们大部分情况下就是直接抛出Bug给开发,附带Bug截图、log和操作步骤,通常都好使。
需要的技能点不同
根据这几年的测试项目经验,发现嵌入式软件测试对计算机网络原理的应用比较频繁。
在测试嵌入式软件的时候,你要接入网线、进行网络配置、接入交换机、了解网络通信、数据传输等等……
也就是说嵌入式软件测试你需要的是(扎实的软件测试理论和测试方法+计算机网络相关基础知识)。
而测试商用软件的时候,由于环境搭建没有太复杂,涉及到计算机网络相关的知识比较少,需要的往往是扎实的软件测试理论和测试方法。
嵌入式软件测试的自身特点和测试困难:
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**