初入职场接触功能测试老是碰到以下情况不知道怎么写测试用例:

一个界面很多搜索条件怎么写用例?下拉框测试如何考虑测试点?上传要考虑哪些验证点?......

所以这篇主要是整理关于web测试之表单、搜索测试的相关要点。

1、表单测试

表单一般指在界面进行数据提交操作的,包括新增和修改数据。例如注册

它涉及到的测试包括以下方面,每个点的验证都要考虑有效及无效输入的情况:

1)输入框测试 ——长度、数据类型、必填、重复、空格、sql注入以及一些业务相关约束;

2)下拉框测试 ——默认值、数据完整性/正确性、第一个/最后一个/中间一个选取、手动输入值模糊匹配、联动选择;业务常见选取的操作;

3)图片、视频、excel、txt等文件上传测试 ——大小、尺寸、格式、数量、文件内容规则验证;

4)表单提交按钮测试 ——是否支持回车/单击、快速多次点击是否重复提交表单、网络中断(弱网)提交、提交之后是否有提示、提交后内容是否加密、提交是否做权限校验控制、多人针对表单同时操作的场景测试

2、搜索测试

搜索条件一般主要包含2种:输入框搜索条件、下拉框搜索条件。

对于多个条件的页面搜索可以按照下面的编号顺序去进行测试(假设搜索条件为4个):

1)任单个条件查询:正常输入搜索、模糊搜索、超长搜索、不存在与之匹配的条件、为空;

2)任两个组合查询:确保任两个组合查询的正确性验证,验证两个组合的所有情况;

3)三个组合查询:不需要测试三个组合的全部级组合。因为前面针对所有单个条件的搜索、两个组合的所有组合进行测试了,那么在这里选择2-3组三种组合进行测试即可;

4)全条件组合查询:确保最大组合的正确性;

5)默认条件查询:补充默认条件查询的用例;

6)根据需求或者业务规则选取重点条件组合查询,如果此点与第1)2)3)4)重复,不需重复测试。

在这里再给大家普及下,搜索框搜索还有一种常见的情况就是:时间输入框 关于按时间来搜索的测试点,可以从以下考虑:

1)开始时间=结束时间,验证一天范围的数据;

2)开始时间<结束时间,验证跨天、跨月、跨年的数据;

3)开始时间大于/小于当前时间,若是针对出生年月搜索,验证大于的情况;若是定时任务时间搜索验证小于的情况;

4)只输入开始时间或者只输入结束时间;开始时间和结束时间都不输入;

5)结束时间早于开始时间,验证系统是否给予合理提示;

6)验证是否支持手动输入时间,并注意时间格式验证例如20180612格式

一般搜索主要应用在报表数据,所以还有一个需要关注的功能:翻页

1)首页、上一页、下一页、尾页功能验证;注意下首页情况下,上一页是否支持点击;尾页情况下,下一页是否支持点击;

2)总页数、当前页数正确性验证;

3)指定跳转页验证;例如输入8,点击跳转那么是否能正常跳转到第8页的数据;且还注意下跳转的有效范围是1-总页数 ;所以我们考虑1、最大页数的有效值验证,且也需要考虑0、总页数+1、负数、小数、非数字、空的异常值验证

~~更多关于测试过程中的用例相关问题欢迎留言,也欢迎加右上角群号一起讨论~~

