软件测试面试题-“登录”功能有哪些测试点?

在面试的过程中,经常会有面试提问“登录都有哪些测试点?”

面试官的初衷是想了解求职者的测试思维,看看求职者能回答出多少测试点。

其实笔者并不认为这是一个好的面试问题,笔者并不认为能根据这道题判断出求职者的真实水平。

有的人回答的很“漂亮”,能分别从UI、功能性、容错性、兼容性、安全、易用性、性能等等方面去回答了这个问题,但这能说明这个求职者做工作就能做好吗?

有的人回答时可能只说了功能方面的问题,没有提到类似UI、性能、安全等方面需要怎么去测试,这能表示这位求职者真正做工作时考虑不周吗?

回答的“漂亮”可能只是看过这道面试题的“参考答案”而已。

有的求职者回答时没有提到UI类的测试点,面试官可能就觉得测试思维不缜密,但是可能却忘记了,若是真给到这个测试一个UI有问题的登录页面,他即使没有写对应的用例,也可以发现UI的bug。

吐槽归吐槽,鉴于这个问题仍然被广泛的使用,给大家分享一下所谓的“参考答案”吧。

问题:登录界面,包括用户名、密码、验证码和登录按钮,说一下测试点。

这里需要注意一下:

有的同学可能会回答说,用户名输入不同字符组合、或者不同长度的字符串,然后去看看能否登录——若是这样想,那是没有搞清楚注册和登录的区别。

还有的同学可能会搞不清楚测试点是什么意思,回答的时候跟说用例似的,这也会给面试官留下糟糕的印象——测试点,简单来说就是测试用例的标题。

下面说一下测试点:

功能测试

1.正确的用户名和密码能正常登录。

2.输入错误的用户名或者密码, 登录会失败,并给出相应提示

3.登录成功后跳转到正确的页面

4.用户名和密码空格trim

5.密码掩码显示

6.验证码切换

界面测试

1.布局是否合理、美观,输入框是否对齐

2.风格和提示信息用语是否符合语境

性能测试

1.响应时间

安全性测试

1.登录成功后生成的Cookie,是否是httponly (否则容易被脚本盗取)

2.用户名和密码是否通过加密的方式,发送给Web服务器

3.用户名和密码的验证,应该是前端验证+服务器端验证, 而不能单单是在客户端用javascript验证

4.用户名和密码的输入框,无SQL 注入攻击风险

5.用户名和密码的的输入框,不能输入脚本 (防止XSS攻击)

6.错误登录的次数限制(防止暴力破解)

7.验证码不能被轻易破解、欺骗

兼容性测试

1.主流的浏览器下能否显示正常

2.不同的操作系统是否能正常工作

3.移动设备上是否正常工作

4.不同的分辨率

易用性测试

1.根据场景,考试是否提供记住用户名密码、自动登录的功能

2.输入账号后,回车登录



留言