此篇只是经验之谈,个中差异可能会随项目而变动,仅供参考之!给于尚未进入此领域的同行一个引路明灯,无论如何请确保自己能够使用python、c++、go等任意一种语言写出自己想要的东西,否则我建议您先回头深造


请输入图片描述

传统项目与人工智能领域项目的差异

对于传统项目而言,我们常聚焦与需求与结果的验证,现成的产品就是我们唾手可得的测试工具,我们不必为如何开展测试而感到苦恼、也不会为没有被测载体而感到烦心。我们的结果验证给出就既定,不会出现模棱两可的多种结果,以至于无法验证及验收,类似于产品经理说用户点击退出APP,我们就退出APP。需求已给出,标准就既定、结果便既定。

人工智能领域其核心是算法本身,算法模型受训练数据集的差异性、输入对象的差异性,产生的结果也不确定。此段差异性我先简单概括之,这章留下一个问题,下章解答。也请大家踊跃发表自己的看法:


我要求人脸识别终端的准确率在95%,请大家提供测试方法以及测试标准

你到底需要掌握什么技能

事实上对于我而言,一个不会写代码的测试一定是不合格的测试,在任何时间、任何地点、面对任何人我都是这般坚持

要想能够胜任此领域的工作,你必须清楚如何使用shell、python完成具体工作,与此同时你也应该了解C++、go。

我举一个具体的例子:

现算法工程师已完成了模型的训练,需要接入rtsp视频流对其验证,将会在tmp文件夹下产生log日志、算法抓拍的抠图。先请你在ubuntu上搭建ffmpeg服务,并将40分钟的mp4格式的视频通过ffmpeg转化为rtsp,将算法程序接入此视频流。40分钟后杀掉算法进程,并对其产生的数据进行清洗、统计,在前端可视化的展示出来,以供验证、标注及回溯

这么一个小需求,我将会用到python的flask、ssh、pandas、pymysql库,以及前端的vue框架。也还会用到shell知识。其实这对于以及会使用python的同行来说非常的简单。

c++和go的妙用在于跨平台,很多情况下我们的程序是跑在arm下的,在做一些复杂的性能测试时,你千万不要想着将python交叉编到这里来,不要问为什么,问就是蠢猪,我就是!这种情况老老实实用go、c++,不要说不会,看下基本的语法后,做一个copy小王子就好

此篇结语

我尽量在第一篇中,给大家一个简单的概念,告诉大家人工智能领域的测试结果不确定性、以及在此领域中需要掌握的基本开发知识。

而后,我会带领这大家一步步深入到硬件、算法、性能、业务逻辑中