1、MTSC2020中国互联网测试开发大会深圳站TESTING SUMMITCONFERENCE CHINA 20202020.11.20-21一中国深圳宝立方国际酒店主办方:TesterHame#page#MTSC中国互联网测试开发大会TING SUMMIT CONFERENCE CHINA2020单测生成技术在召回异常问题中的应用实践王冬冬主办方:TesterHeme#page#MTSC中国互联网测试开发大会背景介绍技术探索提纲实践成果技术延伸Baidu百度主办方:TesterHame#page#MTSC中国互联网测试开发大会背景介绍Baidu百度主办方:TesterHame#page#MTS
2、C中国互联网测试开发大会背景|系统异常问题让人始终环磨不透线上出现系统core、crash等异常问题时,产品收益、用户体验,QA口碑都受到影响为此有了一系列的异常召回手段如基于压力测试、功能测试、单测、静态扫描的异常测试刚推全一个不足测你以为很了解它们了是已经跑功能不会出易3Cl实际仍会俏无声息的出现半年都没事coreaE了吗是不是线上打开方用户吐槽式不对太难定位了家情不到了带后性、定位难、传统异常召回手段仍有不易解决的痛点一资源消耗高问题分类具体类型压力测试功能测试单元测试静态检查v馆机器资源消耗多成时效性差V本大多core/crash问题根本原因是代码不够健壮(资源、开发V我型能否使用定位
3、成本等)未能捕获或处理异常,使得程序中断。2开发&维护成本高V近代码测试手段去解决异常召回问题。V依额人的意识2依赖后验知识(沸后性)Baidu百度主办方:Testerheme异常场景难构造V#page#MTSC中国互联网测试开发大会背景有些方法哪里都好,唯独写起来令人受不了单元测试是一种近代码的、针对程序模块(软件设计的最小单位)来进行正确性校验的测试工作。优点测试最小单元,易于构造数据,验证正确性便于后续功能回归资源消耗小能更早发现问题,定位和解决成本低您有一份新的用例清单写单测的一般步骤:用例清单1、明确待测内容(函数、验证点)case12、构造数据case23、编写测试驱动代码case
4、34、执行测试5、结果确认啊!casenBaidu百度主办方:TesterHleme#page#MTSC中国互联网测试开发大会背景|新的尝试有何不可流量和线上环境的瞬息万变近代港后使得很多core先于线下出现码智能单测:实现无人参与构造异单元成本core常数据、撰写用例代码的单测系成本搭建线上真实环境耗时、耗资源低问题测试统“化被动为主动”低成本召开发&维护耗人力名回回core问题。定位gdb层层定位成功过高快虾在开发、测试、上线中、上线后各阶段构建全方位召回漏斗开发测试阶段,能基于开发规静态代码扫描范、历史经验召!分潜在风险问题开发测试阶段:轻量级任务,动态分析召回山岁品asan开发测试阶段
5、,系统级测试,异常测试异常流量、异常交互、白盒等手段上线分级上线,如小流量单台、多台、全流量Baidu百度主办方:Testerheme线上监控、切流、重启#page#MTSC中国互联网测试开发大会技术探索Baidu百度主办方:TesterHame#page#MTSC中国互联网测试开发大会技术探索|先搞清楚需要什么int explore_filter(int conf_idx)测试函数uint32_texp_num准备工作:确定待测试函数explore filterreturn 38481数返回值:int函数名:axpkowe_fiterihtexplorefilterintconfx分析代码的
6、能力分析被测函数int3expmer_conf(confx)emreturn 8;中间代码:_cuery_conf是-并将入参confic作为索引使用要长度”场爱构造数据的能力构造异常用例conl=ll;explore_filter)订大院int conf_idx=1摆写单测代码指定输入参数,调用测计生成代码的能力GTEST_ASSERTNO_DEATH(fexplore_filter(conf_idx));复主办方:Baidu百度:TesterHame#page#MTSC中国互联网测试开发大会技术探索|技术架构测试准备“理解”代码“构造”数据“撰写”代码执行分析代码结构数据CSD用例数据源码