嵌入式软件系统测试---思考篇一

  • 功能需求的分析


  1. 作为一名嵌入式软件测试工程师,在建立项目之初,最多的参与就是参加项目立项会议,了解产品的使用环境,当期的市场需求也就是客户需求,对产品的要求,随后就是该产品使用到的哪些技术,以及竞争对手的产品具有哪些特色,当然有些大的企业会做竞品分析,兼顾对比测试,这个在我以前的企业中就遇到,做视频会议摄像机的,就会拿海康,大华的产品做对比,这个也是提升自己的一种方式,及时的发现自己的不足和人家的优缺点;

  2. 在项目的建立初期产品经理会给到产品需求说明书,技术规格书这些参数,同时这些规格书需要进行技术评审,作为测试人员也会参与到其中,了解产品的功能需求和使用到的相关技术,评审结束后,系统测试工程师就可以拿规格书书设计相关的测试方案,测试设计了,后期的测试用例,需要使用到详细设计文档,包括软件部分和硬件部分的详细设计;

  3. 针对一款产品,其功能需求在定制之初到完成需要经历多次的修改,最重要的是这个对产品经理的要求比较高, 不能到产品进行了再有大的改动,所以框架搭建很重要;

  • 测试方案

  1. 作为一个嵌入式系统测试工程师,和普通的软件测试有一定的区别,因为嵌入式测试,需要需要考虑到测试应用场景,而测试应用场景和硬件的性能,环境直接相关,说白了软件最终时使用到机器设备上的,定制化要求很高,所以嵌入式系统的设备就是一套计算机的系统,硬件是基础,软件时灵魂,所以对于测试就提出了很高的要求,因为我们不仅仅需要验证功能的满足前提下,还需要稳定性很高,最好是能适应各种的设备应用场景,当然设备的使用环境也有很大的影响,往往一套软件没有问题,但是使用场景环境很苛刻,设备在这样的环境正常使用时候就会遇到这样或者那样的各种问题,其中涉及到硬件,结构的设计;
  2. 嵌入式测试,除了测试设备的基本功能,也就是需求说明书中所提到的那些,更重要的是我们需要根据客户的使用场景设计不同的使用场景,也就是尽可能的去模拟使用场景,提前在设备发布前进行测试,这个很重要同时也可以发现一些潜在的问题;
  3. 嵌入式软件设备,需要对硬件的性能进行测试,这个每个行业都有自己的认证标准,因此在进行测试的时候,测试要求也不一样,基本上是硬件工程师自己自测,找第三方摸底 测试,然后去认证机构进行测试认证;
  4. 产品的性能测试,这个很重要,这个我们基本上也需要考虑到硬件和软件,硬件也就是最多的长期稳定测试,压力测试(eg:开关机,软重启,硬重启次数这些),对于软件,也就是考虑到内存溢出的,短时间注入大量的数据,然后查看设备的运行情况,会不会崩溃,不能正常工作等异常情况;
  5. 在测试方案制定时,我们不仅需要考虑到测试范围,组网方式,测试时间还需要考虑到项目的进展周期,以及一些相关的技术性指标的关键词的说明,以及测试人员的安排;
  • 测试设计

  1. 测试设计篇,我们就需要根据产品需求规格书,定义产品的测试设计;首先需要读懂和理解产品的需求规格书和相关的产品文档,这个需要考虑到基本功能测试也就是业务测试,场景测试,性能测试(长期稳定性,压力测试),还有相关的硬件方面的测试也就是GB/T开头的一些硬件测试;
  2. 测试设计完成后需要项目组成员进行相关的评审工作,对产品的测试工作提出各自的合理看法;
  • 测试用例

  1. 测试用例我们就是根据测试设计的大纲,对每一个功能点进行细化,拓展,这个时候需要结合软件详细说明书,对某一些的技术进行分析,然后确定测试用例的设计,有些功能的设计关联到一些特性,比如GPS信号,4G网络信号这些,就需要考虑到一些环境,测试时候就需要结合一些方法方式;
  2. 测试用例的执行,也就是对测试CASE的按部就班的执行,当然这个步骤很关键,不同的理解会有不同的出入,这个时候一般有经验的工程师就会考虑到一些因素,不仅仅是为了测而去测试,站在客户角度去思考问题,我们的这个功能最常见的使用方式是如何进行的,同时对于嵌入式测试的时候,我们也会使用一些手段,比如通过打印信息进行查看,分析问题,而平台只是一个展示作用,往往使用打印信息可以发现更多的详细内容;
  3. 在测试的过程中 ,会发现一些BUG,这个时候需要我们使用禅道,ones等这些工具,进行缺陷的提交,这个时候一定要注意问题发现的测试手段,详细记录步骤,测试的软硬件环境,也就是使用的版本,在什么样的环境场景下出现的,最好附件有log,截图视频等,这些方便后续的复现,也为了更好的在后续版本中验证这个问题;
  • 测试思路

  1. 嵌入式软件测试,要求我们需要多去了解客户的需求以及客户的使用场景,往往这个也是最难的,也是最容易出问题的,有时候客户有这样那样的需求,所以产品在后续的更新换代的过程中,需要更加严谨的态度,因为往往某个功能的修改,而导致牵一发而动全身;
  • 测试数据的分析

  1. 测试数据整理,这个需要培养好的习惯,需要有一种统计的思维,测试数据往往很多,测试项目也很多,需要测试者做好归类,我们不仅仅需要注意测试过程中的一些数据的记录,同时还需要对bug的记录信息详细描述,发现多少BUG,解决多少bug,bug的等级等,特别是一些偶发的bug,需要考虑到这个问题是一个范性普遍存在的还是个性,个例问题的需要进行做好记录,针对个别设备进行具体分析,所以这个也比较难,对于一些偶发的bug,也是最难解决最不好复现的;
  2. 对于数据分析,我们可以通过PTP或者pdf的方式进行展示,这个时候我们可以借助到透视表,图表,让人开起来更加的直观易懂;
  • 测试总结

  1. 做好一个嵌入式软件测试的工作,其实对我们的要求挺高的,不仅仅需要学习一些测试知识,而且学习一些计算机网络知识,同时学习好LINUX系统知识,这一点也很重要,比如shell,python脚本的编写,在硬件方面,我们需要学习一些基本电路知识,知道一些硬件性能,会使用一些硬件测试的工具,eg:示波器,电流表,函数发生器等;还有一些测试的大设备,温箱,浪涌信号发生器等;
  2. 所以做技术,就是一个不断去学习,去思考,去积累的一个过程。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值