目录
1.测试开发岗位的核心其实是“测试”,“开发”的目的是更好地服务于测试
1.测试开发岗位的核心其实是“测试”,“开发”的目的是更好地服务于测试
看重的是对测试的理解,以及在此基础上设计、开发帮助测试人员提高效率并解决实际问题的工具,而不是一个按部就班、纯粹意义上的开发人员。
2.什么才是测试工程师的核心竞争力?
(1)传统测试工程师师应该具备的核心竞争力
测试工程师要具备的七项核心竞争力,包括:
- 测试策略设计能力
- 测试用例设计能力
- 快速学习能力
- 探索性测试思维
- 缺陷分析能力
- 自动化测试技术
- 良好的沟通能力
(2)测试开发工程师的核心竞争力
- 第一项核心竞争力,测试系统需求分析能力
- 第二项核心竞争力,更宽广的知识体系
3.开发工程师和测试工程师的区别?
开发工程师通常是“深度遍历”,关注的是“点”;而测试工程师通常是“广度遍历”,关注的是“面”。
测试工程师需要掌握的非测试知识:
- 小到 Linux/Unix/Windows 操作系统的基础知识,Oracle/MySQL 等传统关系型数据库技术,NoSQL 非关系型数据库技术,中间件技术,Shell/Python 脚本开发,版本管理工具与策略,CI/CD 流水线设计,F5 负载均衡技术,Fiddler/Wireshark/Tcpdump 等抓包工具,浏览器 Developer Tool 等;
- 大到网站架构设计,容器技术,微服务架构,服务网格(Service Mesh),DevOps,云计算,大数据,人工智能和区块链技术等。
Ps:
- 缓存雪崩、缓存预热、缓存击穿等概念:https://blog.csdn.net/m0_50323137/article/details/116226987
- Docker官网:https://docs.docker.com/get-started/overview/,英文不习惯的可以结合百度翻译桌面版看,有选中自动翻译功能。
4.传统软件产品和互联网产品采用的测试策略区别?
传统软件产品:金字塔测试策略(迈克 · 科恩(Mike Cohn)提出)
单元测试:白盒测试,一般由开发工程师完成,由于越早发现其修复成本越低,所以传统软件测试产品的测试策略提倡对单元测试的高投入,单元测试这一层通常会做的比较“厚”。
API测试:灰盒测试,核心思想是利用测试执行的代码覆盖率来指导测试用例的设计。
GUI测试:也称端到端测试(E2E,End-to-end)测试,最接近软件真实用户行为的测试类型。 CUI测试的优点,能够实际模拟真实用户的行为,直接验证软件的商业价值;缺点是执行的代价比较大,就算是采用GUI自动化测试技术,用例的维护和执行代价依然很大。另外,GUI自动化的稳定性,是长期阻碍GUI测试发展的重要原因。
互联网产品:菱形测试策略,遵循“重量级 API 测试,轻量级 GUI 测试,轻量级单元测试”的原则。
5.WebService的两种方式Soap和Rest比较
参考:https://www.cnblogs.com/MissQing/p/7240146.html
6.可能好用的工具
Newman:是一款基于Node.js开发的可以运行postman的工具,使用Newman可以直接从命令行运行和测试postman集合。
参考:https://www.cnblogs.com/yinjia/p/10415920.html
主流接口自动化工具框架:
技术选型一般会优先考虑Requests+Python和HttpRunner