原文地址:
http://www.51testing.com/html/79/n-3720779.html
在测试用例编写的过程中,需要按照一定的思路进行,而不是随心所欲想到哪写哪。在测试过程中,按照一定的框架的思路能够帮助我们更好的写出测试用例。
功能测试框架可以包括:
(1)界面友好性测试
包括界面风格、样式、颜色是否协调
界面布局是否整齐、协调
界面操作、标题是否恰当
操作是否符合人们的常规习惯
提示界面是否符合规范
界面中各个控件是否对齐
日期控件是否可编辑
对于信息较长的文本,文本框是否提供自动竖直滚动条
数据录入控件是否方便
是否支持Tab键,键的顺序是否有条例,不乱跳
有无提供相关的热键
模块调用是否同意,相同的模块是否调用同一个界面
日期的格式是否正确
页面是否有多余的按钮或标签
窗口的最大化、最小化是否能正常切换
执行风险操作时,是否有确认、删除等提示
正确性检查:检查页面上的form,button,table,header,footer提示信息,以及其他文字拼写,句子的语法等是否正确
系统应该在用户执行错误的操作之前提出警告,提示信息
页面分辨率检查,在各种分辨率浏览系统检查系统界面友好性
合理性检查:delete,update,add,cancel,back等操作后,查看信息回到的页面是否合理
背景灰度冻结
(2)功能测试
使用所有默认值进行测试
根据所有产品文档、帮助文档中描述的内容进行遍历测试
输入判断
所有界面出现是和否的逻辑,需要测试
异常处理
敏感词
根据需求文档的流程图遍历所有流程图路径
根据程序内容,遍历if elif else switch的逻辑点遍历
界面各种控件测试
2.1)字符型输入框
字符型输入框:英文全角、英文半角、数字、空或者空格、特殊字符“~ ! @ # ¥ % …… & * ? 【】 {}”,特别要注意单引号和&符号。禁止直接输入特殊字符时,使用“粘贴、拷贝”功能尝试输入。
长度检查:最小长度、最大长度、最小长度-1、最大长度+1、输入超工字符,比如把整个文章拷贝过去
空格检查:输入的字符间有空格、字符前有空格、字符后有空格、字符前后有空格
多行文本框输入:允许回车换行、保存后再显示能够保存输入的格式、仅输入回车换行、检查能否正确保存(若能,检查保存结果,若不能,检查是否有正常提示)
安全性检查:输入特殊字符串(null,NULL,<script></script>,<title>,<html>,<td>),输入脚本函数(<script>alert("abc")</script>、document.write("abc")、<b>hello</b>)
2.2)数值型输入框
边界值:最大值、最小值、最大值+1、最小值-1
位数:最小位数、最大位数、最小位数-1、最大位数+1、输入超长值、输入整数
异常值、特殊字符:输入空白(NULL)、空格或"~!@#$%^&*()_+{}|[]:"<>?;./?;:'-=等可能导致系统错误的字符、禁止直接输入特殊字符时,尝试使用粘贴拷贝查看是否能正常提交、word中的特殊功能,通过剪贴板拷贝到输入框,分页符,分节符类似公式的上下标等、数值的特殊符号如求和符,log,ln,取整,+,-等
输入负整数、负小数、分数、输入字母或汉字、小数(小数前0点舍去的情况,多个小数点的情况)、首位为0的数字如01、02、科学计数法是否支持1.0E2、全角数字与半角数字、数字与字母混合、16进制、8进制数值、货币型输入(允许小数点后面几位)
安全性检查:不能直接输入就copy
2.3)日期型输入框
合法性检查:(输入0日、1日、32日)、月输入【1、3、5、7、8、10、12】、日输入【31】、月输入【4、6、9、11】、日输入【30】【31】、输入非闰年,月输入【2】,日期输入【28、29】、输入闰年,月输入【2】、日期输入【29、30】、月输入【0,1,12,13】
考虑开始日期与结束日历的比较,特别是在查询的时候
异常值、特殊字符:输入空白或NULL、输入~!@#$%^&*(){}[]等可能导致系统错误的字符
安全性检查:不能直接输入,就copy,是否数据检验出错?
(3)业务流程测试
在对业务流程进行测试时,首先要保证单个模块功能的正确性,其次就要对各个模块间传递的数据进行测试,测试时要设计不同的数据进行测试。
如某一个功能模块具有最基本的增删改查功能,则需要进行以下测试:
单项功能测试(增加、修改、查询、删除)
增加-------->增加------->-------->增加(连续增加测试)
增加-------->删除
增加-------->删除-------->增加(新增加的内容与删除内容一致)
增加-------->修改-------->删除
修改--------->修改--------->修改(连续修改测试)
修改--------->增加(新增加的内容与修改前内容一致)
修改---------->删除
修改--------->删除---------->增加(新增加的内容与删除内容一致)
删除--------->删除----------->删除(连续删除测试)
(4)链接测试
主要是保证链接的可用性和正确性,它也是网站测试中比较重要的一个方面
可以使用特定的工具如XENU来进行链接测试
(5)容错测试
输入系统不允许的数据作为输入
把某个相关模块或者子系统停掉,验证对当前系统的影响
配置文件删除或者配置错误
数据库注入错误数据
(6)稳定性测试
系统不间断运行(7*24),验证是否内存泄露、系统其它资源是否存在泄露
如果很紧急上线,可以跑一晚上或者周末跑两天
(7)常规性能测试
7.1)连接速度测试
7.2)负载测试
负载测试是为了测量web系统在某一负载级别上的性能、以保证Web系统在需求范围内能正常工作。
负载级别可以是某个时刻同时访问Web系统的用户数量,也可以是在线数据处理的数量。例如:WEB应用系统能允许多个用户同时在线?能够处理大量用户对同一个页面的请求?
7.3)压力测试
进行压力测试是指实际破坏一个Web应用系统,测试系统的反映。压力测试是测试系统的限制和故障恢复能力,也就是测试Web应用系统会不会崩溃,在什么情况下会崩溃。
压力测试的区域包括表单、登录和其他信息数传页面等。
(8)易用性测试
系统界面的空间是否可以通过tab键遍历,并且顺序合理
主要功能的入口和操作是否易于理解
界面是否布局合理,功能是否易于查找和使用
操作步骤
操作习惯
有足够的提示信息,且信息文字描述准确
(9)兼容性测试
兼容性测试不只是指界面在不同操作系统或浏览器下的兼容,有些功能方面的测试,也需要考虑到兼容性。
包括操作系统兼容和应用软件兼容,可能还包括硬件兼容
比如涉及到ajax、jquery、javascript等技术的,都要考虑到不同浏览器下的兼容性问题。