Web应用程序几个常见测试方向

在测试Web应用程序时,应该考虑下面的模板。根据业务需求,下面的清单几乎适用于所有类型的Web应用程序。

Web应用程序测试清单包括-

  • 可用性测试
  • 功能测试
  • 兼容性测试
  • 数据库测试
  • 安全测试
  • 性能测试

现在让我们详细看看每个测试:

可用性测试

什么是可用性测试?

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

可用性测试的目的或目标是什么? 可用性测试使用标准可用性测试实践来确定产品的易用性和有效性。

可用性测试示例

  • 网页内容是正确的,没有任何拼写或语法错误
  • 所有字体与要求相同。
  • 所有的文本都正确对齐。
  • 所有错误提示消息没有任何拼写或语法错误,并且错误消息应该与字段标签匹配。
  • 每个字段都应该有工具提示文本。
  • 所有字段都应正确对齐。
  • 字段标签、列、行和错误消息之间应留有足够的空间。
  • 所有按钮都应采用标准格式和大小。
  • 主页链接每一个单独的页面。
  • 禁用的字段应呈灰色显示。
  • 检查是否有无效的链接和图像。
  • 对于任何类型的更新和删除操作,都应该显示确认消息。
  • 检查站点的不同分辨率(640 x 480、600×800等)
  • 检查最终用户是否可以毫无障碍地运行系统。
  • 只有在需要时才应显示滚动条。
  • 如果提交时出现错误消息,则用户填写的信息应该有保存。
  • 标题应显示在每个网页上
  • 所有字段(文本框,下拉菜单,单选按钮等)和按钮应该可以通过键盘快捷键访问,用户应该能够使用键盘执行所有操作。
  • 检查下拉数据是否因字段大小而被截断。此外,检查数据是否被硬编码或能否由管理员管理。

功能测试

什么是功能测试?

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

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

  • 功能测试的目标是验证产品是否符合开发文档中的预期功能规范。

功能测试场景示例:

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

兼容性测试:

什么是兼容性测试?

  • 兼容性测试用于确定软件是否与系统的其他元素(如浏览器、操作系统或硬件)兼容。

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

  • 兼容性测试的目的是评估软件在特定浏览器、操作系统、硬件或软件中的性能。

兼容性测试场景示例:

  • 在不同的浏览器(IE、Firefox、Chrome、Safari和Opera)中测试网站,并确保网站显示正常。
  • 测试正在使用的HTML版本是否与相应的浏览器版本兼容。
  • 测试图像在不同浏览器中的正确显示。
  • 测试字体在不同浏览器中是否可用。
  • 测试java脚本代码是否可以在不同的浏览器中使用。
  • 在不同的浏览器上测试动画GIF。

数据库测试:

什么是数据库测试?

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

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

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

在上述几点的帮助下,测试人员可以很容易地编写数据库测试的测试场景。

数据库测试示例测试用例:

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

什么是安全测试

安全测试涉及从安全角度识别任何缺陷和差距的测试。 安全测试示例测试场景:

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

什么是性能测试

进行性能测试是为了评估系统或组件是否符合指定的性能要求。

一般测试场景:

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

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

实际上,由于一些缺点,手动执行性能测试是不可能的,例如:

  • 需要更多数量的资源。
  • 不能同步操作
  • 无法进行正确的系统监控
  • 不能完成重复性的任务

因此,要克服上述问题,必须使用性能测试工具。下面是一些流行的测试工具列表。

  • Apache JMeter
  • Load Runner
  • Borland Silk Performer.
  • Rational Performance Tester
  • WAPT
  • NEO LOAD

IT赶路人

专注IT知识分享