分享

测试工程师如何迎接AI时代的挑战 | 课程实录及资料

 一枚平凡的叶子 2017-11-08

本文大概

2429

读完共需

7

分钟


测试工程师如何迎接AI时代挑战 来自HiCircle 29:18

| 由于时长限制,想听完整音频请点击'阅读原文'


学到课堂 | 第一期

课程主题

测试工程师如何迎接AI时代的挑战

主讲人

林应

针对人群

- 测试工程师

- AI爱好者

- 初级Pythonista

学到课堂

专注于精品测试课程、AI课程以及基本架构课程




目录


一、测试工程师为什么要学编程

二、应该抱着什么目的学

三、为什么选Python作为入门语言

四、Python学习内容和路线

五、自学者如何积累实践经验

六、编程学习经验分享和小建议

七、网上资料推荐

八、提问环节部分摘要



随着人工智能的发展,AI的普及势必会取代简单和重复的劳动力,根据林应老师在微软、阿里等工作的实际工作经验,如今的测试团队都在面临重组。测试工程师若没有技术优势,就难以在AI时代里生存下来。

 

从理论到实践,林应老师从多个方面讲述测试工程师应有的思维方式和实践精神。


1

测试工程师为什么要学编程



技术更迭的需求


和传统的软件开发不同,AI时代的开发和测试会越来越密集地融合成一体,机器学习算法模型的生成就包括开发和测试两个阶段。对于测试工程师来说,如果不介入开发,后面所做的测试工作就会很容易脱离生产实际。


冲破测试工作的局限性


应用场景的测试比较低端,属于重复性和单一的工作,而了解编程和人工智能,就可以从早期模型的阶段进行评估的工作,摆脱体力劳动者的角色。


提高日常工作效率

即便你只是做最普通的测试工作,学会编程也可以提升工作效率,提升个人优势。比如通过写脚本记录重复劳动的过程,就可以通过自动化脚本实现大量的数据优化和场景构造。


避免被团队边缘化

以林应老师在淘宝的实际工作经验,目前技术团队的构造上,每个人都承担着多重角色,测试如果完全不懂开发,很容易会被边缘化。


薪资会告诉你答案

即便在实际工作中并没有太多自动化的场景,但资本家和市场的偏好依然希望测试工程师拥有编程的知识,这些都会在面试和薪资里体现出来。


2

应该抱着什么目的学



看懂代码

训练自己看代码的能力,有能力看懂别人的代码和找到bug。


培养专业度

通过很多技术文章和专业书籍,在讨论的时候可以让别人感受到你的专业度,在面试的时候同样具有优势,可以更容易打动面试官。


3

为什么选Python作为入门语言



入门更快

一般来说,只要先看两个小时文档,就可以写一些像样的东西出来。相比较于C++的语言,学习曲线更加平缓,对于自学者来说非常友好。


快速形成生产力

Python的应用非常广泛,在数据分析、机器学习领域、爬虫、自动化……都有着广泛的运用,因此在学习之后能快速看到效果。


学习素材丰富

网上的学习资料丰富,成系统的教材很多。

(关注公众号并回复“测试工程师”,领取课件及学习资料)


 庞大的扩展库

Python有很多高质量的标准库和第三方库。


大量的工作岗位

市场上有大量的工作岗位需求:自动化测试、自动化运维……你甚至只要具备转化业务流程的能力,而无需了解Python的方方面面。


4

Python学习内容和路线



基础知识

了解循环、判断、容器、类、方法、面向对象……,掌握概念和用法。


常用算法

掌握二分法,动态规划等一些基本的算法,并尝试实际应用场景中练习。


爬虫

作为开发和测试过程中的重要工具,爬虫在http请求处理、静态页面解析、动态页面抓取都有应用。


数据分析

初期可以利用爬虫从互联网获取的数据进行分析,使用numpy和pandas之类的工具包进行分析。虽然numpy和pandas的功能很多,但在实际使用中并没有那么复杂。主要是在掌握线性代数的一些基本知识,在了解了基本使用方法之后,可以根据实际需求在网上找对应的函数。


基本机器学习算法

推荐使用scikit-learn,通过看库的文档了解算法的名称以及实际的使用场景之后,在运用时可以直接调取库,就可以自己去完成很多机器学习相关的功能了。


神经网络

尝试利用tensorflow搭建一个神经网络,只需在电脑上装一个tensorflow的CPU版本,自己就可以训练一些简单的模型。


5

自学者如何积累实践经验



吸取他人经验

网上的教材和现有的案例教你如何做分析,从别人的经验中找灵感。


参与开源项目

在github上有大量的机会开源项目供自学并积累工作经验。


启动自己的项目

在网上写爬虫抓取大量的数据进行分析,做自己的项目。

-豆瓣电影,评分预测

-链家数据,房价曲线图


参与网络竞赛

Kaggle或者天池,参与竞赛,使用现有的数据练习。


6

编程学习经验分享和小建议



·注重实练,动手敲代码。

·舍得花时间,量变产生质变。

·记录并整理优秀的学习素材和案例,随时参考。

·生成自己的代码库,随时调取。


7

网上资料推荐



廖雪峰的Python教程

刷题训练:lintcode 部分参考答案

电子书

- Python数据分析(Python for Data Analysis)

- 机器学习实战

- 游戏开发中的人工智能

莫烦的个人网站

寒小阳的博客

编程遇到问题强烈推荐去stackoverflow


8

提问环节部分摘要



Q
A
&

Q:测试机器学习模型有什么思路?

A:根据生产需要,考虑各种因素干扰。比如人脸识别,面临不同人种,需要有不同的模型;面临不同的应用环境,测试模型的效用并进行取舍。


Q
A
&

Q:在测试执行中,有应用场景了吗?

A:机器学习产生结果的不确定性,针对这种不确定性而产生的随机性,来进行测试,同时要考虑到极端情况。比如游戏中的追逐场景,要保存所有的随机路径,然后根据这些数据进行测试。


Q
A
&

Q:如何参与Java开发?

A:Java的代码比较易懂,如果只是参与,从看代码和找问题中着手比较简单。


Q
A
&

Q:对于“机器翻译”翻译质量的评测?

A:主要是抽检和众包的方式,翻译的质量是一个持续改进的过程。


Q
A
&

Q:图片压缩清晰度的测试?

A:主要靠人的直观感受和自动化测试相结合,可以对压缩前后的图片进行近似度判断,接入人脸识别算法等进行辅助测试。


Q
A
&

Q:自动化测试怎么学?

A:学好基本的编程和单元测试框架的应用,结合相应的应用环境,通过性能测试等逐渐积累经验。最重要的是结合业务场景,多做应用。



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多