一般测试场景
- 所有必填字段都应校验并用星号“*”标注
- 验证错误提示信息应在正确的位置合理显示
- 所有的错误信息都应用相同的CSS样式显示(如:红色)
- 一般性的确认信息应该用错误消息以外的CSS样式显示(如:绿色)
- 提示信息应是有意义的
- 下拉字段的第一个条目应是“空白”或“请选择”之类的文本
- 删除页面中的任何记录信息都应该有二次确认提示
- 如果页面支持记录的添加/删除/更新(编辑)功能,那么页面中应提供“全选”和“全不选”所有记录的选择项
- 数量值应该显示正确的货币符号
- 应提供默认页面排序
- 重置按钮功能应将页面所有字段设置为默认值
- 所有的数值都应正确地格式化
- 输入字段应检查最大字段值,输入的字段值超过指定的最大值则不被接受或不被存储到数据库
- 检查所有输入字段中输入特殊字符的情况
- 使用标准的字段标签,如:一个接受用户姓名的字段标签可以被定义为“姓名”
- 检查添加/编辑/删除操作后页面中信息记录的排序功能
- 检查超时功能,超时的值应是可配置的,操作超时后检查应用程序的行为是否合理
- 检查Cookies在应用程序中的使用
- 检查可下载文件是否指向了正确的文件路径
- 所有的资源键应该可以在配置文件或数据库中配置,而不是写死
- 资源键的命名应始终遵循标准惯例
- 验证所有的web页面标记(验证HTML和CSS的语法错误)以确保它符合标准
- 应用程序崩溃或不可用页面应该重定向到错误页面
- 在所有页面中检查文本的拼写和语法错误
- 检查数字输入字段中输入字符的情况,应提示合适的校验信息
- 如果字段允许输入数值,应该检查输入负数的情况
- 检查数量字段值带有小数的情况
- 检查页面中所有按钮的功能
- 用户连续点击提交按钮时不能重复提交页面信息
- 在任何计算中都应处理除以0的情况
- 应正确处理输入数据前后的空格
过滤条件测试场景
- 用户应能够使用页面中的所有参数过滤结果
- 精确搜索功能应根据用户选择的所有搜索参数加载搜索页面
- 当页面中至少需要一个过滤条件才能执行搜索操作时,必须保证用户没有设置任何过滤条件提交查询时能显示合适的错误提示信息
- 当页面中至少有一个过滤条件是非强制的时,用户提交查询后那些非强制过滤条件使用默认搜索条件查询相关结果
- 过滤条件设置为无效值时应显示合适的校验信息
结果表测试场景
- 当结果页面加载时长超过默认时长时,应该显示“页面加载中”之类的提示信息
- 检查结果表中获取的数据是否满足所有的搜索条件
- 结果总数都应在结果表中显示
- 使用的搜索条件应该在结果表中显示
- 结果表中的值应该按照默认列排序
- 排序列应该显示排序的图标
- 结果表中的结果正确且包含所有指定的列
- 对支持排序的列,应能进行升序和降序排序操作
- 结果表中的行列间距合理
- 当结果多于每页默认显示的结果数时应正确分页
- 检查上一页、下一页、首页和末页分页功能
- 结果表中无重复的记录
- 检查所有的列是否都可见,必要时启用水平滚动条
- 检查数据动态列(列值由其他列计算得来的列)
- 对于报表结果表,应检查行汇总和列汇总的值
- 对于报表结果表,应检查有分页的情况下用户切换分页时的行汇总值
- 检查显示列是否使用了正确的符号,如:%(百分号)应该显示在百分数计算结果中
- 检查结果表中的数据是否启用了日期范围
窗口测试场景
- 检查默认窗口的大小是否正确
- 检查子窗口的大小是否正确
- 检查默认焦点是否放在了页面中的某个字段上(一般来说,焦点放在页面中第一个可输入的字段上)
- 检查关闭父窗口或开着的窗口时是否会关闭子窗口
- 当子窗口开着时,用户不能使用或更新父窗口或子窗口后面窗口的字段值
- 检查窗口最小化、最大化和关闭功能
- 检查窗口是否能重设大小
- 检查父窗口和子窗口的滚动条的功能
- 检查子窗口中的“取消”按钮的功能
数据库测试场景
- 页面提交成功时检查数据是否正确地保存在数据库中
- 检查不接受空值的列值
- 数据应根据表设计被存储在单个或多个表中
- 索引名称应按照标准如IND_ <表名> _ < 列名>
- 表应该有主键
- 应对表中的列给出相应的描述信息(除了诸如创建时间、创建人等审计列)
- 应该为每个数据库的添加/更新操作添加日志
- 应该为需要的表创建索引
- 检查是否只有操作完全成功后才将数据提交到数据库中
- 一旦事务失败数据应该回滚
- 据库名称应按照应用程序类型命名,即测试,UAT,沙箱,现场(尽管这不是一个标准,但对数据库维护是很有帮助的)
- 数据库逻辑名称应根据数据库名称命名(这不是标准但又有利于数据库维护)
- 存储过程不应该以前缀“sp_”命名
- 检查表审计列的值(如创建日期、创建人、更新日期、更新者、已删除、删除日期、删除者等等)填充正确
- 检查输入数据保存时是否未被截断,在页面中显示的字段长度和数据库的字段长度应该是相同的
- 检查包含最小、最大和浮点的数值字段
- 检查数值字段含有负值(接受和拒绝两种情况)
- 检查单选按钮和下拉列表正确地保存在数据库中
- 检查数据库字段设计的数据类型和数据长度是否正确
- 检查所有的表约束条件如主键、外键等是否正确实现
- 测试存储过程和触发器的样本输入数据
- 输入数据的首尾空格应在数据保存到数据库之前被自动隐去
- 主键列不允许为NULL值
上传功能测试场景
- 检查图片上传路径
- 检查图像上传和修改功能
- 检查各种扩展图像文件的上传(例如JPEG、PNG、BMP等)
- 检查文件名中含有空格或其他可用特殊字符的图片的上传
- 检查重复名称图片上传
- 图片尺寸大于最大允许值,上传时应该显示适当的错误消息
- 检查上传的图片文件类型外的其它文件时(例如txt、doc、pdf、exe等等),应该显示适当的错误消息
- 检查如果上传的图片满足指定的高度和宽度(如果有定义的话)则可以成功上传,否则不能上传
- 上传大尺寸图片时应显示上传进度条
- 检查上传过程中的取消按钮是否有效
- 检查文件选择对话框中的文件列表是否只显示支持文件类型
- 检查上传多个图像的功能
- 上传后检查图像质量,图像质量不应该改变
- 检查用户是否能够使用/查看上传的图像
发送电子邮件测试场景
- 所有电子邮件模板应该使用CSS标准
- 要验证电子邮件地址后再发送电子邮件
- 特殊字符在邮件正文模板应妥善处理
- 特定语言的字符(例如:俄文、中文或德文字符)应在电子邮件主体模板中妥善处理
- 电子邮件主题不能空
- 占位符字段中使用电子邮件模板应该替换为实际的值如{姓} {名}应该替换为所有收件人正确的名字和姓氏
- 如果报告有动态值包含在电子邮件的正文中,报告数据应正确计算
- 电子邮件发送者的名字不能为空
- 应该在不同的电子邮件客户端(如:Outlook,Gmail,Hotmail,Yahoo 邮件等)检查电子邮件
- 检查发送电子邮件功能使用TO、CC和BCC字段
- 检查纯文本邮件
- 检查HTML格式的电子邮件
- 查看邮件页眉和页脚相应的公司LOGO,隐私政策和其他链接
- 检查带附件的电子邮件发送
- 检查给一个、多个或者联系人组发送电子邮件
- 检查回复电子邮件地址是否正确
- 检查发送大量的电子邮件
excel导出测试场景
- 文件输出时应该有适当的文件扩展名
- 导出Excel文件的文件名应该按照标准,例如:如果文件名使用时间命名,它应该在导出文件的时候妥善换成实际时间
- 当Excel文件包含日期列时需要检查导出的日期格式
- 检查数字格式的数值或货币值,格式应该和页面显示的相同
- 导出的文件应该有适当的列名称
- 默认页面排序应体现在导出文件中
- Excel文件数据应正确格式化包括页眉和页脚文本、日期、页码等所有页面的值
- 检查数据在页面上显示的文件与导出Excel文件是是否一样
- 检查使用分页时的导出功能
- 检查导出按钮图标是否根据导出的文件类型正确显示,如:导出的是.xls文件,则显示Excel文件对应的图标
- 检查大文件的导出功能
- 检查页面包含特殊字符的导出功能,检查这些特殊字符是否正确地导出到Excel文件
- 上传后检查图像质量,图像质量不应该改变
- 检查用户是否能够
- 使用/查看上传的图像
性能测试场景
- 检查页面加载时间是否在可接受范围内
- 检查页面加载缓慢的链接
- 检查在轻度、正常、中度和重度负载环境下所有操作的响应时间
- 检查数据库存储过程和触发器的性能
- 检查数据库查询执行时间
- 检查应用程序的负载测试
- 检查应用程序的压力测试
- 在峰值负载条件下检查CPU和内存的使用情况
安全性测试场景
- 检查SQL注入攻击
- 安全页面应该使用HTTPS协议
- 崩溃页面中不应泄漏应用程序或服务器信息,只有错误页面才显示这些
- 转义特殊字符的输入
- 错误消息不应该透露任何敏感信息
- 所有凭证都应该通过一个加密传输通道
- 测试密码安全性和密码强制策略
- 检查应用程序的注销功能
- 检查暴力攻击
- Cookie信息只能以加密的格式存储
- 检查会话cookie持续时间和会话超时或注销后登录会话终止情况
- 会话标记应该通过安全通道传送
- 密码不应该存储在cookie中
- 对阻断服务攻击进行测试
- 检测内存泄漏
- 通过在浏览器地址栏中手动更改变量值访问未经授权的应用程序
- 验证对文件扩展名的处理方式以使得.exe文件不能上传到服务器或在服务器上执行
- 如密码和信用卡信息等敏感领域不应该启用自动完成
- 对文件上传功能应使用文件类型限制和反病毒扫描上传的文件
- 检查目录是否可用
- 在输入密码和其他敏感字段时应该被伪装起来
- 检查忘记密码是否采用了密码保护功能,如:临时密码在指定的时间段后过期,更改密码或获取新密码有安全问题提问等
- 检查验证码功能
- 检查重要事件是否被记录在日志文件中
- 检查是否正确实现访问权限