最近重读《Google软件测试之道》,其中有一道面向软件测试工程师的面试题非常考验测试人员的思维。拿来与你们分享,看看这样一道题,你能想到多少个测试点。
题目:
在一个Web测试页面上,有一个输入框,一个计数器(count)按钮,用于计算一个文本字符串中字母a出现的个数。这里的问题是,请设计一系列字符串用以测试这个Web页面。

题目非常简单,看到这个题目不要上来就开始设计用例,最好能有一些思考,这样看起来更加“专业”。
(题外话,我在参加产品需求评审的时候也会问许多问题,尤其是产品需求并没完全确定下来的时候,站在用户的角度,我也是用户啊,我是否喜欢这个功能?)
所以,我第一个想到的是设计这个功能的背景,因为同样一个功能,在不同的背景下,测试需要考虑的点可能是不一样的。例如,同样是一个搜索功能,百度的搜索和淘宝的搜索就有很大不同,因为用户的使用场景完全不同,输入搜索的关键字和预期结果也不一样。
当然,这只是一道题,你根据题目回答就好了。
不过,我们仍然可以就题目本身来提一些问题:大写还是小写?只是英文么?计算完成后文本会被清除码?多次按下按钮会发生什么事情?……
接下来你假装有条不紊的设计用例(思考一会儿,然后再输入一串字符,然后再思考…),而不是看起来像monkey试图破坏软件(拼命的敲击键盘…)。
“banana”:3(一个合法的英文字)。
“A” 和“a”:1(一个简单有正常结果的合法输入)。
“”:0(一个简单的结果为0的合法输入)。
Null:0(简单的错误输入)。
“AA” 和“aa”:2(个数大于1并且所有字符都为a/A的输入)。
“b”:0(一个简单的非空合法输入,结果为0)。
“aba”:2(目标字符出现在开头和结尾,以寻找循环边界错误)。
“bab”:1(目

这是一道来自《Google软件测试之道》的面试题,要求设计测试用例来检查一个Web页面中计算字母a出现次数的功能。文章强调了思考测试背景、用户场景的重要性,并提供了一系列测试点,包括合法输入、错误输入、边界条件、并发使用、安全性和性能等方面。此外,还提出了对界面设计和用户体验的关注。

2万+

被折叠的 条评论
为什么被折叠?



