2020年底完成了一个自动驾驶中间件软件的测试,应用背景是自动驾驶行业,中间件是用途,软件运行于操作系统(平台软件)与应用软件之间。
个人之前对操作系统了解程度一般,且对行业背景的了解程度不深入,凭借已有测试基础将测试工作与领域知识同步进行。
在完成该项目的过程中,主要收获如下:
1.学习了Ubuntu操作系统,了解其背景知识和基本操作,由于该操作系统的应用广泛性,期望进一步了解;
2.强化了操作系统的基础知识,对内存管理、细时间颗粒度管理、通信、监控的概念,均有了准确的理解和认识;
3.学习内存管理过程中,理解了内存池的使用,温习了栈和堆的概念,对C++语言中的一些基本思路,包括内存占用、模板类的使用、线程的使用等有了实质性的认识;
4.学习细时间颗粒度管理,了解了线程池的概念,学习了线程池的使用方法。在测试该模块时,使用了google test测试框架,该框架易于为测试人员使用,在用作白盒测试框架时有独特的优势;
5.学习通信基础,了解到线程间共享指针通信、进程间共享内存通信、socket通信的基本方式,熟悉了通信性能指标的意义,包括通信速率、通信时间等;
6.学习监控概念,了解到板卡监控、cpu&内存监控、心跳监控等的基础概念。对于心跳监控,的概念,类似于嵌入式软件中的看门狗的用途,在软件跑死的情况下检测并执行响应动作。
期望进一步深入的内容:
1.深入学习操作系统知识,夯实理论基础;
2.熟悉google test单元测试框架,将其应用于普通控制台软件的测试;
在该项目中,做的好的方面:
1.持续学习心态:积极学习,武装大脑,学习很多新知识;
2.拥抱不确定的心态:在完成工作过程中,虽然不懂,但是无惧,回头来看,在该项目中确实接触了新东西,有收获。
在该工作中,需要改善的方面:
1.学习速度慢,导致准备不充分:学习速度慢,未在工作中展现足够的专业能力,导致在与开发工作的过程中未“压倒”对方;
2.与开发的沟通,如何平衡开发与测试人员的关系,后续准备详谈该主题。
网友评论