面试的时候,被问到
1.如何用 monkey 做到 100% 覆盖?
开始想的是通过写包名,把每个包名都写上,应该可以。后面发现就算是一个包,也有可能做不到 100% 覆盖。。
回来一直百度,无果。。。求解答。
2.selenium 底层是如何实现的?
这个自己一直在用轮子,但是不知道轮子是如何实现的。。
回来后,仔细看了相关文章。。牢记。
你问的这俩我也不知道。。。。
感觉第一个问题,是想问自动遍历吧。
问题 1:不可能实现
问题 2:好像很久之前看官网是说用 client 和 server 的方式。
问题 1:什么叫 100% 覆盖?面试官自己有谱么?
问题 2:书上有
monkey 是随机的不可能做到 100% 覆盖,哪怕是定制 monkey 实现自动遍历也不太可能 100%,或者可以用 monkey 的脚本模式,通过写脚本覆盖,不过 100% 也是强人所难。
—— 来自 TesterHome 官方 安卓客户端
测试问 100% 的公司,我觉得可以不用去了。
第一个应该问的是自动遍历的解决思路,第二个应该要区分 selenium 的 1,2,3 版本来看
问题 1: Monkey 本来就是随机测试,不可能实现 100%, 顶多实现某一个场景下的覆盖率。
问题 2: Selenium 是 cs 模式,但具体如何与浏览器交互,貌似这个也没有开源吧。
问题一不可能,monkey 本身是做无序遍历测试的。非要找方法的话,理论上就不设置时间、执行次数,让他一直跑下去。
改坐标点击为控件点击,可以提高遍历效率,但是肯定是无法 100%
!!之前 TX 电话面试也问了第一个问题,当时就懵逼了。。
哦,腾讯的测试轮数是我所知道公司里面最大的。。。
问 100%,这个确实有点坑,这有可能有严格的 KPI,大公司也可能有坑部门。
个人建议,具体还要看面试官怎么表述的,这个也不好以偏概全。
自己好好体会整个面试流程吧,不要纠结在一两个问题上。第一个问题个人觉得不用纠结,第二个问题好好看吧。
我也是在扯淡。。。仅供参考。
第一个问题 当时倒是可以直接请教下面试官