一、算法测试测什么?
先来看几个大家耳熟能详的算法应用成功的例子:
1.阿尔法围棋机器人,打败了人类棋手,其实就是运用了复杂的人工智能算法
2.今日头条、抖音等APP , 使用了兴趣算法推荐,推送的都是你感兴趣的
3.购物软件,你搜过什么商品,就会不胜其烦-直推荐,也是使用了算法推荐机制
区别于一般的功能测试,算法测试的侧重点不同。
一般的功能测试是关注前端操作之后服务端返回数据的正确性(增删改查),而算法测试则要关注的是算法(模型)启用之后,数据的增量(有正负)是否符合预期。
举两个例子
例子1: 某软件中的广告推荐更新了一套算法,预期要把推荐转化率提升几个百分点。
【测试要关注的是】新算法有没有提升转化率百分比,提升量的有没有达到预期。
例子2: 某人脸识别软件更新了识别算法,预期是减少识别耗时。
【测试要关注的是】耗时减少的同时准确率有没有下降。
二、如何测试算法?
1、普通功能测试会使用到的方法
1)算法稳定性测试
a ) 长时间运行,算法是否奔溃
b )数据量提升后,算法模型的结果是否符合预期
2 ) 算法性能测试
a )算法模型的响应时间
b )算法模型对处理器cpu和磁盘的消耗
3 ) 算法兼容性测试
a ) 设置不同阈值内的数据,算法结果是否稳定(比如用户年龄、区域、性别等)
上面说到测试方法,是不