分布式的future用于分布式系统环境下的自动测试?

分布式的future用于分布式系统环境下的自动测试?

这要求代码可以远程注入到一个执行context,同时能够以触发事件的方式驱动系统的交互行为

现在,假设要在主ui线程中注入一段测试。不能直接写成一个for循环,因为可能导致anr。必须改成cps风格,数组测试数据就变成一个链表。

cps测试数据可以抽取成一个服务,每次请求当前的一个case及期待的结果验证,同时还需要指向下一个case的token。

换句话说,是把一个大的测试数据数据集以异步迭代的方式直接注入到产品环境,而不是一定要编译出一个test apk用于单元测试

考虑广告拦截的abp规则,至少要有单条规则的有效性测试,还有一个整体的匹配性能测试。

我不想把这部分代码抽取出来写单元测试的话,可以通过部署一个假的dns服务器、jit生成满足abp规则的html页面,以及将全部测试集做成一个微服务以异步远程回调来驱动

总结一下要点:

1、传统的单元测试通常是本地编译一个定制的test可执行程序,其main函数以循环的方式驱动运行整个测试集;

2,可以通过注入测试流程到正常产品程序的方式以尽快进入集成测试。同时可以用tdd的方式隔离内部的实现部分,优先考虑外部的执行流程

还有一个更好的思路:暂时不要修改当前实现,而是基于abp过滤规则集,编写一个定制的fuzzer服务器,为每条过滤规则自动随机生成一个url,如果浏览器发出了网络请求,就说明当前实现有漏洞

附带2点说明:
1、fuzzer通常用于找安全漏洞,但思想也可用于生成测试集;
2、通过给wifi指定一个定制的dns服务器,并对任意dns请求都返回特定ip,就可以拦截浏览器发出的所有请求 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值