车载软件测试岗常见问题:
1. 常见的嵌入式Python库有哪些?
A:Python 支持的嵌入式相关的库比较多:
1. 使用Python访问CANoe接口: pywin32 (pip install pywin32)
import time, os
from win32com.client import *
from win32com.client.connect import *
2. 用 Python 控制串口:pySerial(pip install pyserail)
import serial
from win32com.client import *
from win32com.client.connect import *
3. 使用Python自带的数据库:sqlite3(不需安装,不需任何配置)
import sqlite3
2. 测试的实现方式脚本、用例、框架、测试平台?
A. 测试用例:为特定目标开发的一组测试输入、执行条件和预期结果,例如执行一条给定程序路径或验证对特定需求的符合性。测试用例一般包括:1、用例编号; 2、测试项目;3、测试标题; 4、重要级别;5、预置条件;6、测试输入;7、操作步骤;8、预期输出。
测试脚本:测试脚本是测试用例的自动化实现,它使用编程代码或脚本语言将测试用例中的测试步骤具体化,使测试可以自动运行。有的把测试用例,也叫测试脚本。比如戏剧台词,也可以叫脚本。这么理解的话,那么脚本是一个通用的概念。
测试框架:解决用例管理、执行、报告等问题的统称。
1. pytest:python 语言中一款强大的单元测试框架;
2. Appium:移动端的UI自动化测试框架;
3. Selenium:Web 自动化测试(UI自动化)框架。
测试平台:一种用来实现某种功能(测试)的体系。平台包括各种不同的元素,架构,流程,标准,机制和工具等等。(阿里 Aone,一般公司里面的 TMS,商业化的MeterSphere、ParaSoft等)
3. 测试团队内是否一定程度上需要控制编程语言的统一性?选择主要编程语言取决于?
A: 尽量统一,按需选用。
1. 满足项目需要;
2. 生态系统和社区支持;
3. 可用资源和学习曲线;
4. 可扩展性和未来发展。
4. 不同行业方向测试业务的差别(例如嵌入式测试与互联网金融方向测试),技术跨度?
A:差异性比较大。测试人员需要有相应的业务、技术及沟通能力,所以互联网/金融行业的人转嵌入式测试,有一定的难度。
1. 嵌入式软件测试依赖特定的硬件环境(手机、平板、车机、投影仪等等)。对硬件的理解越深刻,越有利于做好嵌入式软件测试(环境搭建、性能、稳定性测试等)
2. 嵌入式软件系统的实时性要求高:比如刹车、流水线
3. 嵌入式软件对内存等性能测试要求高
4. 测试框架不同:互联网金融--TestNG,JMeter; 嵌入式 -- Pytest,Appium