新手区 分享一下面试时被难到的 2 个问题。

KK · 2017年11月20日 · 最后由 chen 回复于 2017年11月21日 · 3267 次阅读

面试的时候,被问到
1.如何用 monkey 做到 100% 覆盖?
开始想的是通过写包名,把每个包名都写上,应该可以。后面发现就算是一个包,也有可能做不到 100% 覆盖。。
回来一直百度,无果。。。求解答。
2.selenium 底层是如何实现的?
这个自己一直在用轮子,但是不知道轮子是如何实现的。。
回来后,仔细看了相关文章。。牢记。

共收到 18 条回复 时间 点赞

你问的这俩我也不知道。。。。

感觉第一个问题,是想问自动遍历吧。

问题 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%

KK #11 · 2017年11月21日 Author
magicyang 回复

那个公司是腾讯。。。

KK #12 · 2017年11月21日 Author
孙高飞 回复

一直有用 selenium,突然被问到,回答不出来,很尴尬。。要多看看原理性的东西了。

KK #13 · 2017年11月21日 Author
chen 回复

最后他单独问了一个递归算法。

!!之前 TX 电话面试也问了第一个问题,当时就懵逼了。。

KK 回复

哦,腾讯的测试轮数是我所知道公司里面最大的。。。
问 100%,这个确实有点坑,这有可能有严格的 KPI,大公司也可能有坑部门。
个人建议,具体还要看面试官怎么表述的,这个也不好以偏概全。
自己好好体会整个面试流程吧,不要纠结在一两个问题上。第一个问题个人觉得不用纠结,第二个问题好好看吧。
我也是在扯淡。。。仅供参考。

第一个问题 当时倒是可以直接请教下面试官

KK 回复

我之前面过腾讯,问的应该不是问 100% 的吧,应该说是如何覆盖页面所有控件吧。

KK 回复

这个应该好回答吧。不过他既然问递归,感觉第一个问题应该是问自动遍历,可能他没表达好。下次可以试着反问下,确定下他真正想问的是啥。😁

KK 关闭了讨论 11月21日 22:54
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册