Google测试之道节选-TE(测试工程师)招聘的面试题

测试工程师 - 面试题

测试一个web页面,上面有一个文本输入框,一个计数count按钮,用于计算一个文本字符串中大写字母A出现的个数,请设计出一系列字符串用以测试这个web页面

        应聘者不应一开始就直接去罗列测试用例,应先充分思考这个问题

       测试数据列表如下:

1.banana (正常合法用例)

2.A和a(一个简单的有正常结果的合法输入)

3.“”(一个简单的结果为0的合法输入)

4.Null:简单的错误输入

5.“AA”和“aa”:(个数>1,并且所有字母都是A的输入)

6.“b”:简单的非空合法输入,结果为0

7.aba:目标字符出现在开头和结尾,以寻找循环边界错误

8.“bab”:目标字符出现在中间

9.space/tab AAAAAAA等:空白字符与N个A的混合

10.不包含A的长字符串:如2^32、2和10的次方

11.包含A的长字符串

12.X\nX字符串

13.{java/C/HTML/JavaScript}

然后讨论更加高级的测试问题:

14.质疑解密的外观、调色板和对比度

15.文本框大小长度是否合适

16.考虑这个应用能否在同一台服务器上运行多个实例,是否会发生多个用户的串扰

17.提出疑问“数据会被记录吗”,输入串可能包含地址或其他身份信息

18.建议使用真实数据进行自动化测试,如从词典或书本里选择

19.提出疑问,“计算足够快吗,在大负载下呢”

20.提出疑问,“该页面是可发现的吗?用户怎么能找到该页面”

21.输入HTML和JavaScript,看是否会破坏页面渲染

22.寻找是对大小写的A计数,还是都包括

23.尝试复制粘贴字符串

另外可问些更加高级的问题,能反映富有经验、宝贵的测试思维、能够比问题走的更远的想法:

24.意识到计算会通过URL-encode HTTP GET请求传递到服务器,字符串可能会在穿越网络时被截断,因此无法保证支持多出的URL

25.建议将此应用参数化。为何只对字母A计数呢

26.考虑计算其他语言中的A,如变音符号

27.考虑该应用是否可以被国际化

28.考虑编写脚本或者手工采样来探知字符长度的上限,如通过2的指数递进算法,然后确保在此区间内功能正常

29.考虑背后的实现和代码,也许有一个计数器遍历该字符串,另外一个跟踪已经遇到了多少个A(累加器),因此可以在边界值附件变化A的个数和字符串的长度来进行测试

30.提出疑问,“HTTP POST方法和参数会被黑掉吗,也许有安全漏洞”

31.用脚本创建各种有趣的排列组合和字符串特性如长度、A的个数等组合,自动生成测试输入和验证

最后,Google需要的是保持好奇心,充满热情的工程师,不满足于简单完成被分派的工作,而是会进一步探索各种可能性,尝试工作描述之外的东西。工作职责自然要完成,但是生活和工作的意义在于最大限度的对外部世界产生影响。

      我们需要的是那些与现实世界和计算机科学团体紧密联系的人,例如给开源项目开bug的人,或者通用化自己的工作以提高复用性的人。

      我们需要的是能够和他人和睦相处、合作愉快的人,是能够影响Google文化的人。

      我们需要的是愿意持续学习和成长的人。我们也需要那些带来新鲜思想和经验的人,他们丰富了Google的人才库。

      我们希望他们在看到问题时能直言不讳。

参加大型技术公司的面试是一件令人害怕的事情,很多人无法一次过关,而是需要多次练习。严酷的面试并非我们的本意,我们的目的是确保找到合适的、能发挥作用的、将来能胜任工作顺利成长的人

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值