软件测试中测试用例设计--错误推测方法
1、方法定义:
基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法。
2、思路:
分析程序中最易出错的场景和情况,在此基础上有针对性的设计测试用例。需要完成的前提条件如下:
A、深度熟悉被测系统的业务、需求。
B、对被测系统或类似系统之前的缺陷分布情况进行过系统的分析。包括功能缺陷,数据缺陷,接口缺陷和界面缺陷等等。
3、测试用例举例
(1)聊天窗口功能
A、输入特殊字符(全角,半角)后,窗口是否能够正常显示
B、输入空格,是否能够过滤,是否会算入长度计算
C、输入html字符
D、输入脚本语言函数
E、在需要密码验证,或者需要二次输入确认的地方,通过复制粘贴第一次的输入内容是否能够通过
(2)查询功能
A、无条件查询
B、是否支持模糊查询
C、查询的关键字之间是否可用连接符
D、输入正确的查询条件以前加上空格,看是否能正确地查出相应的数据
(3)登录功能
A、输入的数据前存在空格,是否能够正常登录
B、输入的密码是否能够加密显示
C、用户在注销之后是否能够再登录成功
4、优缺点
优点:充分发挥个人的经验和潜能,命中率高
缺点:覆盖率难以保证;过多的依赖于个人的经验
http://blog.csdn.net/jx9746/archive/2009/12/27/5086651.aspx
功能测试用例库
1.输入验证
输入验证主要包括:数字输入验证、非法字符输入验证、输入长度验证、必填项验证和信息提示
1.数字输入验证:分别输入数字(正数、负数、零值、单精度、双精度)、字符串、空白值、空值、临界数值。不合法的输入,系统给出必要的判断提示信息
2.字符输入验证:分别输入单字节字符、双字节字符、大小写字符、特殊字符、空白值、空值。不合法的输入,系统给出必要的判断提示信息
3.日期、时间输入验证:分别输入任意字符、任意数字、非日期格式的数据、非正确日期(错误的闰年日期)、空值、空白值。不合法的输入,系统给出必要的判断提示信息。注:有些系统会不让输入当日以后或者以前的日期、时间;有些系统会通过JavaScript来自动填写日期时间,这时需要注意是否能否人工主观填写输入
4.多列表选择框:测试是否能否多选,列表框中的数据是否能否显示完全。当列表框的数据过多时,需要对数据有一定格式的排序
5.单列表下拉框:测试是否能否手工输入,下拉框中的数据是否能否显示完整。当下拉框的数据很多时,需要对数据有一定格式的排序。如果下拉框数据值过多时,下拉框可能会超出IE显示范围,此种情况不能够被接收
6.大文本输入框 (textArea) :虽然它能够满足大数据量的输入,但最好能够显示地标明输入字符的长度限制,并且应该结合“字符输入验证”进行。需要注意的是,应该允许标点的存在
7.文件输入框输入验证:该输入框主要用做文件上传操作。在测试过程中,应该注意输入文件的扩展名。从测试角度来看,要求开发人员必须对扩展名进行输入限制,并且在适当的地方输入格式提示。当输入是空值等不合法的输入时,系统给出必要的判断提示信息。另外,对于上传的文件大小应该做限制,不宜太大
8.输入字符长度验证:输入字符的长度是否超过实际系统接收字符长度的能力。当输入超出长度时,系统给出必要的判断提示信息
9.必填项验证:输入不允许为空的时候,系统需要有提示用户输入信息功能
10.格式、规则输入验证:当输入需要一定的格式时,系统需要有提示用户输入信息功能。比如身份证号码可以输入18位或者15位,部分身份证最后一位为字母,身份证上生日与身份证号码有一定规则
11.系统错误定位的输入验证:当输入存在问题时,被系统捕获到,此时页面上的光标能够定位到发生错误的输入框
12.单选框、多选框的输入验证:单选框需要依次验证单选框的值是否都有效;多选框需要依次验证多选框的值是否都有效
13.验证码验证:做验证码输入验证时,先结合“字符输入验证”进行测试,然后注意的地方是,当利用IE回退或者刷新时,显示的验证码应该和实际系统验证码一致。如果验证码以图片形式显示,但图片由于其他原因(如网络)不能看到或者显示不完整,系统应该允许进行重新获取,最好不要做整个页面刷新
2. 操作验证(CZ)
该用例库主要针对页面操作
1.页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确
2.相关性检查:删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确
3.检查按钮的功能是否正确:如增、删、改、查等功能是否正确
4.重复提交表单:一条已经成功提交的记录,用IE回退后再提交,看看系统是否做了处理
5.多次IE回退:检查多次使用IE回退的情况,在有回退的地方,回退,回到原来页面,再回退,重复多次,看是否出错
6.快捷键检查:是否支持常用快捷键,如Ctrl+C、Ctrl+V、Backspace等,对一些不允许输入信息的字段,如选人、选日期对快捷方式是否也做了限制
7.回车键检查:在输入结束后直接回车键,看系统处理如何,能否报错
8.上传下载文件检查:上传下载文件的功能是否实现,上传文件是否能打开,对上传文件的格式有何规定,系统是否有解释信息,并检查系统是否能否做到
9.其他验证:在页面上图片的大小不宜太大,需要第三方软件支持时,应该给出必要的信息,比如需要jre的支持,但用户机器还没有安装jre,那么此时在页面上应该有显著的标志来提醒用户进行安装
3. 登录模块测试用例
该用例库主要针对登录模块。需要结合“访问控制验证(FWKZYZ)”用例库
1.登录名输入:进行“输入验证”。需要注意登录名是否区分大小写和空格
2.密码输入:进行“输入验证”
3.提交操作:结合“访问空值验证(FWKZYZ)”。当输入正确的登录名和密码后,该用户能够进入到指定的正确页面。当输入的登录名和密码有误时,系统限制其登录,并且给出适当的提示信息。当遇到错误时,应该进行“错误页面测试”
4.重设操作:当进行重设操作时,当前页面上所有输入项被清空
4. 增加操作测试用例(ZJ)
该用例库主要针对增加操作
1.添加输入内容,进行“输入验证”
2.应该限制重复增加,具体操作:利用网络传输以及服务器的延迟,多次单击“增加”按钮,经常在数据库发现重复提交的数据
3.当增加成功或者失败后,应该有必要的信息提示
4.文件数据的增加:有些增加包含了数据库数据的增加,和一些文件的增加,此时的数据会保存在两个地方,所以测试时,需要对相关的数据做全面的验证
5.文件数据验证:进行“输入验证”值“文件输入框输入验证”。注意:当上传的文件为中文文件名时,上传到服务器后,可能会出现乱码现象。现在一般的做法是将原文件名替换成字母和数字的组合,以克服汉字文件名的弊端,另外,可以增加文件的安全性
5. 删除操作测试用例(SC)
该用例库主要针对删除操作
1.选择需要删除的数据字段。有时候系统会根据ID来删除,有时候系统会根据名称来删除,测试的时候应该多注意,一般要求按照ID来删除,因为根据名称来删除,名称可能会存在重名问题
2.应该限制重复删除。具体操作:利用网络传输以及服务器的延迟,多次单击“删除”按钮,经常在数据库中发现重复提交的数据
3.当删除的数据还有文件时,西药去验证存在数据库中的数据,以及硬盘下的文件是否都被同时删除
4.当数据被删除成功或者失败后,要有响应的信息提示
5.进行“操作验证”
6. 修改操作测试用例(XG)
该用例库主要针对修改操作
1.打开需要修改的数据页面,注意与增加页面相比,只能修改部分数值,例如关键字等是不能被修改的,并且二者数据应该是一致的
2.增加页面上的输入限制与修改页面的输入限制应该一致
3.修改成功或者失败后,应该有相应的信息提示
7. 查询操作测试用例(CX)
该用例库主要针对查询操作
1.条件输入查询,先进行条件输入框的“输入验证”
2.条件组合查询,将多个条件进行组合查询,结果可以通过数据库验证。需要注意的是,整个数据查询和条件查询数据结果条数要一致,另外,如果遇到某天的查询时间段,有的数据库认为一天不包括零点零分,有的数据库认为包括
3.所有查询结果,必须进行一定顺序的排列,可以按照ID或按照名称来排列
4.当查询成功或者失败后,系统应给出必要的信息提示
8. 翻页操作测试用例(FY)
该用例库主要针对翻页操作
1.当数据量很大的时候,需要进行分页显示,每页显示的行数最好不要超过20行,每页列表上最好有序号标识,行与行之间颜色要有一定区分,这样有利于用户的查找
2.翻页按钮应该包括:首页、前一页、后一页、尾页、当前X页、共X页,这些常用按钮和显示,并且按钮都能正常翻页
3.翻页按钮的每页显示的数据要准确,确保没有查不出来的数据,最好的做法就是和数据库结合起来验证
4.页面太多,翻页数据不能全部显示时,系统应该有完善的应对机制,比如值显示当前页的前三页和该页的后三页的页数码
5.当翻到某页时,系统应该有明显的标识,标出该页面所处的页码
9. 错误页面测试(CW)
错误页面是在遇到系统异常的情况产生的友好界面
1.当系统遇到致命错误时,不能将服务器的调试信息出现在页面上,因为这样做会带来不安全,应该给出一个合适的提示信息
2.由于系统繁忙,无法及时给出正确信息时,系统可以给出友好的错误页面,如:“请用户稍后再试”等提示信息
文章来源于领测软件测试网 https://www.ltesting.net/