注册、登陆、修改密码、添加、删除、查询的测试⽤例设计客户要求⽤户名的长度是4-20个字符, 密码长度6-16个字符
⼀、注册
  以等价类划分和边界值法来分析
  1、⽤户名字和密码都为最⼤长度 (边界值分析,取上点)
  2、⽤户名字和密码都为最⼩长度 (边界值分析,取上点)
  3、⽤户名字和密码长度在最⼤和最⼩长度之间(边界值分析,取内点)
  4、必填项分别为空注册
  5、⽤户名最⼤长度+1(边界值分析,取离点)
  6、⽤户名最⼩长度-1 (边界值分析,取离点)
  7、密码最⼤长度+1(边界值分析,取离点)
  8、密码最⼩长度-1(边界值 分析,取离点)
  9、⽤户名含有⾮法字符注册(这个可以划分⼏个⽆效的等价类,如空格,#等,看需求是否允许)
  10、密码含有⾮法字符注册(这个可以划分⼏个⽆效的等价类)
  11、两次输⼊密码不⼀致(如果注册时候要输⼊两次密码,那么这个是必须的)
  12、重新注册存在的⽤户
  13、以已经注册的⽤户名(改变⼤⼩写)来注册。(有的需求是区分⼤⼩写,有的不区分)
  14、看是否⽀持Tab和enter键等;密码是否可以复制粘贴;密码是否以* 之类的加秘符号显⽰
15、邮箱地址格式不正确,正确格式
16、验证码错误(⼤⼩写、空值、错误输⼊等)
⼆、登陆
1、 ⽤户名和密码都正确
2、⽤户名和密码都错误
3、 ⽤户名正确和密码错误
4、 ⽤户名错误和密码正确
5、⽤户名或密码为空
6、删除的⽤户名和错误密码
7、删除的⽤户名和正确密码
8、未注册⽤户名和错误密码
  9、⽤户名或密码中插⼊空格
10、使⽤Tab,Enter键是否能登陆
11、改变⽤户名或密码的⼤⼩写登陆
12、⽤户名和密码中含有全⾓字符登陆
13、Web系统是否有超时的限制
14、登陆错误次数是否限制
15、密码的安全性是否有强中弱鉴定
备注补充说明:
1.在登录WEB页⾯也可以进⾏压⼒性的测试,⽐如不停的点击登录按扭,或多个⼈同时登录(可⽤loadrunner进⾏压⼒模拟)
2.登录的安全性测试:
a) 是否可以不登陆⽽直接浏览某个页⾯等。
b) Web应⽤系统是否有超时的限制,⽤户登陆后在⼀定时间内(例如15分钟)没有点击任何页⾯,是否需要重新登陆才能正常使⽤。
c) 为了保证Web应⽤系统的安全性,⽂件是⾄关重要的。需要测试相关信息是否写进了⽇志⽂件、是否可追踪,以防⽌被⿊客截取。
d) 当使⽤了安全套接字时,还要测试加密是否正确,检查信息的完整性。
e) 服务器端的脚本常常构成安全漏洞,这些漏洞⼜常常被⿊客利⽤。所以,还要测试没有经过授权,就不能在服务器端放置和编辑脚本的问题。
f) 有的在线登录系统会有“回密码”,这样我们在测试是就⼀定要注意回密码的条件(回密码条件安全级应等同于或⾼于密码安全级)和此时的⽹络安全性。
3. 登录在易⽤性上要求也是较⾼的,以次我们也可以参照⽤户的观点以及安全性上考虑给出⼀个标准:
a) 界⾯的美观程度
b) 按扭的设置和排列
c) 输⼊提⽰的⼈性化考虑
d) 错误提⽰的准确性
e) 验证码的清晰度和复杂程度
关于⾃动化测试⼯具在登录性能测试上的缺陷及解决办法
现在越来越多的⽹站为了安全性或是防⽌Spam的侵害,采⽤了验证码的校验技术。简单地说,验证码就是在进⾏登录或是内容提交的时候,页⾯上会随机出现⼀个⼈⼯可识别,但机器不可识别的验证字符串(⼀般是采⽤背景、扭曲等⽅式产⽣的图⽚),要求登录或是提交内容时同时输⼊这个验证码。
验证码可以有效防⽌对⼝令的刺探和所谓的⽹络推⼴软件带来的⼤量的Spam内容,⽬前已经被许多Internet或是Intranet应⽤接受为标准的实现⽅式。但对性能测试来说,这种验证码⼜带来了很⼤的问题。
最突出的问题是,性能测试⼯具本⾝是⾃动化⼯具,由于这种验证码采⽤的是“防⽌⾃动化⼯具尝试”的⽅法,因此,在录制了脚本之后会发现,很难对脚本进⾏调整,以使其适应验证码验证的需要。对这个问题,我个⼈的看法是,基本上可以考虑从三个途径来解决该问题:1、第⼀种⽅法,也是最容易想到的,在被测系统中暂时屏蔽验证功能,也就是说,临时修改应⽤,⽆论⽤户输⼊的是什么验证码,都认为是正确的。这种⽅法最容易实现,对测试结果也不会有太⼤的影响(当然,这种⽅式去掉了“验证验证码”这个环节,不过这个环节本来就很难成为系统性能瓶颈)。但这种⽅法有⼀个致命的问题:如果被测系统是⼀个实际已上线的系统,屏蔽验证功能会对已经在运⾏的业务造成⾮常⼤的安全性的风险,因此,对于已上线的系统来说,⽤这种⽅式就不合适了;
2、第⼆种⽅法,在第⼀种⽅法的基础上稍微进⾏⼀些改进。第⼀种⽅法带来了很⼤的安全性问题,那
么我们可以考虑,不取消验证,但在其中留⼀个后门,我们设定⼀个所谓的“万能验证码”,只要⽤户输⼊这个“万能验证码”,我们就验证通过,否则,还是按照原先的验证⽅式进⾏验证。这种⽅式仍然存在安全性的问题,但由于我们可以通过管理⼿段将“万能验证码”控制在⼀个⼩的范围内,⽽且只在性能测试期间保留这个⼩⼩的后门,相对第⼀种⽅法来说,在安全性⽅⾯已经有较⼤的改进了;
3、如果安全性对应⽤来说真的是⾄关重要的,不容许有⼀丝⼀毫的闪失,那我们还可以⽤更进⼀步的⽅法来处理这个问题。⼀般的性能测试⼯具(loadrunner等)都能够调⽤外部的组件接⼝,因此,可以考虑获得“验证码验证”部分的实现,写⼀个验证码获取的代码,在测试脚本中进⾏调⽤即可。
⼀般,第⼆种⽅法⽤得⽐较多,对未上线系统系统的内部性能测试,有时候也⽤第⼀种⽅法。但要提醒的是,如果针对的是已上线系统,⽆论⽤哪种⽅法,测试完成后,都必须⽴刻将应⽤恢复,并对系统进⾏⼀次安全审计,以免在测试期间被他⼈⼊侵。第三种⽅法⽤得⽐较少,⽽且具体上还依赖于验证组件是否能提供这样的接⼝,以及获取验证码开发的难度。
三、修改密码
  1、不输⼊旧密码,直接改密码
  2、输⼊错误旧密码
  3、不输⼊确认新密码
  4、不输⼊新密码
  5、新密码和确认新密码不⼀致
  6、新密码中有空格
  7、新密码为空
  8、新密码长度为最⼤长度
  9、新密码为最⼤长度与最⼩长度之间
  10、新密码长度为最⼩长度
  11、新密码为最⼤长度+1
  12、新密码为最⼤长度-1
  13、新密码为最⼩长度+1
  14、新密码为最⼩长度-1
  15、新密码为⾮法字符(如有的密码要求必须是英⽂和数字组成,如中⽂汉字)
  16、检查是否⽀持Tab和Enter键等;密码是否可以复制粘贴;密码是否以* 之类的加密符号
  17、检查密码是否区分⼤⼩写,新密码中英⽂⼩写,确认密码中英⽂⼤写.
  18、新密码与旧密码⼀样能否修改成功.
