Web 应用程序的测试用例示例(清单)

在测试网络应用程序时,应考虑以下模板。以下清单几乎适用于所有类型的网络应用程序,具体取决于业务要求。

现在让我们详细查看每个清单

可用性测试

什么是可用性测试?

  • 可用性测试就是用户友好性检查。
  • 在可用性测试中,应用程序流程经过测试,以便新用户可以轻松理解应用程序。
  • 基本上,系统导航在可用性测试中进行检查。

可用性测试的目的或目标是什么?

可用性测试通过使用标准可用性测试实践来确定产品的易用性和有效性。

可用性测试用例示例
  • 网页内容应正确无误,无拼写或语法错误
  • 所有字体应符合要求。
  • 所有文本应正确对齐。
  • 所有错误消息应正确无误,无拼写或语法错误,并且错误消息应与字段标签匹配。
  • 每个字段都应有工具提示文本。
  • 所有字段应正确对齐。
  • 字段标签、列、行和错误消息之间应留有足够的空间。
  • 所有按钮应采用标准格式和大小。
  • 每个页面上都应有“主页”链接。
  • 禁用字段应显示为灰色。
  • 检查断开的链接和图像。
  • 任何更新和删除操作都应显示确认消息。
  • 在不同分辨率(640 x 480,600×800 等)下检查网站?
  • 检查最终用户是否可以无挫折地运行系统。
  • 检查选项卡是否正常工作。
  • 滚动条应仅在需要时出现。
  • 如果提交时出现错误消息,用户填写的信息应保留。
  • 每个网页上都应显示标题
  • 所有字段(文本框、下拉列表、单选按钮等)和按钮都应可通过键盘快捷键访问,并且用户应能够通过使用键盘执行所有操作。
  • 检查下拉列表数据是否因字段大小而未被截断。此外,检查数据是硬编码还是通过管理员管理。

功能测试

什么是功能测试?

  • 测试产品的特性和操作行为,以确保它们符合其规范。
  • 忽略系统或组件内部机制的测试,只关注响应选定输入和执行条件而产生的输出。

功能测试的目的或目标是什么?

  • 功能测试的目标是验证您的产品是否符合开发文档中提及的预期功能规范。
功能测试场景示例
  • 测试所有必填字段都应经过验证。
  • 测试所有必填字段都应显示星号。
  • 测试系统不应显示可选字段的错误消息。
  • 测试闰年是否正确验证且不会导致错误/错误计算。
  • 测试数字字段不应接受字母,并应显示正确的错误消息。
  • 如果允许数字字段的负数,则进行测试。
  • 测试除数为零的情况,计算应正确处理。
  • 测试每个字段的最大长度,以确保数据不被截断。
  • 测试如果数据达到字段的最大大小时,应显示弹出消息(“此字段限制为500个字符”)。
  • 测试更新和删除操作应显示确认消息。
  • 测试金额值应以货币格式显示。
  • 测试所有输入字段的特殊字符。
  • 测试超时功能。
  • 测试排序功能。
  • 测试可用按钮的功能
  • 测试隐私政策和常见问题是否明确定义,并应向用户提供。
  • 测试如果任何功能失败,用户是否会被重定向到自定义错误页面。
  • 测试所有上传的文档是否正常打开。
  • 测试用户是否能够下载上传的文件。
  • 测试系统的电子邮件功能。
  • 测试Java 脚本是否在不同浏览器(IE、Firefox、Chrome、Safari 和 Opera)中正常工作。
  • 测试用户在网站中删除 cookie 时会发生什么。
  • 测试用户访问网站后删除 cookie 时会发生什么。
  • 测试组合框/列表框中的所有数据是否按时间顺序排列。

兼容性测试

什么是兼容性测试?

  • 兼容性测试用于确定您的软件是否与系统应与之协同工作的其他元素兼容,例如浏览器、操作系统或硬件。

兼容性测试的目的或目标是什么?

  • 兼容性测试的目的是评估软件在特定浏览器、操作系统、硬件或软件中的表现如何。
兼容性测试场景示例
  • 在不同浏览器(IE、Firefox、Chrome、Safari 和 Opera)中测试网站,并确保网站正常显示。
  • 测试所使用的 HTML 版本是否与相应的浏览器版本兼容。
  • 测试图像在不同浏览器中是否正确显示。
  • 测试字体在不同浏览器中是否可用。
  • 测试 Java 脚本代码在不同浏览器中是否可用。
  • 测试不同浏览器中的动画 GIF。

