前言
- 软件测试定义
- 在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
- 软件测试目的
- 检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
- 软件测试方法
- 静态测试和动态测试、功能测试、性能测试、黑盒测试和白盒测试等…
- 场景
- 在进行文本分类、信息抽取等NLP任务时,要对各项指标进行测试
- 流程
- 功能测试 --> 性能测试 --> 数据测试 --> 批量人工检验标签
功能测试
单条数据测试(如:使用标准句);非全量数据执行测试
if __name__ == '__main__':
print()
性能测试
- 空间测试
https://blog.csdn.net/Yellow_python/article/details/94435972 - 时间测试
https://blog.csdn.net/Yellow_python/article/details/82710017
数据测试
数据量
SELECT t.table_name,t.num_rows FROM user_tables t
抽取率(非空占比)
SELECT
t1.f1 amount,
t1.f1/t2.f1 proportion
FROM
(SELECT COUNT(*)f1 FROM {table} WHERE {field} IS NOT NULL)t1,
(SELECT COUNT(*)f1 FROM {table})t2
;
分析(某字段各项占比)
SELECT
t1.f2 fullname,
t1.f1 amount,
t1.f1/t2.f1 proportion
FROM
(SELECT COUNT(*)f1,{field} f2 FROM {table} GROUP BY {field})t1,
(SELECT COUNT(*)f1 FROM {table})t2
ORDER BY amount DESC
;
取样
顺序采样
-- 前n行
SELECT * FROM {table} WHERE ROWNUM<=5;
-- 第m~n行
SELECT * FROM (SELECT ROWNUM a,t.* FROM {table} t WHERE ROWNUM<=5)WHERE a>=3;
-- 尾行
SELECT * FROM (SELECT ROWNUM a,t.* FROM {table} t)WHERE a=(SELECT COUNT(*) FROM {table});
随机采样
SELECT * FROM {table} SAMPLE(1) WHERE ROWNUM<=10;
数据标注界面设计
文本分类
ID | 文本 | 算法结果 | 是否正确 | 正确结果 | 备注 | 评标人 |
---|---|---|---|---|---|---|
1 | 全球疫情升级!多国确诊病例攀升,美股道指暴跌超千点 | 财经 | F | 疫情 | 小基基 | |
2 | 世界卫生组织与世界旅游组织呼吁:团结是预防病毒扩散唯一途径 | 疫情 | T | 小基基 | ||
⋮ | ||||||
9527 | 淘宝经济暖报:回暖从舌尖开始 | 财经 | T | 小贤贤 |
命名实体识别
ID | 全文 | 上下文 | 实体 | 是否正确 | 备注 | 评标人 |
---|---|---|---|---|---|---|
1 | 买小米机,送了袋小米和苹果 | 买小米机 | 小米 | T | ||
送了袋小米和苹果 | 小米 | F | 不是手机 | |||
送了袋小米和苹果 | 苹果 | F | 不是手机 | |||
2 | 买华为送苹果机 | 买华为送苹果机 | 苹果 | T | ||
⋮ | ||||||
9527 | 三星电池炸了 | 三星电池炸了 | 三星 | T |
长文本
全文 | 关键句 | 算法结果 | 是否正确 | 备注 | 评标人 |
---|---|---|---|---|---|
买小米机,送了袋小米和苹果 | 买小米机 | 手机 | T | ||
送了袋小米和苹果 | 不是手机 | ||||
送了袋小米和苹果 | 不是手机 | ||||
上一篇 下一篇 |
踩过的坑
- 多进程写入数据库后,会乱序。因此读出的时候,要保证原子性及有序性
- 数据量(随时间)不断增长,写SQL时要加上(时间)条件,从而可把控结果总数
- 数据标注人员不宜过多,越多人越难统一标准