目录
前言
功能测试主要包括链接测试、表单测试、搜索测试、删除测试、cookies、session测试、数据库测试等部分。功能测试对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。
一、链接测试
测试所有链接是否按指示的那样确实链接到了该链接的页面;测试所链接的页面是否存在;测试web应用系统上没有孤立的页面。
二、表单测试
表单一般指在界面进行数据提交操作的,包括新增和修改数据。它涉及到的测试包括以下方面:
1、输入框测试,长度、数据类型、必填、重复、空格、sql注入以及一些业务相关约束
2、下拉框测试,默认值、数据完整性/正确性、第一个/最后一个/中间一个选取、手动输入值模糊匹配、联动选择;业务常见选取的操作
3、大小、尺寸、格式、数量、文件内容规则验证
4、表单提交按钮测试,是否支持回车/单击、快速多次点击是否重复提交表单、网络中断(弱网、提交、提交之后是否有提示、提交后内容是否加密、提交是否做权限校验控制、多人针对表单同时操作的场景测试。
三、搜索测试
搜索条件一般为2种情况:输入框、下拉框。对于多个条件的页面搜索可以按照下面的编号顺序去进行测试。
- 任单个条件查询:模糊搜索、超长搜索、不存在与之匹配的条件、为空
- 任两个组合查询:确保任两个组合查询的正确性,验证两个组合的所有情况。
- 三个组合查询:不需要测试三个组合的全部级组合。因为前面针对所有单个条件的搜索、两个组合的所有组合进行测试了,那么在这里选择2-3组三种组合进行测试即可。
- 全条件组合查询:确保最大组合的正确性。
- 默认条件查询:补充默认条件查询的用例
- 根据需求或者业务规则选取重点条件组合查询
搜索框搜索还有一种常见的情况就是:时间输入框,按时间来搜索的测试点,可以从以下考虑:
- 开始时间<=结束时间,测试一个小时、跨时、当天、跨天、跨月、跨年的数据
- 开始时间大于/小于当前时间,若是针对出生年月搜索,验证大于的情况;若是定时任务时间搜索验证小于的情况
- 只输入开始时间/结束时间
- 开始时间、结束时间都不输入
- 结束时间早于开始时间
- 手动输入时间,注意时间格式验证
四、删除测试
- 没选择数据,点击删除,是否有友好提示?
- 选择一条数据,点击删除,是否提示删除确认信息,需二次确认?
- 删除一条数据后,点击添加,是否可以添加相同的数据
- 连续删除多个产品,选择批量删除;是否支持?
- 选择全选,点击删除,注意是否把所有的数据删除?
- 删除一个有关联性的数据,如删除QQ分组,组下好友会有提示?
- 所有删除数据操作,要注意相应查询页面及其关联界面的数据是否及时更新
五、cookies/session测试
cookies/session通常用来存储用户信息,Cookie通过在客户端记录信息确定用户身份,session通过在服务器端记录信息确定用户身份。
cookies/session测试同理,测试的内容可包括:
- 打开WEB系统后,在浏览器默认存储cookies的目录下看此cookies目录是否存在。
- 已知cookies的保存时间,测试时间范围之内和之外的cookies文件是否正常
- 将浏览器下的所有cookies文件全部删除。再次登录web系统,会怎么处理
六、数据库测试
在web应用技术中,数据库就是一个“仓库”,我们在进行功能测试的任何操作都可以归溯到是对于数据库的增删改查。数据库测试实际就是通过前面讲过的测试手段来完成、只不过关注点是数据库表及表字段值的变化。
- 数据库脚本执行——数据库表添加、修改是否正常
- 页面提交表单、修改、查询、删除 —数据库表信息是否正常
七、峰值测试/容量测试
峰值测试在这种情况下,测试应用程序时用户负载会突然增加和减少。通过执行峰值测试,我们还可以了解应用稳定的恢复时间。
容量测试为了分析充斥大量数据时应用程序的行为和响应时间。
八、相容性测试/安全测试
相容性测试执行兼容性测试以确保该应用程序可以在不同的硬件,操作系统,网络环境和屏幕尺寸上正常运行。
安全测试是移动应用程序测试过程中最重要的部分,它可确保您的应用程序安全且不会受到恶意软件和病毒等任何外部威胁的攻击。通过这样做,我们可以找出应用程序中的漏洞,这些漏洞可能导致数据丢失,收入增加或对组织的信任。