1、添加、修改功能 (1)是否支持tab键 (2)是否支持enter键
(3)不符合要求的地方是否有错误提示 (4)保存后,是否也插入到数据库中 (5)字段唯一的,是否可以重复添加
(6)对编辑页列表中的每个编辑项进行修改,点击保存,是否保存成功 (7)对于必填项,修改为空、空格或其他特殊符号,是否可以编辑成功 (8)在输入框中,直接回车 (9)是否能够连续添加
(10)在编辑的时候,要注意编辑项的长度限制,有时,添加时有长度限制,但编辑时却没有(添加和修改规则是否一致)
(11)添加时,字段是唯一的,不允许重复,但有时,编辑时,却可以修改为相同字段(相同字段包括是否区分大小写以及在输入内容的前后输入空格) (12)添加含有特殊符号或空格的内容
(13)对于有图片上传功能的编辑框,对于没有上传的图片,查看编辑页面时,是否显示默认图片,如果上传了图片,是否显示为上传图片?
2、删除功能
(1)输入正确数据前加空格,看是否能正确删除? (2)是否支持enter键
(3)是否能连续删除多个产品?当只有一条数据时,能否成功删除 (4)删除一条数据后,能否再添加相同的数据?
(5)当提供能一次删除多条信息的功能时,注意,删除的数据是否正确? (6)不选择任何信息,直接点击删除按钮,看有什么错误提示? (7)删除某条信息时,应该有错误提示信息
3、注册、登录模块
(1)注册成功,但登录失败:注册时,密码设置为一些特殊符号,但登录时,失败 (2)注册时,连续点击提交按钮
(3)注册成功后,页面应该以登录状态跳转到首页
(3)登录时,没区分大小写,注册时,是小写字母,但登录时,用大写字母也能登录进去 (4)登录时,当页面刷新或重新输入新数据时,验证码是否也随之更新
(5)对密码的修改,当把密码修改为很长,或含有特殊符号时,能够修改成功,但却不能成功登录。
4、上传图片测试
(1)文件类型正确,文件大小合适 (2)文件类型正确,文件大小不合适 (3)文件类型错误,文件大小合适
(4)文件类型和大小都合适,上传一个正在使用中的图片
(5)文件类型和大小合适,手动输入一个存在的图片地址来上传
(6)文件类型和大小合适,手动输入一个不存在的图片地址上传 (7)文件类型和大小都合适,手动输入图片名称来上传 5、返回键检查 (1)一条已经成功提交的记录,返回后再提交,看系统是否做了处理 (2)检查多次使用返回键的情况,在有返回键的地方,返回到原来页面重复多次,看是否会出错 6、回车键检查 在输入结束后,直接按回车键,看系统处理如何,是否会报错 7、刷新键检查 在web系统中,使用浏览器的刷新键,看系统处理如何,是否会报错 8、直接URL链接检查 在web系统中,直接输入各功能页面的URL地址,看系统如何处理 9、其他 (1)在测试时,有与网络有关的步骤必须考虑到断网的情况 (2)每个页面都有相应的页面title (3)在测试的时候要尽量考虑在页面出现滚动条时(滚动条上下滚动下),页面显示是否正常 (4)URL不区分大小写 10、测试中,并发情况的考虑 总结了以下两种情况: (1)某个字段是唯一的,当多个用户并发点击产生该字段时,检查系统是怎么处理的 (2)对于电子商务网站,当两个或多个用户并发购买量总和大于产品库存量时,能否购买成功 二、界面和易用性测试 1、界面测试,主要测试网站的界面是否和设计一致,是否有错别字,页面布局是否合理,格式是否正确,是否有相应的错误提示信息等。 2、易用性测试,主要是考察所开发出的功能是否人性化,是否易用,是否符合大多数用户的使用习惯等。 3、对Tab和Enter键的测试。 三、兼容性测试 兼容性测试不只是指界面在不同操作系统或浏览器下的兼容,有些功能方面的测试,也要考虑到兼容性,比如涉及到ajax、jquery、javascript等技术的,都要考虑到不同浏览器下的兼容性问题。 四、链接测试 主要是保证链接的可用性和正确性,它也是网站测试中比较重要的一个方面。
五、业务流程测试 业务流程,一般会涉及到多个模块的数据,所以在对业务流程测试时,首先要保证单个模块功能的正确性,其次就要对各个模块间传递的数据进行测试,这往往是容易出现问题的地方,测试时一定要设计不同的数据进行测试。 六、安全性测试 (1)SQL注入 (2)XSS跨网站脚本攻击:程序或数据库没有对一些特殊字符进行过滤或处理,导致用户 所输入的一些破坏性的脚本语句能够直接写进数据库中,浏览器会直接执行这些脚本语句,破坏网站的正常显示,或网站用户的信息被盗,构造脚本语句时,要保证脚本的完整性。 document.write("abc") <script>alter("abc")</script> (3)URL地址后面随便输入一些符号 (4)验证码更新问题 1. 在购物网站中如果就剩一个商品了 然后多个人同时去点击购买的时候会怎么处理。 2.搜索功能 (1)比较长的名称是否能查到? (2)空格 或空 (3)名称中含有特殊字符,如:' $% & *以及空格等 (4)关键词前面或后面有空格 (5)如果支持模糊查询,搜索名称中任意一个字符是否能搜索到 (6)输入系统中不存在与之匹配的条件 (7)两个查询条件是否为2选1,来回选择是否出现页面错误 (8)输入脚本语言,如:<script>alter(“abc”)</script>等 3.添加、修改功能 (1)是否支持tab键 4. 安全测试: 在输入框中输入 >'><script>alert(“XSS”)</script>后,竟然能执行,记录下来....... 查询输入 (1)分别对单条件进行精确查询 (2)输入长度的检验,输入允许的最长值进行查询,是否支持 (3)两个查询条件是否为2选1,来回选择是否出现页面错误 (5)输入特殊字符 (6)输入数字 (7)输入汉字 (8)输入关系表达式 与、或、异或、非、等于 (9)输入空格 (10)条件中含有空格 (11)输入超长字符 (12)输入全角字符 (13)输入单引号(14)输入单引号引起来的数据 (15)输入双引号 (16)输入双引号引起来的数据 (17)如果支持模糊查询,输入部分查询条件 (18)输入系统中不存在与之匹配的条件 查询结果检查 (1)查询结果按什么顺利排序 (2)查询结果是否根据字段显示排序功能 (3)查询结果是否有分页,如果有,每页最多包含多少记录 (4)查询结果是否匹配 (5)查询结果是否与数据库一致 (6)查询结果是精确查询还是模糊查询 UI验证 (1)文字显示是否正确 (2)页面是否有错别字 (3)输入框大小、文字大小是否合适 (4)页面是否美观 (5)查询结果字段显示是否与需求一致 性能方面 (1)查询处理时间是否能接受 (2)数据库中存在大数据量数据时,查询时间是否能接受 (3)当多个用户同时查询时,输入相同或不同的查询条件系统响应是否及时 对于查询功能,同样可以从以下几个方面来进行用例的设计: 1、功能方面考虑:应用边界值和等价类划分法进行用例的设计 边界值:输入最大长度的文本,能否搜出来?输入空格或空,能否搜索出来? 等价类:要考虑到一些特殊符号的输入查询。 2、易用性方面 3、界面方面 4、安全角度:比如输入一些脚本语言,看是否执行,主要是防XSS攻击问题 5、性能角度:查询效率、并发、响应时间问题的考虑 网页安全缺陷 现在网站开发已经注意到:登陆网站进入其内部网页后,直接拷贝网址,然后粘贴到另一IE窗口输入,可以绕过登陆直接访问。也许商业网站很关注这个问题,但是很多行业软件却很容易忽略。 网页安全缺陷还可能存在于IE弹出的子窗口。有些设计不严格的软件,在主页面关闭的时候子页面还可以运行,这是一个明显的漏洞,而且还大大增加了错误发生的几率。
判断顺序/逻辑缺陷 对界面进行多个输入判断的时候,非常容易出现这种问题。例如判断年月顺序,判断长度,判断非空等。假如操作员仅仅满足单个条件,保存不能成功;而按界面从上之下顺序一一满足条件之后,保存是没有问题的。但是,改变一下输入的次序,校验失效。例如,一一满足条件之后,不保存,倒过来将上面的输入改成非法输入,然后保存,结果居然也能成功,这是因为原先的判断由于发生过,或者根据语句顺序只检查最后一个判断,所以没有报错。这种错误尤其在Java scrīpt脚本的页面中要注意。能够保存不能保证数据正确,有可能引起系统崩溃或者后续数据错误。所以,在测试的时候,不要按照正常的顺序输入,而是要打乱步骤,看看代码是否强健,是否在判断逻辑上没有错误。良好的代码应该经得起折腾,至少保存时会再此全部进行判断,而不只是简简单单走到判断的最后一行。 调试语句和冗余信息 维护项目和升级改造的推广系统最容易潜伏这类缺陷。典型表现在没有删除或者屏蔽调试语句。弹出一个界面不友好的提示信息,会使不明真相的用户产生误以为系统发生了严重故障,从而引起对软件的不信任感。页面中某个角落存在当前客户不需要的冗余按钮和功能也是一种缺陷。多余的功能会使用户以为是额外附加部分而去使用,其结果可想而知;而多余的按钮会误导好奇心强的用户操作,产生不必要的错误。 同样值得关注的还有参数设置,由于没有实际数据,开发人员在调试或者单元测试的时候,习惯性的进行自我设定而忘了删除,软件测试人员可能会忽略掉了这部分测试,也可能导致在客户现场发生错误而影响系统发布和验收。 不可重现的故障 新参加软件测试的人员或者新来的开发人员总是要问,不可重现的缺陷是否需要记录,有必要吗?回答是肯定的。测试必须如实的记录发生的问题,也许不能重现,或者使非软件系统本身问题,但是,可能这些偶然性背后是有规律的,不记录这些,就不可能发现这些规律。 多节点的逆向流转缺陷 当前软件不少喜欢使用工作流来驱动。工作流的问题,就是可能出现多个流向分支。测试容易忽略的部分,就是工作流多节点的逆向流转。例如,通过不通过涉及两个分支,但是流程逆转的时候,有可能不是回到上一节点而是平级的另一个节点去了。软件测试要格外注意这类用例的设计。另外,有些时候默认分支在向前的时候是有默认值的,例如默认通过,那么保存的时候要提示用户是否通过,否则可能由于操作疲劳而走错了节点,引起回退。 输入框缺陷 试过往输入框粘贴数据而不是直接输入吗?可能这里会出现问题。按Ctrl+V的时候,输入框会根据长度大小自动截断输入长度。但是用鼠标,截断可能会失效。有一次测试人员就是用这种方法把一篇Word文档输入进去了,保存的时候,数据库崩溃。有些网站登陆的口令****可以拷贝下来的,只要放在剪贴板里面马上明文显示。(在以后的测试中需要注意的)