菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
128
0

软件测试回顾(4)

原创
05/13 14:22
阅读数 53223

软件测试回顾(4)

09章:软件测试人的核心竞争力

这篇我会结合自己和老师的讲座,尽可能有量化的指标

业务测试(传统测试工程师)

7大核心能力:

  1. 测试策略设计能力
  2. 测试用例设计能力
  3. 快速学习能力
  4. 探索性测试思维
  5. 缺陷分析能力
  6. 自动化测试技术
  7. 良好的沟通能力。

测试策略设计能力一定是需要你在大量实践的基础上潜移默化形成的

测试策略设计能力是功能测试工程师最核心的竞争力,也是最难培养的平时就要多积累,对常见的缺陷模式、典型的错误类型以及遇到过的缺陷,要不断地总结、归纳,才能逐渐形成体系化的用例设计思维。

同时,你还可以阅读一些好的测试用例设计实例开阔思路,日后遇到类似的被测系统时,可以做到融会贯通和举一反三。

个人觉得这些东西太虚了,没有实在的指标,例如什么是快速学习能力?在面试怎么体现?什么又是良好的沟通能力,面试侃侃而谈就是吗,不见得吧

所以个人·认为:传统测试工程师,赶紧学“技能”,学知识储备,学编程语言,深究网络协议等等,只有把这些“面上、实实在在”的东西学会了,才有机会转型。比如A会redis,B连数据库是啥都不知道,只会点点点,你要是部门老大,你要谁?

测试开发测试

一个合格的测试开发工程师一定可以成为一个合格的开发工程师,

测试系统需求分析能力

除了代码开发能力,测试开发工程师更要具备测试系统需求分析的能力。你要能够站在测试架构师的高度,识别出测试基础架构的需求和提高效率的应用场景。从这个角度说,你更像个产品经理,只不过你这个产品是为了软件测试服务的。

更宽广的知识体系

更高级别的测试架构部署和生产架构部署、你还必须对开发采用的各种技术非常熟悉。

舒适区:

  • 测试经验积累都“强”绑定在特定的业务领域
  • 测试开发岗位的核心其实是“测试”,“开发”的目的是更好地服务于测试不要把测开当做开发去做

看到了吗,很明显测开的要求比业务测试要清晰的很多,业务测试一定要放弃“不写代码”的思维,老师的文章中没有国内的测试现状,首先,你去看国内大厂招聘,清一色的测开岗位,我面过其实就是我毕业的传统业务岗,只不过不叫测开,就感觉“落伍”了一样,他们真正开发测试工具的是另外一批人,可能也叫测开,其次,小厂面试测试根本不看你什么用例设计之类的,一看学历,二看经验、三问问题,甚至直接招开发做测开,目的就是开发工具,根本就不会那么正规。所以传统的测试赶紧转型,千万别抱侥幸心理。

斜体都代表我个人言论,来源都是我的个人认知,可能其他公司会规规矩矩的培养测开,只是我还没遇到过


10章:软件测试需要掌握的技术

开发工程师通常是“深度遍历”,关注的是“点”;而测试工程师通常是“广度遍历”,关注的是“面”

1. 网站架构的核心知识

  • 传统软件产品测试时,我们必须了解软件的架构设计

  • 被测对象成了互联网产品,我们就必须要了解网站架构。

要掌握网站架构的核心知识

2.容器技术

中大型互联网企业都在推行容器化开发与运维,开发人员递交给测试工程师的软件版本通常就是一个Docker Image,直接在容器上进行测试。有些公司还会把测试用例和执行框架也打包成Docker Image,配合版本管理机制,实现用容器测试容器。

作为新时代的测试开发工程师,你必须像熟练使用VMware一样,掌握Docker和Kubernetes的原理和使用方法。

推荐依然是Docker官网的教程,在这里你完全可以理清Docker概念以及具体使用方法,那再结合具体的实战,相信你必定收获颇丰。

3.云计算技术

作为测试工程师,你必须理解服务在云端部署的技术细节才能更好的完成测试任务。

测试基础服务作为提供测试服务的基础设施,比如测试执行环境服务(Test Execution Service)和测试数据准备服务(Test Data Service)等,也在逐渐走向云端。

测试执行私有云。最典型的就是,基于Appium + Selenium Grid,搭建移动终端设备的测试执行私有云。

对于云计算的学习,你的侧重点应该是如何使用云提供的基础设施以及服务。

我建议的高效学习方法是,参考你所采用的云方案的官方文档,再结合实际案例进行试用,学习效果会更好。

  • 你可以尝试用云服务去部署自己的应用,同时还可以结合云平台提供的各类服务(配置服务,数据库服务等)和你的应用做集成。
  • 你尝试用云平台建立自己的小应用集群,体验集群规模的动态收缩与扩展。
  • 你还可以尝试在云平台上直接使用Docker部署发布你的服务。
  • 你可以尝试在云端建立自己的Selenium Gird集群,现在Selenium Gird已经发布了对应的Docker版本镜像,你可以非常方便地在云平台上搭建自己的Selenium Grid。

理解了Docker的基本概念以及对应云平台的使用方法,你就可以在短时间内快速搭建起这样的Selenium集群。

就是会使用云来进行测试

4.DevOps思维

DevOps的具体表现形式可以是工具、方法和流水线,但其更深层次的内涵还是在思想方法,以敏捷和精益为核心,通过发现问题,以系统性的方法或者工具来解决问题,从而实现持续改进。

要想真正学习和掌握DevOps,并不是简单地学习几款工具的使用,更重要的是需要有DevOps思维,能够将各个工具有机结合,提供高效的CI/CD流水线。

对于DevOps,我建议的学习路径是,

  • 你可以从深入掌握Jenkins之类的工具开始,
  • 到熟练应用和组合各种plugin来完成灵活高效的流水线搭建,
  • 之后再将更多的工具逐渐集成到流水线中以完成更多的任务。

5.前端开发技术

如果你能够掌握前端开发技术,也就意味着你可以更高效地做前端的测试,更容易发现潜在缺陷。同时,你还可以自己构建测试页面,来完成各类前端组件的精细化测试,大大提高测试覆盖率和效率。

通常你

  • 首先需要掌握最基本的JavaScript、CSS、JQuery和HTML5等知识,
  • 然后再去学习一些主流的前端开发框架,比如Angular.js、Backbone.js等。
  • 当然现在的Node.js的生态圈非常发达,你如果能够掌握Node.js,那么很多东西实现起来都可以得心应手。

跟着你的测试项目去有针对性地学习项目相关的技术,而不是所有的技术都去泛泛地学,往往只有那些实际经历过的项目和技术才能真正成为自己的,对于项目用的技术千万不要一知半解,而是必须深入掌握,那么随着时间的推移,你的技术积累就会越来越强

第二,对于一些主流的通用的技术,比如现在的容器技术,网站架构知识等,我建议通过业余时间自学,至于学到什么程度取决于这个技术本身的特点,比如docker我觉得基本只要能够掌握基本概念以及常规的使用方法就基本足够了,而对于网站架构知识,由于你毕竟不是系统架构师,所以要做到在谈论架构的过程中,你能够理解那些名词和概念,至少能够可以和系统设计人员有共同的技术语言,不至于当对方说缓存集群,消息中间件的时候你完全不知所云。

也就是说,基础知识要了解,项目知识要深入

发表评论

0/200
128 点赞
0 评论
收藏