51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 6005|回复: 8
打印 上一主题 下一主题

[原创] 大家讨论一下这样用户登陆的需求,如何编写测试用例

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-7-23 11:44:27 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
一、功能描述
        用户根据系统账号和口令登陆测试之星,执行对应权限的操作功能
二、前置条件
        服务器正常启动
        成功安装“测试之星”客户端
        正确配置“测试之星”系统启动参数
三、执行步骤
        1、双击桌面“测试之星”快捷方式,或在【开始->程序->测试之星->测试之星】系统菜单启动测试之星
        2、如果参数设置为自动登陆,则系统自动根据配置的默认用户名/口令登陆,登陆失败则显示登陆窗口(显示默认的
           用户名和口令)
        3、系统显示登陆界面,标签显示测试之星软件版本号,显示配置的用户名和口令,全选用户名。键盘输入用户名则显示
           输入的用户名,回车则跳转到口令输入框,默认全选口令。用户名必须是[2,10]数字和a~Z字母的组合,不能有特
           殊字符,区分大小写
        4、口令输入必须暗文(*)显示,为[6,20]位的数字和a~Z字符组合,不区分大小写,口令不能为空,
        5、在口令输入框中,按回车键或按"登陆"按钮,系统显示登陆进度条
        6、如果用户名不存在,系统提示框提示"登陆失败,用户不存在",确认后重新显示登陆框,自动全选用户名。
        7、如果口令错误。系统提示框提示"登陆失败,口令错误",确认后重新显示登陆框,自动全选口令。
        8、如果用户三次登陆系统失败,则提示用户"三次登陆失败,只能超级用户登陆",系统显示登陆窗口,用户名输入框
           显示"admin",灰色显示,不能修改。口令输入框内容为空
        9、进度条显示如下7个登陆步骤。
                (1)连接服务器:如果服务器连接不成功,系统提示失败原因,确认后退出系统
                (2)验证用户有效性:用户登陆失败,系统提示失败原因,确认后重新登陆;
                (3)配置本地配置信息
                (4)读取服务器配置信息
                (5)初始化主界面
                (6)加载用户权限
                (7) 开发页面显示"装载问题单... "
            测试页面显示"装载用例..."
            需求页面显示"装载需求规格..."
        10、点"取消"按钮,退出测试之星
四、输入输出
输入:
        用户名和口令
输出:
        用户的可操作功能模块主界面
五、后置条件
        根据用户权限显示系统主界面。
        1、根据用户权限显示对应的菜单模块,没有权限的菜单不显示
        2、根据用户权限显示对应的工具栏按钮,没有权限不显示,或灰化显示
        3、根据用户默认视图设置信息显示不同的视图界面:
                (1)需求:默认显示需求管理界面,自动显示查看权限的一级需求树
                (2)测试:默认显示测试管理界面,自动显示查看权限的一级用例树
                (3)开发:默认显示问题单查询界面
六、界面规格

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

9#
发表于 2012-5-4 15:15:32 | 只看该作者
你们都太强了。。。。一个登录就写这么多用例,那……
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2008-8-1 00:18:56 | 只看该作者
排版怎么改了也乱,晕.
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2008-8-1 00:16:12 | 只看该作者
我才对软件测试有点接触..写些自己的观点, 不要笑话..

用户名和密码的 等价类划分.
              有效等价类                 无效等价类
用户名长度    2<=longth[name]<=10    为空
                                         longth[name]<2
                                   longth[name]>10
用户名类型    数字和a~Z字母的组合        为空
                                         含非法字符
密码长度      6<=longth[pw]<=20      为空
                                         longth[pw]<6
                                   longth[pw]>20
密码类型      数字和a~Z字母的组合        为空
                                         含非法字符

用户名和密码基本的测试用例应包括以下
1.正确用户名   正确密码
2.正确用户名   错误密码
3.正确用户名   密码为空
4.用户名为空   正确密码
5.用户名为空   错误密码
6.用户名为空   密码为空
7.错误的用户名 正确密码
8.错误的用户名 错误密码
9.错误的用户名 空的密码