四、添加
  1、要添加的数据项均合理,检查数据库中是否添加了相应的数据
  2、留出⼀个必填数据为空
  3、按照边界值等价类设计⽤例的原则设计输⼊项的测试⽤例
4、不符合要求的地⽅要有错误提⽰
web端登录
  5、是否⽀持table键
6、按enter是否能保存
7、若提⽰不能保存,也要察看数据库⾥是否多了⼀条数据
五、 删除
 1、删除⼀个数据库中存在的数据,然后查看数据库中是否删除
  2、删除⼀个数据库中并不存在的数据,看否有错误提⽰,并且数据库中没有数据被删除
3、输⼊⼀个格式错误的数据,看是否有错误提⽰,并且数据库中没有数据被删除。
4、输⼊的正确数据前加空格,看是否能正确删除数据
5、什么也不输⼊
6、是否指出table键
7、是否⽀持enter键
六、查询
   精确查询:
  1、输⼊的查询条件为数据库中存在的数据,看是否能正确地查出相应得数据
2、输⼊正确的查询条件以前加上空格,看是否能正确地查出相应的数据
  3、输⼊格式或范围不符合要求的数据,看是否有错误提⽰
4、输⼊数据库中不存在的数据
  5、不输⼊任何数据
6、是否⽀持table键
7、是否⽀持enter键
  模糊查询:
  在精确查询的基础上加上以下⼀点:
  1、输⼊⼀些字符,看是否能查出数据库中所有的相关信息

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。