埋点数据存在哪里(埋点数据不准的原因)
今天给各位分享
一,埋点是什么?埋点是软件开发中的一个术语,用于采集数据或者验证代码执行过程,不只是Java才有,各种开发语言中都有成熟的SDK开发包和框架使用。
二,应用场景埋点的场景有多种,可以在程序执行时,还有在单元测试时。可以在服务器,也可以在客户端。可以收集程序运行数据,也可以收集用户数据。
三,单元测试时的埋点重点介绍单元测试时用到的埋点技术单元测试的目的是测试被测函数但是被测函数往往不是那么“简单”,首先有入参,其次要依赖使用其它的变量、函数、数据、还有第三方接口,等等被测试函数的代码执行路径也会有多个,比如if-else,异常处理。
如何模拟不同的场景,控制被测函数的运行依赖环境,验证网站快速引流方法运行过程和返回结果是否符合预期?
以Java开发为例,使用JUnit + Mockit,一个典型的单元测试组成如下:1. mock模拟依赖的数据、变量、函数、第三方接口,等等2. stub打桩埋点,设置期望的执行过程、入参、出参等信息3. verify验证代码执行过程,比如埋点的函数被调用了1次,入参是abc。
4. doThrow设置异常抛出,验证异常发生时的处理逻辑是否符合预期。
四,单元测试的埋点示例举个例子,被测试函数parseMsg(),读取ActiveMQ消息内容,转换成JSONObject
1,模拟入参TestMessage2,在getText()函数处打桩埋点,设置返回值3,调用被测试网站快速引流方法函数,验证getText()函数被调用了一次4,验证异常发生时,处理逻辑是否正确
#Java#举报/反馈