[ 本帖最后由 淡淡绿茶 于 2008-8-1 00:18 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2008-7-30 09:00:09 | 只看该作者
需求规格里面描述了很多内容,如果只测试这些,是不是覆盖不了需求的要求
我设计了如下的用例,大家给点意见,是否合理。我担心写的太多了,也担心写的太少了。
1、输入校验 - 粘贴口令
2、输入校验 - 粘贴合法的用户名
3、输入校验 - 粘贴不合法的用户名(特殊字符)
4、输入校验 - 粘贴不合法的用户名(长度)
5、输入校验 - 用户名限制 - 特殊字符
6、输入校验 - 用户名限制 - 长度限制
7、输入校验 - 用户名/口令获得焦点,自动全选
8、输入校验 - 口令无字符限制
9、输入校验 - 口令长度限制
10、输入校验 - 拷贝用户名
11、输入校验 - 拷贝口令
12、输入校验 - 回车键盘跳转响应
13、输入校验 - Tab键盘跳转响应
14、取消 - 取消按钮
15、取消 - 取消"X"
16、界面检视 - 自动全选用户名
17、界面检视 - 口令显示为"*"掩码
18、界面检视 - 登陆
19、登陆 - 自动失败登陆
20、登陆 - 自动成功登陆
21、登陆 - 用户已停用
22、登陆 - 用户名正确,口令正确
23、登陆 - 用户名错误(用户名为空)
24、登陆 - 用户名错误(用户名大小写不匹配)
25、登陆 - 用户名错误(用户名不存在)
26、登陆 - 显示需求视图
27、登陆 - 显示开发视图
28、登陆 - 显示测试视图
29、登陆 - 三次登陆失败
30、登陆 - 口令错误(用户名正确口令不匹配)
31、登陆 - 口令错误(口令为空)
32、登陆 - 服务器尚未启动
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-7-24 17:46:51 | 只看该作者
我觉得写用例也得从宏观和微观的角度来考虑
首先:你要知道,你用例的目的是什么  这是宏观角度
其次:才是考虑我具体实现的方式  这是微观角度
就象我上面所说的
我写4个用例  就是为了验证  正确的用户名错误的密码,不存在的用户名,正确的用户名和密码,取消这几种情况是不是程序能给出正确的反应
如果测试通过的话  针对用户名 我再用非法字符,超长字符等等方法去设计用例 至于具体实现的方式就看平时经验的累计以及对业务知识的熟悉程度了
所谓从大到小  从整体到局部  我觉得应该是这样考虑
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2008-7-24 17:36:21 | 只看该作者
用例需要写的那么详细吗
如果是我  就写3个用例
1、填写正确的用户名和密码,确定
2、填写不存在的用户名,确定
3、输入错误的密码,确定
4、取消
至于具体测试的数据,应该用什么方法,就靠平时的积累了
写用例不是按照方法去硬邦邦的去套的
比如说我可以设计一组数据是:
用户名:aaa
密码:aaa
(假设数据库中存在该用户且该用户密码为aaa)这是符合1的
用户名:bbb
密码:bbb
(假设数据库中不存在该用户)这是符合2的
用户名:ccc
密码:ddd
(假设数据库中存在该用户且密码为ccc)这是符合3的
然后再对1中的用户名进行等价类划分 有效等价:aaa,bbb,ccc和无效等价:@#/,%,超过系统规定最大长度的字符,中文字符,为空  其中在超过系统规定最大长度字符里你可以用边界值和等价类  比如说系统允许最大输入为100  你可以测试0,1,99,100个字符输入的情况(前提是数据库中存在该数据)
2和3中的用户名的验证和1是等价的
总的来说  写用例不是生搬硬套的 而是根据经验来写   各种方法需要灵活运用  每个方法不是独立的  有时候你需要结合两种甚至是更多种方法来设计用例  至于你所说的那么多种方法  是前辈们在实际工作中总结出来的  当你写了一段时间的用例  你会发现 其实你在写用例的过程中,很多方法都用到过了
这是个人的一点想法  欢迎大家拍砖
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2008-7-24 12:36:05 | 只看该作者
我是说怎么划分测试用例
比如说用例覆盖度等
怎么应用等价方法等
回复 支持 反对

使用道具 举报

该用户从未签到

2#
发表于 2008-7-23 13:30:39 | 只看该作者
你这不是说的很明白了吗,就按照你写的那样,多想点例外情况完善下
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-12 06:37 , Processed in 0.072833 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表