笔试考官:在你的项目中,给出一个模块,讲一下测试点。
测试:我以登录模块为例!
在软件测试中,登录模块是必不可少的。 对于这个模块,本文从功能、页面、性能等方面进行讨论:
第一:功能测试:
输入错误的用户名和密码无法登录;
用户名正确javascript 验证 数字,密码错误,是否提示密码错误;
用户名错误,密码正常,是否提示输入错误的用户名;
用户名和密码均错误,是否有相应提示;
当用户名和密码为空时,是否有相应的提示;
如果用户未注册,请先注册,再登录;
已经注销的用户登录失败,提示信息友好;
密码框是否加密并显示;
用户名是否支持英文和特殊字符;
用户名是否有宽度限制;
密码是否支持英文和特殊字符;
密码是否有宽度限制;
密码是否区分大小写;
当密码为一些简单常用字符串时是否提示修改密码;
密码存储方式,是否加密;
登录功能是否需要输入验证码;
验证码有效时间;
如果验证码输入错误,则登录失败,提示信息友好;
输入过期验证即可登录成功;
验证码是否易于识别;
是否有修改验证码的功能;
点击验证码图片可更改验证码;
系统分为普通用户、高级用户等,不同用户登录系统后授予的权限是否不同;
如果使用第三方账号(QQ、陌陌等)登录,如何保存第三方账号与本系统账号体系的对应关系;
首次登录是否需要授权。
二:页面测试:
登录页面是否正常显示;
文字、图片能否正常显示,相应的提示信息是否正确;
按钮的设置和排列是否正常,页面是否简洁、华丽等;
页面默认焦点是否位于用户名输入框;
首次登录时对应的输入框是否为空,或者是否有默认的副本,点击输入框时默认方案是否消失;
相应的按钮(登录、重置等)是否可用;
页面的前进、后退、刷新按钮是否可用;
快捷键Tab、Esc、Enter等,可以控制使用;
不同浏览器、不同操作系统、不同码率下界面是否正常。
三:安全测试:
不登录javascript 验证 数字,登录后直接输入地址,确认是否可以直接进入;
登录成功后生成的cookie是否为httponly(否则很容易被脚本窃取);
用户名和密码是否以加密形式发送到Web服务器;
用户名和密码的验证应该由服务器端进行验证,而不仅仅是客户端的javascript验证;
用户名和密码输入框应屏蔽SQL注入攻击;
用户名和密码的输入框应严格禁止输入脚本(避免XSS攻击);
错误登录次数(时间)限制(避免暴力破解);
考虑是否支持多用户在同一台机器上登录;
考虑一个用户登录到多台机器上。
四:性能测试:
单用户登录系统响应时间是否符合“3-5-8”原则;
当用户数量达到临界点时,并发登录能否遵守“3-5-8”原则;
压力:大量并发用户登录,系统响应时间如何,系统会不会出现宕机、内存泄漏、CPU饱和、登录困难等情况;
系统可以处理临界点内并发用户数连续登录N个的场景。
五:兼容性测试:
主流浏览器(IE6、Firefox、Chrome、Safari等);
不同平台,如Windows、Mac等;
联通设备,如Iphone、Andriod;
不同帧率都可以正常显示。
六:其他测试:
如果连续输入错误密码3次及以上,该用户将被锁定一定时间;
一定时间内不允许登录,超出时间点是否可以继续登录;
用户的session过期后,是否重新登录可以返回到session过期前的页面;
用户名和密码输入框是否支持鼠标快捷键,如撤消、复制、粘贴等;
是否允许同名用户同时登录进行操作,考虑web和app同时登录;
使用手机登录时,是否先判断网络是否可用;
手机登录时,是否先判断是否有新版本的app;
是否支持单点登录;
有没有埋地插座。
发表评论