一、了解人工智能1.1、对人工智能的理解人工智能AI是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学定义。人工智能利用机器学习技术通过对现有的经过处理筛选、消噪、过滤等的数据不断进行矫正设置阀值等方法机器模型的输出此过程称为训练期望通过训练可以得到在未来新数据上有良好表现的模型从而投入生产。1.2、人工智能目前应用的一些领域语音识别人工智能在语音识别方面的应用相对较好如siri、多邻国读音识别等图像识别 如高速车牌识别、人脸识别等个性化推荐如亚马逊、今日头条根据用户阅读历史做的推荐系统 利用人工智能进行调参数等二、AI相关测试一般这些项目都要测试什么要进行什么类型的测试。模型评估测试模型评估主要是测试 模型对未知新数据的预测能力即泛化能力。泛化能力越强模型的预测能力表现越好。而衡量模型泛化能力的评价指标就是性能度量(performance measure)。性能度量一般有错误率、准确率、精确率、召回率等。稳定性/鲁棒性测试稳定性/鲁棒性主要是测试算法多次运行的稳定性以及算法在输入值发现较小变化时的输出变化。如果算法在输入值发生微小变化时就产生了巨大的输出变化就可以说这个算法是不稳定的。系统测试将整个基于算法模型的代码作为一个整体通过与系统的需求定义作比较发现软件与系统定义不符合或与之矛盾的地方。系统测试主要包括以下三个方面1、项目的整体业务流程2、真实用户的使用场景3、数据的流动与正确接口测试接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换传递和控制管理过程以及系统间的相互逻辑依赖关系等。文档测试文档测试是检验用户文档的完整性、正确性、一致性、易理解性、易浏览性。在项目的整个生命周期中会得到很多文档在各个阶段中都以文档作为前段工作成果的体现和后阶段工作的依据。为避免在测试的过程中发现的缺陷是由于对文档的理解不准确理解差异或是文档变更等原因引起的文档测试也需要有足够的重视。性能测试白盒测试–代码静态检查竞品对比测试如果有涉及时可针对做竞品对比测试清楚优势和劣势。比如AI智能音箱产品。安全测试发布上线后线上模型监控测试数据不管是机器学习推荐系统图像识别还是自然语言处理都需要有一定量的测试数据来进行运行测试。算法 测试的核心是对学习器的泛化误差进行评估。为此是使用测试集来测试学习器对新样本的差别能力。然后以测试集上的测试误差作为泛化误差的近似。测试人员使用的测试集只能尽可能的覆盖正式环境用户产生的数据情况。正式环境复杂多样的数据情况需要根据上线后持续跟进外网数据。算法模型的适用性一定程度上取决于用户数据量当用户量出现大幅增长可能模型会随着数据的演化而性能下降这时模型需要用新数据来做重新训练。上线只是完成了一半测试并不像APP或者WEB网站测试一样测试通过后发布到正式环境测试工作就完成了。测试集如何选取很关键一般遵循两个原则测试集独立同分布测试数据的数量和训练数据的比例合理测试集独立同分布不能使用训练数据来做为测试数据此为独立。测试数据需要和训练数据是同一个分布下的数据此为分布。举个例子训练数据中正样本和负样本的分布为73测试数据的分布也需要为73或者接近这个分布比较合理测试数据的数量和训练数据的比例合理当数据量比较小时可以使用 7 3 训练数据和测试数据(西瓜书中描述 常见的做法是将大约 2/3 ~ 4/5 的样本数据用于训练剩余样本用于测试或者 62 : 2 训练数据验证数据和测试数据。如果只有100条1000条或者1万条数据那么上述比例划分是非常合理的。如果数据量是百万级别那么验证集和测试集占数据总量的比例会趋向于变得更小。如果拥有百万数据我们只需要1000条数据便足以评估单个分类器并且准确评估该分类器的性能。假设我们有100万条数据其中1万条作为验证集1万条作为测试集100万里取1万比例是1%即训练集占98%验证集和测试集各占1%。对于数据量过百万的应用训练集可以占到99.5%验证和测试集各占0.25%或者验证集占0.4%测试集占0.1%。一般算法工程师会将整个数据集自己划分为训练集、验证集、测试集。或者训练集、验证集 等等。这里的测试集是算法工程师的测试数据算法工程师提测时写明自测时的准确率或其他指标。测试人员另外收集自己的测试集。测试数据可以测试人员自己收集。或者公司的数据标注人员整理提供。或者爬虫。外部购买。测试人员可以先用算法工程师的测试集进行运行测试查看结果。再通过自己的测试集测试进行指标对比。2.1、测试分析人工智能归根结底也是利用对历史数据的处理训练出可以在将来数据上有良好输出的模型。对于测试而言应该关心数据模型在对待正常数据、边界数据、异常数据作为输入时模型的输出是否能够符合期望。2.2、测试方法改变测试集如输入与训练时一样的数据、与训练时完全不同的数据、训练时的边界值等看是否达到期望输出如在安卓平台运行的代码通过不断点击运行、以及快速退出和快速进入、处理大量数据、空数据、等观察性能指标的上升等模型是否有良好的用户交互人工智能发展目前有一定的技术限制但是无论如何都不能造成应用crash、卡死、内存溢出等现象具体使用时应有良好的告知用户的提示不能一直loading等模型是否能够根据处理数据的量从少到多而自动不断优化、调整输出观察模型输出是否是一直不变化的经过多次改变输入百次计算再进行回归测试观察输出是否有一定程度调优或者更差了模型在处理数据时的效率学习过程cpu占用率、内存消耗等模型有没有人性化的参数调整入口供运营人员以及测试人员对上线后、上线前进行调整模型上线后应具有一定的参数调整能力例如某些权重的调整等。业界今日头条的某些推荐方案一旦效果好据说会立刻将所有的模型进行模拟升级切换到相同的模式。风险控制当发现严重问题时如何良好的控制线上的模型对其进行开关以及升级操作如上线后若发现难以控制的风险如需要紧急下线政策等影响等问题时需要有立刻关闭的功能以及关闭前对用户的良好的提示功能。若此模型并不是单独使用有没有良好的兼容性兼容其他模型遇到错误的使用时如何变现以及提示方式如模型需要与其他模型进行合作才能工作那应当分开单独进行测试此模型应该具有良好的接口和期望输出。测试方法参照上面。然后再测试与其他模型共同工作时的效果三、AI测试举例3.1、语音识别部分输入正常的语音输入有杂音的语音输入空白语音输入不同语言的语音输入长时间语音输入重复语音结论训练好的模型应在使用上满足一定程度的场景不能答非所问的太离谱3.2、自优化测试将测试集分成2部分或多部分第一次输入第一部分然后观察结果然后再输入第二部分然后再次输入第一部分观察输出是否有优化的体现3.3、性能部分[在进行语音识别时观察cpu、内存等占用情况在语音识别结束观察cup、内存有没有释放等情况观察识别的时间长短3.4、友好度测试观察在使用时弱网络情况下的提示观察识别出错时的提示观察正常时的提示3.5、风险测试功能入口测试展示和关闭是否能通过远程直接关闭或开启语音识别功能升级等最后下方这份完整的软件测试 视频教程已经整理上传完成需要的朋友们可以自行领取【保证100%免费】​​​软件测试面试文档我们学习必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有字节大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。