web功能测试之表单、搜索测试的更多相关文章

  1. web前端----html表单操作

    form表单 功能:表单用于向服务器传输数据,从而实现用户与Web服务器的交互 表单能够包含input系列标签,比如文本字段.复选框.单选框.提交按钮等等. 表单还可以包含textarea.selec ...

  2. web网页的表单排版利器--960css

    表单排版样式 960css 前言 一般web网页的表单排版,大家都习惯用table排版,自己需要根据实际需要去定义TR和TD,很多时候对于TD的高宽度.是否合并行,合并列,都要去做一些处理,这些都是比 ...

  3. ASP.NET Web Pages:表单

    ylbtech-.Net-ASP.NET Web Pages:表单 1.返回顶部 1. ASP.NET Web Pages - HTML 表单 表单是 HTML 文档中放置输入控件(文本框.复选框.单 ...

  4. Vue项目之实现登录功能的表单验证!

    Vue项目之实现登录功能的表单验证! 步骤: 配置 Form表单验证; 1.必须给el-from组件绑定model 为表单数据对象 2 给需要验证的表单项 el-form-item 绑定 prop 属 ...

  5. Django学习笔记(3)——表单,测试和模板语法的学习

    一,表单form 为了接收用户的投票选择,我们需要在前段页面显示一个投票界面,让我们重写之前的polls/detail.html文件,代码如下: <h1>{{ question.quest ...

  6. (数据科学学习手札112)Python+Dash快速web应用开发——表单控件篇(上)

    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 这是我的系列教程Python+Dash快速web ...

  7. 解决表单(搜索框)回车的时候直接提交了表单不运行js的问题

    我想在搜索输入框中输入关键词后回车,先运行一段js,然后在提交表单,而默认情况下回车的时候也会出发表单的提交所有没法等js运行完成,故利用 onkeydown="if(event.keyCo ...

  8. .net web 开发平台- 表单设计器 一(web版)

    如今为了适应需求的不断变化,动态表单设计器应运而生.它主要是为了满足界面的不断变化和提高开发速度.比如:一些页面客户可能也无法确定页面的终于布局,控件的位置,在哪种情况下显示或不显示等可能须要随时改动 ...

  9. java web 解决Form表单乱码问题

    JSP和Servlet的六种中文乱码处理方法 一.表单提交时出现乱码: 在进行表单提交的时候,经常提交一些中文,自然就避免不了出现中文乱码的情况,对于表单来说有两种提交方式:get和post提交方式. ...

随机推荐

  1. Python脚本备份

    #!/usr/bin/python3 # -*- coding:utf- -*- # 保证源程序可以输入汉字 print bool([]) # 任何为零的数字或空集(空列表.空元组和空字典等)均为Fa ...

  2. 软件测试2gkd

    JUnit单元测试 一.单元测试的概念和目的 什么是单元测试?单元测试是在开发过程中要进行的最低级别的测试活动,是需要与开发同步进行的工作,它由程序员自己完成,属于编码的一部分.单元测试是为了确保类的 ...

  3. Oracle使用——数据泵导入导出数据库——impdp/expdp使用

    使用前提 EXPDP和IMPDP只可以在Oracle服务端使用. EXP导出的文件只可以使用IMP导入,不适用于IMPDP导入文件:EXPDP导出的文件只可以使用IMPDP导入,而不适用于IMP导出文 ...

  4. npm install

    npm install moduleName 命令 1. 安装模块到项目node_modules目录下.2. 不会将模块依赖写入devDependencies或dependencies 节点.3. 运 ...

  5. #!/usr/bin/python3 和 #!/usr/bin/env python3的区别

    脚本语言的第一行指出用什么程序去执行代码. #!/usr/bin/python3调用/usr/bin下的python3解释器.#!/usr/bin/env python3首先会到env设置里查找pyt ...

  6. vue安装过后遇到的坑

    vue在所有配置文件安装过之后: 运行 npm run dev 不能自动打开浏览器,但是命令行中已经提示我们运行成功了 等很久也没有自动打开浏览器,必须要自己手动的输入地址. 那么我们如何在npm r ...

  7. java知识点集锦--基础知识部分

    1.面向对象特征:封装.继承.多态 封装:把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口来访问.面向对象的本质就是将现实世界描绘成一系列完全自治.封闭的对象.我们在类中编写的方法就是 ...

  8. hbase调优配置项笔记

    gc配置 hbase-env.sh export HBASE_OPTS="$HBASE_OPTS -XX:+UseConcMarkSweepGC" export HBASE_OPT ...

  9. glup简单应用---gulpfile.js

    //npm install gulp -g (global环境) //npm install gulp --save-dev (项目环境) //在项目中install需要的gulp插件,一般只压缩的话 ...

  10. H5外包团队:使用HTML5播放短视频代码分享

    滑动代码 /** * 滑动处理 */ function Touch() { this.init(); } Touch.fn = Touch.prototype; Touch.fn.init = fun ...