看你的意思好像是问测试密码框的测试用例,我给出用例的思考点:
以等价类划分和边界值法来分析
填写符合要求的数据注册:密码都为最大长度(边界值分析,取上点)
.填写符合要求的数据注册 :密码都为最小长度(边界值分析,取上点)
.填写符合要求的数据注册:密码都是非最大和最小长度的数据(边界值分析,取内点)
.密码长度大于要求(边界值分析,取离点)
.密码长度小于要求(边界值分析,取离点)
.密码是不符合要求的字符(这个可以划分几个无效的等价类,一般写一两个就行了,如含有空格,#等,看需求是否允许)
其它:
包括出错信息是否合理
特殊字符:比如。 / ' " \ /html 这些是否会造成系统崩溃
注入式bug:比如密码输入个or 1=1
输入的密码是否密文显示
登录后是否会用明文传递参数
首先回答:使用 判定表法 设计用例;
然后回答:再使用 边界值法,等价类法,场景法等;
最后回答:再使用其他的测试方法:如界面测试,易用性测试,兼容性测试等。
修改密码页:
旧密码:
新密码:
确认密码:
确定 取消
1、必填项测试:不输入旧密码,直接改密码----修改失败
不输入新密码,直接改密码----修改失败
不输入确认密码,直接改密码----修改失败
2、输入错误的旧密码----修改失败
3、新密码和确认密码不一致----修改失败
4、旧密码正确,新密码和确认密码为空----修改失败
5、旧密码正确,新密码和确认密码包含空格----修改失败
8、新密码为符合要求的最多字符(上点)----修改成功
9、新密码为符合要求的最少字符(上点)----修改成功
10、新密码为符合要求的非最多和最少字符(内点)----修改成功
11、新密码为最多字符-1(内点)----修改成功
12、新密码为最少字符+1(内点)----修改成功
13、新密码为最多字符+1(离点)----修改失败
14、新密码为最少字符-1(离点)----修改失败
15、新密码为非允许字符(如有的密码要求必须是英文和数字组成,那么要试汉字和符号等)
16、看是否支持tap和enter键等;
17、密码是否可以复制粘贴;
18、密码是否以* 之类的加密符号
19、看密码是否区分大小写,新密码中英文小写,确认密码中英文大写
20、新密码与旧密码一样能否修改成功
21、密码修改成功后是否可以用旧密码登录成功
22、密码修改成功后是否可以用新密码登录成功
23、输入脚本alter("abc")
24、点击【取消】按钮是否能成功取消
边界值法:
范围为[1-10],上点为1和10,离点为0和11,内点为域内得任意点
范围为(1-10],上点为1和10,离点为2和11,内点为域内得任意点
范围为(1-10),上点为1和10,离点为2和9,内点为域内得任意点
具体需求:
有一个登录页面,有一个账号和一个密码输入框, 一个提交按钮。
此题的考察目的:
1、了解需求(测什么都是从了解需求开始);
2、是否有设计 Test Case 的能力
3、是否熟悉各种测试方法;
4、是否有丰富的 Web 测试经验;
5、是否了解 Web 开发;
了解需求:
1、登录界面应该是弹出窗口式的,还是直接在网页里面;
2、账号长度和密码的强度(比如需要多少位、大小写敏感、特殊字符混搭等);
3、界面美观是否有特殊要求?(即是否要进行 UI 测试);
4、····
用例设计:
测试需求分析完成后,开始用例设计,主要可以从以下几个方面考虑:
功能测试(Function Test)
1、输入正确的账号和密码,点击提交按钮,验证是否能正确登录。(正常输入)
2、输入错误的账号或者密码, 验证登录会失败,并且提示相应的错误信息。(错误校验)
3、登录成功后能否跳转到正确的页面(低)
4、账号和密码,如果太短或者太长,应该怎么处理(安全性,密码太短时是否有提示)
5、账号和密码,中有特殊字符(比如空格),和其他非英文的情况(是否做了过滤)
6、记住账号的功能
7、登录失败后,不能记录密码的功能
8、账号和密码前后有空格的处理
9、密码是否加密显示(星号圆点等)
10、牵扯到验证码的,还要考虑文字是否扭曲过度导致辨认难度大,考虑颜色(色盲使用者),刷新或换一个按钮是否好用
11、登录页面中的注册、忘记密码,登出用另一帐号登录等链接是否正确
12、输入密码的时候,大写键盘开启的时候要有提示信息。
13、什么都不输入,点击提交按钮,看提示信息。(非空检查)
界面测试(UI Test)
1、布局是否合理,2 个 Testbox 和一个按钮是否对齐
2、Testbox 和按钮的长度,高度是否符合要求
3、界面的设计风格是否与 UI 的设计风格统一
4、界面中的文字简洁易懂,没有错别字。
性能测试(Performance Test)
1、打开登录页面,需要几秒
2 、输入正确的账号和密码后,登录成功跳转到新页面,不超过 5 秒
安全性测试(Security Test)
1、登录成功后生成的 Cookie 是否有 HttpOnly(降低脚本盗取风险)
2、账号和密码是否通过加密的方式,发送给 Web 服务器
3、账号和密码的验证,应该是用服务器端验证,而不能单单是在客户端用 javaScript 验证
4、账号和密码的输入框,应该屏蔽 SQL 注入攻击
5、账号和密码的输入框,应该禁止输入脚本(防止 XSS 攻击)
6、错误登录的次数限制(防止暴力破解)
7、考虑是否支持多用户在同一机器上登录;
8、考虑一用户在多台机器上登录
可用性测试(Usability Test)
1、是否可以全用键盘操作,是否有快捷键
2、输入账号,密码后按回车,是否可以登录
3、输入框是否可以以 Tab 键切换
兼容性测试(Compatibility Test)
1、主流的浏览器下能否显示正常已经功能正常(IE6~11, FireFox, Chrome, Safari 等 )
2、不同的平台是否能正常工作,比如 Windows, Mac
3、移动设备上是否正常工作,比如 iPhone, Android
4、不同的分辨率
本地化测试 (Localization Test)
1、不同语言环境下,页面的显示是否正确。
软件辅助性测试 (Accessibility Test)
软件辅助功能测试是指测试软件是否向残疾用户提供足够的辅助功能
1、高对比度下能否显示正常(视力不好的人使用)
【解决方法推荐】网站功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。常用的测试方法如下:
1、页面链接检查: 每一个链接是否都有对应的页面,并且页面之间切换工具,如LinkBotPro、File-AIDCS、HTML Link Validater、Xenu等工具。LinkBotPro不支持中文,中文字符显示为乱码;HTML Link Validater只能测试以Html或者htm结尾的网页链接;Xenu无需安装,支持asp、do、jsp等结尾的网页,同时能够生成html格式的测试报告。
2、相关性检查:删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确检查按钮的功能是否正确 如新建、编辑、删除、关闭、返回、保存、导入等功能是否正确。
3、字符类型检查:在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型),看系统是否检查字符类型。
1)标点符号检查:输入内容包括各种标点符号,特别是空格,各种引号,回车键。看系统处理是否正确。
2)特殊字符检查:输入特殊符号,如@、#、$、%、!等,看系统处理是否正确。
3)字符串长度检查: 输入超出需求所说明的字符串长度的内容, 看系统是否检查字符串长度。
4、中文字符处理:在可以输入中、英文的系统输入中文,看会否出现乱码或出错。
检查信息的完整性 在查看信息和更新信息时,查看所填写的信息是不是全部更新,更新信息和添加信息是否一致。
5、信息重复:在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理。
6、检查删除功能:在一些可以一次删除多个信息的地方,不选择任何信息,按“delete”,看系统如何处理,会否出错;然后选择一个和多个信息,进行删除,看是否正确处理。
7、检查添加和修改是否一致:检查添加和修改信息的要求是否一致,例如添加要求必填的项,修改也应该必填;添加规定为整型的项,修改也必须为整型
8、检查修改重名:修改时把不能重名的项改为已存在的内容,看会否处理,报错.同时,也要注意,会不会报和自己重名的错
9、重复提交表单:一条已经成功提交的纪录,返回后再提交,看看系统是否做了处理。对于Web系统检查多次使用返回键的情况 在有返回键的地方,返回到原来页面,重复多次,看会否出错
10、搜索检查:有搜索功能的地方输入系统存在和不存在的内容,看搜索结果是否正确.如果可以输入多个搜索条件,可以同时添加合理和不合理的条件,看系统处理是否正确。
11、输入信息位置:注意在光标停留的地方输入信息时,光标和所输入信息会否跳到别的地方。
12、上传下载文件检查:上传下载文件的功能是否实现,上传文件是否能打开。对上传文件的格式有何规定,系统是否有解释信息,并检查系统是否能够做到。下载文件能否打开或者保存,下载的文件是否有格式要求,如需要特殊工具才可以打开等。
13、必填项检查:应该填写的项没有填写时系统是否都做了处理,对必填项是否有提示信息,如在必填项前加“*”;对必填项提示返回后,焦点是否会自动定位到必填项。
14、快捷键检查:是否支持常用快捷键,如Ctrl+C、 Ctrl+V、 Backspace等,对一些不允许输入信息的字段,如选人,选日期对快捷方式是否也做了限制。
15、回车键检查:在输入结束后直接按回车键,看系统处理如何,会否报错。
16、刷新键检查:在Web系统中,使用浏览器的刷新键,看系统处理如何,会否报错。
17、回退键检查:在Web系统中,使用浏览器的回退键,看系统处理如何,会否报错。对于需要用户验证的系统,在退出登录后,使用回退键,看系统处理如何;多次使用回退键,多次使用前进键,看系统如何处理。
18、直接URL链接检查:在Web系统中,直接输入各功能页面的URL地址,看系统如何处理,对于需要用户验证的系统更为重要。
19、空格检查:在输入信息项中,输入一个或连串空格,查看系统如何处理。如对于要求输入整型、符点型变量的项中,输入空格,既不是空值,又不是标准输入。
20、输入法半角全角检查:在输入信息项中,输入半角或全角的信息,查看系统如何处理。如对于要求输入符点型数据的项中,输入全角的小数点(“。”或“.”,如4.5);输入全角的空格等。
21、密码检查:一些系统的加密方法采用对字符Ascii码移位的方式,处理密码加密相对较为简单,且安全性较高,对于局域网系统来说,此种方式完全可以起到加密的作用,但同时,会造成一些问题,即大于128的Ascii对应的字符在解密时无法解析,尝试使用“uvwxyz”等一些码值较大的字符作为密码,同时,密码尽可能的长,如17位密码等,造成加密后的密码出现无法解析的字符。
22、用户检查:任何一个系统,都有各类不同的用户,同样具有一个或多个管理员用户,检查各个管理员之间是否可以相互管理,编辑、删除管理员用户。同时,对于一般用户,尝试删除,并重建同名的用户,检查该用户其它信息是否重现。同样,提供注销功能的系统,此用户再次注册时,是否作为一个新的用户。
23、系统数据检查:这是功能测试最重要的,如果系统数据计算不正确,那么功能测试肯定是通不过的。数据检查根据不同的系统,方法不同。对于业务管理平台,数据随业务过程、状态的变化保持正确,不能因为某个过程出现垃圾数据,也不能因为某个过程而丢失数据。
24、系统可恢复性检查:以各种方式把系统搞瘫,测试系统是否可正常迅速恢复。
GUI基本测试内容
图形用户界面( GUI )对软件测试提出了有趣的挑战,因为 GUI 开发环境有可复用的构件,开发用户界面更加省时而且更加精确。同时, GUI 的复杂性也增加了,从而加大了设计和执行测试用例的难度。因为现在 GUI 设计和实现有了越来越多的类似,所以也就产生了一系列的测试标准。下列问题可以作为常见 GUI 测试的指南:
窗口:
· 窗口是否基于相关的输入和菜单命令适当地打开?
· 窗口能否改变大小、移动和滚动?
· 窗口中的数据内容能否用鼠标、功能键、方向键和键盘访问?
· 当被覆盖并重新调用后,窗口能否正确地再生?
· 需要时能否使用所有窗口相关的功能?
· 所有窗口相关的功能是可操作的吗?
· 是否有相关的下拉式菜单、工具条、滚动条、对话框、按钮、图标和其他控制可为窗口使用,并适当地显示?
· 显示多个窗口时,窗口的名称是否被适当地表示?
· 活动窗口是否被适当地加亮?
· 如果使用多任务,是否所有的窗口被实时更新?
· 多次或不正确按鼠标是否会导致无法预料的副作用?
· 窗口的声音和颜色提示和窗口的操作顺序是否符合需求?
· 窗口是否正确地被关闭?
下拉式菜单和鼠标操作:
· 菜单条是否显示在合适的语境中?
· 应用程序的菜单条是否显示系统相关的特性(如时钟显示)?
· 下拉式操作能正确工作吗?
· 菜单、调色板和工具条是否工作正确?
· 是否适当地列出了所有的菜单功能和下拉式子功能?
· 是否可以通过鼠标访问所有的菜单功能?
· 文本字体、大小和格式是否正确?
· 是否能够用其他的文本命令激活每个菜单功能?
· 菜单功能是否随当前的窗口操作加亮或变灰?
· 菜单功能是否正确执行?
· 菜单功能的名字是否具有自解释性?
· 菜单项是否有帮助,是否语境相关?
· 在整个交互式语境中,是否可以识别鼠标操作?
· 如果要求多次点击鼠标,是否能够在语境中正确识别?
· 光标、处理指示器和识别指针是否随操作恰当地改变?
数据项:
· 字母数字数据项是否能够正确回显,并输入到系统中?
· 图形模式的数据项(如滚动条)是否正常工作?
· 是否能够识别非法数据?
· 数据输入消息是否可理解?
1、测试密码、用户名是否输入正常;
2、测试密码、用户名输入异常时;
3、测试点下“记住”时是否记住密码与用户名,假如只记下密码或者用户名又将怎样;
4、测试点下“不记住”又记下没,假如记下又怎样;
5、测试点下“记住”,当有多个用户名需要记下时是否正常;
6、测试如何删除已记下的用户名和密码,删除是否真正删除,删除引起其他异常是什么;
……