数据库测试

什么是数据库测试?

  • 数据库测试中,测试通过网络或桌面应用程序插入的后端记录。网络应用程序中显示的数据应与数据库中存储的数据匹配。

为了执行数据库测试,测试人员应了解以下几点:

  • 测试人员应彻底理解功能需求、业务逻辑、应用程序流程和数据库设计。
  • 测试人员应找出用于应用程序的表、触发器、存储过程、视图和游标。
  • 测试人员应理解所创建的触发器、存储过程、视图和游标的逻辑。
  • 测试人员应找出通过网络或桌面应用程序执行插入、更新和删除(DML)操作时受影响的表。

借助上述几点,测试人员可以轻松编写数据库测试的测试场景。

数据库测试的测试用例示例
  • 验证数据库名称:数据库名称应与规范匹配。
  • 验证表、列、列类型和默认值:所有内容都应与规范匹配。
  • 验证列是否允许空值。
  • 验证每个表的主键和外键。
  • 验证存储过程
  • 测试存储过程是否已安装。
  • 验证存储过程名称
  • 验证参数名称、类型和参数数量。
  • 测试参数是否必需。
  • 通过删除一些参数来测试存储过程
  • 测试当输出为零时,应影响零条记录。
  • 通过编写简单的SQL 查询来测试存储过程。
  • 测试存储过程是否返回值
  • 使用示例输入数据测试存储过程。
  • 验证表中每个标志的行为。
  • 验证每次页面提交后数据是否正确保存到数据库中。
  • 如果执行了 DML(更新、删除和插入)操作,请验证数据。
  • 检查每个字段的长度:后端和前端的字段长度必须相同。
  • 验证 QA、UAT 和生产的数据库名称。名称应是唯一的。
  • 验证数据库中的加密数据。
  • 验证数据库大小。还要测试执行每个查询的响应时间。
  • 验证前端显示的数据,并确保后端的数据相同。
  • 通过在数据库中插入无效数据来验证数据有效性。
  • 验证触发器。

什么是安全测试?

安全测试包括从安全角度识别任何缺陷和漏洞的测试。

安全测试的示例测试场景
  • 验证包含重要数据(如密码、信用卡号、安全问题的秘密答案等)的网页应通过 HTTPS (SSL) 提交。
  • 验证重要信息(如密码、信用卡号等)应以加密格式显示。
  • 验证密码规则是否在所有身份验证页面(如注册、忘记密码、更改密码)上实施。
  • 验证如果密码已更改,用户不应能够使用旧密码登录。
  • 验证错误消息不应显示任何重要信息。
  • 验证如果用户从系统注销或用户会话过期,用户不应能够导航网站。
  • 验证无需登录即可直接访问安全和非安全网页。
  • 验证“查看源代码”选项是否已禁用,不应向用户显示。
  • 验证如果用户多次输入错误密码,用户帐户是否会被锁定。
  • 验证 cookie 不应存储密码。
  • 验证如果任何功能不工作,系统不应显示任何应用程序、服务器或数据库信息。相反,它应显示自定义错误页面。
  • 验证 SQL 注入攻击。
  • 验证用户角色及其权限。例如,请求者不应能够访问管理员页面。
  • 验证重要操作是否写入日志文件,并且该信息应可追溯。
  • 验证地址栏中的会话值是否为加密格式。
  • 验证 cookie 信息是否以加密格式存储。
  • 验证应用程序是否存在暴力破解攻击

什么是性能测试?

性能测试用于评估系统或组件是否符合指定的性能要求。

一般测试场景

  • 确定应用程序在不同负载条件下的性能、稳定性和可伸缩性。
  • 确定当前架构是否可以在峰值用户级别支持应用程序。
  • 确定哪种配置尺寸可提供最佳性能水平。
  • 识别应用程序和基础设施瓶颈。
  • 确定新版本的软件是否对响应时间产生了不利影响。
  • 评估产品和/或硬件,以确定它是否能够处理预计的负载量。

如何进行性能测试?手动测试还是自动化测试

实际上不可能手动进行性能测试,因为存在一些缺点,例如

  • 将需要更多的资源。
  • 无法同时执行操作。
  • 没有可用的适当系统监控。
  • 重复性任务不容易执行。
因此,为了克服上述问题,我们应该使用性能测试工具。以下是一些流行的测试工具列表。
  • Apache JMeter
  • Load Runner
  • Borland Silk Performer。
  • Rational Performance Tester
  • WAPT
  • NEO LOAD