ladys and 乡亲们,long time no see,发个笔记:)
首先,WEB是咋组成的
Web应用程序一般是B/S模式,一个Web应用程序是由完成特定任务的各种Web组件(web components)构成的并通过Web将服务展示给外界,在实际应用中,Web应用程序是由多个Servlet、JSP页面、HTML文件以及图像文件等组成。
然后,主要测试方法如下
测试方法 | 测试类型 |
---|---|
功能测试 | 链接测试、输入域测试、表单测试、删除测试、搜索测试、数据库测试、cookies测试 |
UI测试 | 导航测试、多媒体测试、控件测试 |
兼容性测试 | 平台测试、浏览器测试 |
安全性测试 | 登录及权限测试、超时限制 |
性能测试 | 压力测试、负载测试等 |
链接测试
1)测试所有链接是否按指示的那样确实链接到了该链接的页面
2)测试所链接的页面是否存在
3)测试web应用系统上没有孤立的页面
输入域测试
1)对于手机、邮箱、证件号等的输入是否有长度及类型的控制;
2)输入中文、英文、数字、特殊字符(特别注意单引号和反斜杠)及这四类的混合输入,是否会报错;
3)输入空格、空格+数据、数据+空格,是否报错;
4)输入html语言的<head>,是否能正确显示;
5)输入全角、半角的英文、数字、特殊字符等,是否报错;
6)是否有必填项的控制;不输入必填项,是否有友好提示信息;
7)输入超长字段,页面是否被撑开;
8)分别输入大于、等于、小于数据表规定字段长度的数据,是否报错;
9)输入非数据表中规定的数据类型的字符,是否有友好提示信息;
10)在文本框中输入回车键,显示时是否回车换行;
11) 非法的输入或操作应有足够的提示说明。
## 补充时间输入域测试
1)开始时间<=结束时间,测试分、一个小时、跨时、当天、跨天、跨月、跨年的数据
2)开始时间>/<当前时间,若是针对出生年月搜索,验证大于的情况;若是定时任务时间搜索验证小于的情况
3)只输入开始时间/结束时间
4)开始时间、结束时间都不输入
5)结束时间早于开始时间
6)手动输入时间,注意时间格式验证
7)选择时间后的时间格式验证
表单测试
1)输入框测试
——长度、数据类型、必填项、特殊字符、中文字符是否乱码、空格、按钮、sql注入以及一些业务相关约束
2)下拉框测试
——默认值、数据完整性/正确性、第一个/最后一个/中间一个选取、手动输入值模糊匹配、联动选择;业务常见选取的操作
3)图片、视频、excel、txt等文件上传测试
——大小、尺寸、格式、数量、文件内容规则验证
4)表单提交按钮测试
——是否支持回车/单击、快速多次点击是否重复提交表单、网络中断(弱网)提交、提交之后是否有提示、提交后内容是否加密、提交是否做权限校验控制、多人针对表单同时操作的场景测试
5)快捷键测试
比如Tab键、Enter键、Ctrl+C、Ctrl+V、backspace等,对不允许做输入的字段(如:下拉选项),对快捷方式是否也做了限制
6)数据校验测试
使用表单进行用户注册、登陆、信息提交等操作时,验证服务器能正确保存这些数据以及验证后台运行的程序能正确解释和使用这些信息
删除测试
1)没选择数据,点击删除 —是否有友好提示
2)选择一条数据,点击删除 —是否提示删除确认信息,需二次确认
3)删除一条数据后,点击添加 —是否可以添加相同的数据
4)选择批量删除 —是否支持
5)选择全选,点击删除 ----注意是否把所有的数据删除
6)删除一个有关联性的数据,(如删除QQ分组,组下好友会有提示)
7)一直点击删除按钮 —是否有友好提示
8)所有删除数据操作,要注意相应查询页面及其关联界面的数据是否及时更新
搜索测试
1)任单个条件查询:模糊搜索、超长搜索、不存在与之匹配的条件、为空
2)任两个组合查询:确保任两个组合查询的正确性,验证两个组合的所有情况。
3)三个组合查询:不需要测试三个组合的全部级组合。因为前面针对所有单个条件的搜索、两个组合的所有组合进行测试了,那么在这里选择2-3组三种组合进行测试即可。
4)全条件组合查询:确保最大组合的正确性。
5)默认条件查询:补充默认条件查询的用例
6)根据需求或者业务规则选取重点条件组合查询
cookies/session测试
cookies/session通常用来存储用户信息,Cookie通过在客户端记录信息确定用户身份,session通过在服务器端记录信息确定用户身份。cookies/session测试同理。
1)打开WEB系统后,在浏览器默认存储cookies的目录下看此cookies目录是否存在。
2)已知cookies的保存时间,测试时间范围之内和之外的cookies文件是否正常
3)将浏览器下的所有cookies文件全部删除。再次登录web系统,会怎么处理
数据库测试
数据库测试实际就是通过前面讲过的测试手段来完成、只不过关注点是数据库表及表字段值的变化。
1)数据库脚本执行—数据库表添加、修改是否正常
2)页面提交表单、修改、查询、删除 —数据库表信息是否正常
UI测试
也可以称之为 易用性界面测试
1)各个页面的样式风格是否统一;
2)各个页面的大小是否一致;同样的LOGO图片在各个页面中显示是否大小一致;页面及图片是否居中显示;
3)各个页面的title是否正确;
4)栏目名称、文章内容等处的文字是否正确,有无错别字或乱码;同一级别的字体、大小、颜色是否统一;
5)提示、警告或错误说明应清楚易懂,用词准确,摒弃模棱两可的字眼;
6)切换窗口大小,将窗口缩小后,页面是否按比例缩小或出现滚动条;各个页面缩小的风格是否一致,文字是否窜行;
7)父窗体或主窗体的中心位置应该在对角线焦点附近;子窗体位置应该在主窗体的左上角或正中;多个子窗体弹出时应该依次向右下方偏移,以显示出窗体标题为宜;
8)按钮大小基本相近,忌用太长的名称,免得占用过多的界面位置;避免空旷的界面上放置很大的按钮;按钮的样式风格要统一;按钮之间的间距要一致;
9)页面颜色是否统一;前景与背景色搭配合理协调,反差不宜太大,最好少用深色或刺目的颜色;
10)若有滚动信息或图片,将鼠标放置其上,查看滚动信息或图片是否停止;
11)导航处是否按相应的栏目级别显示;导航文字是否在同一行显示;
12)所有的图片是否都被正确装载,在不同的浏览器、分辨率下图片是否能正确显示(包括位置、大小);
13)文章列表页,左侧的栏目是否与一级、二级栏目的名称、顺序一致;
14) 调整分辨率验证页面格式是否错位现象;
15)鼠标移动到Flash焦点上特效是否实现,移出焦点特效是否消失;
16) 文字颜色与页面配色协调,不使用与背景色相近的颜色。
17) 每个非首页静态页面含图片字节不超过300K,全尺寸banner第一个场景控制在200k以内二个场景在300K,三个场景在400K以此类推
18) 同一界面上的控件数最好不要超过10个,多于10个时可以考虑使用分页界面显示。
19) 超过一屏的内容,在底部应有go top按钮
20) 超过三屏的内容,应在头部设提纲,直接链接到文内锚点
21) 首页,各栏目一级页面之间互链,各栏目一级和本栏目二级页面之间互链
22) 导航的文字要简明扼要,字数限制在一行以内
23) 报表显示时应考虑数据显示宽度的自适应或自动换行。
24) 所有有数据展现的界面(如统计、查询、编辑录入、打印预览、打印等),必须使测试数据的记录数超过一屏/一页,以验证满屏/页时其窗体是否有横向、纵向滚动条或换页打(L)印,界面显示是否正常;
25) 如有多个系统展现同一数据源时,应保证其一致性;
26) 对于报表中的所有字段值都应该有明确的定义,对于无意义的字段值,不应该显示空,应显示“--”或“/”,表示该字段值无意义。
27) 对统计的数据应按用户习惯进行分类、排序。
28) 界面内容更新后系统应提供刷新功能。
29) 用户在退出系统后重新登陆时应考虑是否需要自动返回到上次退出系统时的界面;
30) 在多个业务功能组成的一个业务流程中,如果各个功能之间的执行顺序有一定的制约条件,应通过界面提示用户。
31) 用户提示信息应具有一定的指导性,在应用程序正在进行关键业务的处理时,应考虑在前台界面提示用户应用程序正在进行的处理,以及相应的处理过程,在处理结束后再提示用户处理完毕。
32) 在某些数据输入界面,如果要求输入的数据符合某项规则,应在输入界面提供相应的规则描述;当输入数据不符合规则时应提示用户是否继续。
33) 在对任何配置信息修改后,都应该在用户退出该界面时提示用户保存(如果用户没有主动保存的情况下);
34) 在对某些查询功能进行测试时,应考虑查询条件的设置的合理性以及查询结果的互补性。如某些后台处理时间不应该作为查询条件。
35) 界面测试时,应考虑某一界面上按钮先后使用的顺序问题,以免用户对此产生迷惑。例如只能在查询成功后显示执行按钮。
36) 界面测试时,应验证窗口与窗口之间、字段与字段之间的浏览顺序是否正确;
37) 在某些对数据进行处理的操作界面,应考虑用户可能对数据进行处理的频繁程度和工作量,考虑是否可以进行批量操作。
38) 界面测试时应验证所有窗体中的对象状态是否正常,是否符合相关的业务规则需要。
39) 应验证各种对象访问方法(Tab 健、鼠标移动和快捷键)是否可正常使用,并且在一个激活界面中快捷键无重复;
40) 界面测试不光要考虑合理的键盘输入,还应考虑是否可以通过鼠标拷贝粘贴输入。
41) 对于统计查询功能的查询结果应验证其是否只能通过界面上的查询或刷新按键人工触发,应避免其他形式的触发。
42) 对界面上的任何对象进行拖拉,然后进行查询、打印,应保证查询打印结果不变;
43) 确保数据精度显示的统一:如单价0元,应显示为0.00元;
44) 确保时间及日期显示格式的统一;
45) 确图片按钮链接有效,并且链接的属性正确(比如是新建窗口打开、当前页面打开;
46) 对所有可能产生的提示信息界面内容和位置进行验证,确保所有的提示信息界面应居中。
兼容性测试
平台测试:需要考虑操作系统类型,主流操作系统Windows、Linux等,而相同的操作系统又有不同的版本,例如Windows系列Windows XP、Windows 7、Windows 8、Windows 10等,linux系列centos6,centos7,Ubuntu,Redhat等。
浏览器测试:需要考虑浏览器类型,例如,Internet explorer,chrome,Firefox等,一般测试前都需要将浏览器升级到最新版本。
安全性测试
1)登录及权限测试:验证用户输入有效性,不能输入非法字符,如:‘ % < — 等脚本语言中常用的特殊字符。不能直接访问有安全限制的页面,如:浏览器历史记录中记录的页面,举例来说,用户A有登录网站的权限,用户B直接访问历史记录中A访问过的页面。
2)超时的限制:条件:用户登录后在一定时间内没有任何操作(点击任何页面),需要重新登陆才能正常使用。
性能测试
1)压力测试:实际破坏一个Web应用系统,测试系统的反应,测试系统的限制和故障恢复能力
2)负载测试:在某一负载级别上的性能,包括某个时刻同时访问Web的用户数量、在线数据处理的数量
3)强度测试:测试对象在性能行为异常或极端条件下(如资源减少或用户过多)的可接受性,以此验证系统软硬件水平
4)数据库容量测试:通过存储过程往数据库表中插入一定数量的数据,看是否能及时显示
5)预期指标的性能测试:在需求分析和设计阶段会提出一些性能指标,对于预先确定的性能要求要首先进行测试
6)独立业务性能测试:对核心业务模块做用户并发测试,包括同一时刻进行完全一样的操作、同一时刻使用完全一样的功能
7)组合业务性能测试:模拟多用户的不同操作,最接近实际用户使用情况,按用户实际的实际使用人数比例来模拟各个模块的组合并发情况
8)疲劳强度性能测试:系统稳定运行情况下,以一定负载压力来长时间运行系统的测试
9)网络性能测试:准确展示带宽、延迟、负载、端口的变化是如何影响用户的相应时间的
10)大数据量性能测试:实时大数据量,模拟用户工作时的实时大数据量;极限状态下的测试,系统使用一段时间,积累一段数据量时能否正常运行,以及对前面两种进行结合
11)服务器性能测试:在进行用户并发性能测试、疲劳强度、大数据量性能测试时,完成对服务器性能的监控,并进行评估
12)一些特殊的测试:配置测试、内存泄漏的一些特殊测试
and其他零碎测试点补充
1)删除/增加某一项:是否对其他项造成影响,这些影响是否都正确
2)列表默认值检查
3)检查按钮功能是否正确:新建、编辑、删除、关闭、返回、保存、导入、上一页、下一页、页面跳转、重置(常见错误)
4)字符串长度检查:超出长度
5)字符类型检查
6)标点符号检查:空格、各种引号、Enter键
7)特殊字符:常见%、“、”
8)中文字符:是否乱码
9)检查信息完整:查看信息,查看所填信息是否完整更新;更新信息,更新信息与添加信息是否一致
10)信息重复:需唯一信息处,比如重复的名字或ID、重名是否区分大小写、加空格
11)检查删除功能:不选择任何信息,按Delete,看如何处理;选择一个或多个进行删除;多页选、翻页选删除;删除是否有提示
12)检查添加和修改是否一致:添加必填项,修改也该必填;添加为什么类型,修改也该什么类型
13)检查修改重名:修改时把不能重名的项改为已存在的内容
14)重复提交表单:一条已经成功提交的记录,返回后再提交
15)检查多次使用返回键:返回到原来页面,重复多次
16)搜索检查:存在或不存在内容,看搜索结果是否正确;多个搜索条件,同时输入合理和不合理条件;特殊字符
17)输入信息的位置
18)上传下载文件检查:功能是否实现,上传:上传文件是否能打开、格式要求、系统是否有解释信息、将不能上传的文件格式修改后缀为可上传的文件格式;下载:下载是否能打开、保存、格式要求
19)必填项检查:必填项未填写;是否有提示,如加*;对必填项提示返回后,焦点是否自动定位到必填项
20)设计语言测试:不同版本的设计语言会引起客户端、服务端严重的问题
21)Enter键检查:输入结束后按Enter键,系统如何处理
22)刷新键检查:按浏览器刷新键如何处理
23)回退键检查:按浏览器回退键如何处理
24)空格检查:输入项输入一个或多个空格
25)输入法半角全角检查:比如,浮点型,输入全角小数点“。”或“. ”,如4. 5;全角空格
26)密码检查:输入加密方式的极限字符;密码尽可能长
27)用户检查:不同种类管理员用户的不同权限,是否可以互相删除、管理、编辑;一般用户的权限;注销功能,老用户注销再注册,是否为新用户
28)系统数据检查:数据随业务过程、状态的变化保持正确,不能因为某个过程出现垃圾数据,也不能因为某个过程而丢失数据。
29)系统可恢复性检查:以各种方式把系统搞瘫,测试系统是否可以迅速恢复
30)确认提示检查:系统更新、删除操作:是否有提示、取消操作;提示是否准确;事前、事后提示
31)数据注入检查:对数据库注入,特殊字符,对SQL语句进行破坏
32)时间日期检查:时间、日期、时间验证:日期范围是否符合实际业务;对于不符合实际业务的日期是否有限制
33)分页测试:当没有数据时,首页、上一页、下一页、尾页标签全部置灰;分页的总页数及当前页数显示是否正确;分页的总页数及当前页数显示是否正确;在分页处输入非数字的字符(英文、特殊字符等),输入0或超出总页数的数字,是否有友好提示信息;在首页时,“首页”“上一页”标签置灰;在尾页时,“下一页”“尾页”标签置灰;在中间页时,四个标签均可点击,且跳转正确;
整理不易,欢迎垂阅~