官方微信视频号
▍我们为什要进行软件测试呢?
软件的BUG其实影响到我们每一天的日常生活:你的电脑系统的蓝屏,软件导致手机系统的死机等等,大多都是由软件的BUG引起的。
机器人领域由于软件编程的大量使用及对安全性的需求非常高,使得软件的可靠性变得越来越重要。而软件测试就是用来解决我们的代码中潜在的BUG,一方面能将软件的不可靠风险降到更低;另一方面,能降低我们软件问题修复所需的成本。软件测试工程师常常会使用软件测试工具来协助完成他们的工作,本文的主要目的是对一些主流的测试软件进行归纳与总结。
软件测试的流程主要包括静态测试,单元测试,集成测试,系统测试(功能测试、性能测试等)。
一、静态测试工具
1、静态测试是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。它常用的软件测试工具包括:
二、单元测试工具
单元测试是对软件中的很小的可测试单元进行检查及验证。常用的机器人编程语言包括C/C++,Python,Java,C#/.NET等等,而每一门语言所用的单元测试软件也不尽相同。
2、 C#/.NET: C#是微软提供的专用编程语言,由于微软机器人研究院开发员工作包的存在,因此被大量使用在机器人编程中。它常用的软件测试工具包括:
3、Java:Java语言由于有虚拟机环境的普及和安卓操作系统的使用,因此被大量应用于商用级及消费级的机器人中。Java常用的软件测试工具包括:
4、 Python:Python是ROS(机器人操作系统)两种主要编程语言之一。由于Python编程的简便、开源性及大量的免费库的存在,使得Python在机器人编程中的地位越来越重要。Python常用的软件测试工具包括:
5、 C/C++:C/C++允许与低级别的硬件进行交互,是两门非常成熟的编程语言,同时C++也是ROS两种编程语言之一。同时由于机器人研发非常依赖实时性能,而这两门语言也具有实时特性,因此C/C++是更加接近机器人“标准语言”的编程语言。C/C++常用的软件测试工具包括:
三、集成测试工具
一些模块在单独工作时能运行的很好,但是连接起来后并不能保证很好的工作,这个时候就需要引入集成测试。一般会在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。集成测试常用的测试工具包括:
四、系统测试工具
系统测试包括功能测试、界面测试、可靠性测试、易用性测试、性能测试等等。系统测试常用的工具包括: