本文大概 2429 字 读完共需 7 分钟 | 由于时长限制,想听完整音频请点击'阅读原文' 学到课堂 | 第一期 课程主题 测试工程师如何迎接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:如何参与Java开发? A:Java的代码比较易懂,如果只是参与,从看代码和找问题中着手比较简单。 Q:对于“机器翻译”翻译质量的评测? A:主要是抽检和众包的方式,翻译的质量是一个持续改进的过程。 Q:图片压缩清晰度的测试? A:主要靠人的直观感受和自动化测试相结合,可以对压缩前后的图片进行近似度判断,接入人脸识别算法等进行辅助测试。 Q:自动化测试怎么学? A:学好基本的编程和单元测试框架的应用,结合相应的应用环境,通过性能测试等逐渐积累经验。最重要的是结合业务场景,多做应用。 |
|