《软件测试》第十四章 网站测试

2023-10-26

14.0 前言

从本章中会看到,网站测试囊括许多领域,包括配置测试、兼容性配置、易用性测试、文档测试、安全性测试,并且假如网站是面向全球范围的浏览者,还包括本地化测试。当然,黑盒、白盒、静态和动态测试都是要用上的。

本章重点包括:

  • 网页的哪些基本部分需要测试
  • 在网页测试中要运用哪些基本的白盒测试和黑盒测试技术
  • 如何运用配置测试和兼容性测试
  • 为什么易用性测试是网页的主要问题
  • 如何使用工具协助网站测试

14.1 网页基础

用最简单的术语来说,因特网网页就是由文字、图片、声音、视频和超级链接组成的文档——非常类似于20世纪90年代中期流行的光盘多媒体标题。在这些程序中,网站用户可以通过单击具有超级链接的文字和图片在网页间浏览,搜索单词或者短语,查找看到的信息。

然而因特网引入了两项针对多媒体文档概念的技术变革:

  • 网页不像只保存在光盘上的数据,它并不受单独一台计算机的限制。用户可以在任何网站上通过整个因特网链接和搜索信息。
  • 网页创作者不限于那些使用昂贵和专业技术化工具的程序员。一般的人可以像在文字处理程序中写封信那样,创建一个简单的网页。

14.2 黑盒测试

网页是印证所学内容的极佳方式。不必出去购买各种程序——只需跳转到某个喜爱的或者全新的网页,开始测试即可。

最容易的起步是把网页或者整个网站当作一个黑盒花一些时间浏览www.apple.com,考虑:如何对其进行测试,测试什么?等价划分是什么?不测试什么?

在测试网站时,首先应该建立状态表,把每个网页当作不同的状态,超级链接当作状态之间的连接线。完整的状态图有利于对整个任务更好地进行审视

14.2.1 文本

网页文本应该当作文档对待,并依据《软件测试》第十二章 文档测试所述的方法进行测试。检查核实读者的水平、术语、内容以及题目素材、准确度——特别是可能过期的信息,经常不断地检查拼写

注意:不要依赖拼写检查工具来做,尤其是用在网页文本内容的检查上。拼写检查工具可能只检查常规文本,但不检查包含在图片、滚动块、表单等中的文字。用拼写检查工具执行完所谓的完全拼写检查之后,检查者可能认为检查很彻底,但事实中网页中仍然会有拼写错误

如果有电子邮件地址、电话号码或者邮政编码等联系信息,要检查是否正确。保证版权声明正确、日期无误。测试每个网页是否都有正确的标题,标题文本出现在浏览器的标题栏并且当把网页添加到收藏夹或者书签时默认显示的内容就是标题文本。

常常被忽视的一种文本是文字标签,用于替代文字。并非所有的浏览器都支持显示文字标签。有的浏览器只在工具栏顶端显示标题文本,或者什么都不显示。由于这样限制了双目失明的用户浏览网站,所以应把此看成一个严重的访问缺陷。

通过大幅缩放浏览器窗口来检查文字布局问题。这样会发现由于设计人员或者程序员假定网页高度和宽度不变而引起的缺陷,还会发现写死的格式,例如换行在某些布局中显得正常而在其他布局中则不正常

14.2.2 超级链接

链接可以与文字或者图片拴在一起。每一个链接都要检查,确保它跳转到正确的目的地,并在正确的窗口中打开。如果没有网站的说明书,就需要测试跳转是否正确。超级链接一定要明显,文字链接一般有下划线,而鼠标指针经过任何类型的超级链接——文字或图片时应该发生变化(常常变成手形指针)。如果链接打开电子邮件信息,就填写内容并发送,要确保能够得到回应。查找孤页,它是网站的一部分,但是不能通过超级链接访问,因为网页作者忘记把它挂接上。这样就需要向网站设计人员索取网页清单,与自制的状态图进行比较

14.2.3 图片

图片中可能出现的许多软件缺陷在易用性测试时被掩盖下来,但是利用简单的黑盒测试方法可以检查一些明显的地方。例如,所有图片都被正确载入和显示了吗?如果图片丢失或者名称不对,就无法载入,网页将在防止图片的位置显示错误提示信息

如果网页中文本和图片交织在一起,要保证文字正确地环绕在图片周围。改变浏览器窗口的大小,看环绕是否有问题。

载入网页时的性能如何?网页是否有太多图片,导致传输和显示的数据量巨大,从而使网站速度过慢?用缓慢的电话拨号上网替代本地高速局域网时结果会怎样?

14.2.4 表单

表单是指网页中用于输入和选择信息的文本框、列表框和其他域。测试表单就和测试常规软件程序的域一样——域的大小正确吗?是否接受正确数据,拒绝错误数据?在最后按Enter键时正确确认了吗?可选域是否真正可选并且要求的那个是否真正做到?如果输入999999999999999999999999会怎样?

14.2.5 对象和其他各种简单的功能

网站可能包含诸如单击计数器、滚动文本选择框、变换的广告和站内搜索等特性。在计划网站测试时,要仔细验明每个网页上的所有特性。把每一个特性按照常规程序的功能对待,并利用所学的标准测试技术分别进行测试。它有自己的状态吗?处理数据吗?有范围或边界吗?运用什么测试用例,怎样进行等价划分?网页与其他任何软件是一样的。

14.3 灰盒测试

灰盒测试是黑盒测试和白盒测试的结合——仍然把软件当作黑盒来测试,但是通过简单查看(不是像白盒测试那样完整地查看)软件内部工作机制作为补充。

网页特点使其非常适合进行灰盒测试。HTML和网页可以视为灰盒子进行测试,因为HTML不是编译过且测试员又不知道内容的编程语言——它是标记语言。HTML与程序的区别在于HTML不能够执行或者运行,只能确定文字和图片在屏幕上显示的方式。由于HTML很容易被测试员查看,因此可以利用这点来对测试进行补充。

14.4 白盒测试

静态内容一般都是由HTML直接创建。同时,网页包括可自定义和动态改变的内容。创建这些附加的动态特性需要用可以执行和支持判断分支结构的程序代码来补充。
要真正找出重要的缺陷,要求对网站的系统结构和编程知识有一定的了解:

  • 动态内容。动态内容是根据当前条件发生变化的文字和图片——例如,日期时间、用户喜好或者特定用户操作。在HTML中嵌入JavaScript之类的简单脚本语言可以对这些内容编程,这成为客户端编程。如果是这样,在检查脚本和查看HTML时可以运用灰盒测试技术。为了提高执行效率,大多数动态内容编程在网站服务器上进行,这称为服务器端编程,需要具有Web服务器的访问权限才能查看源代码。
  • 数据库驱动的网页。HTML提供Web内容的简单布局,而图片、文字说明、价格信息等则从网站服务器上的数据库中提取出来插入到网页中。
  • 用编程方法创建的网页。如果测试此类系统,就必须检查这样产生的HTML与设计的想法是否一致。
  • 服务器性能和加载
  • 安全性

14.5 配置和兼容性测试

假设要测试一个网站,需要考虑可能会影响网站运行和外观的硬件和软件配置。以下是需要考虑的内容清单:

  • 硬件平台
  • 浏览器软件和版本
  • 浏览器插件
  • 浏览器选项
  • 视频分辨率和色深
  • 文字大小
  • 调制解调器速率

14.6 易用性测试

《Top Ten Mistakes in Web Design》:

  • 盲目使用不成熟的新技术
  • 滚动文字、滚动块和不停运行的画面。不要让网页上有不停移动的元素。
  • 滚动显示的长页面
  • 非标准的链接颜色。指向用户未曾看过的页面的超级链接应该是蓝色;指向已经看过的页面的链接应该是紫色或者红色。
  • 过期信息
  • 下载时间过长
  • 缺少导航支持
  • 孤页。所有网页一定要包含本身所属网站的明确指示,因为用户可能不经过主页面而直接访问网页。同样的原因,每个网页都应该与主页链接,以及它在信息空间结构的位置指示。
  • 复杂的网站地址(URL)
  • 使用框架

14.7 自动化测试简介

有些工具位于www.netmechanic.com。该站点和其他类似的站点都提供极易使用的工具,自动检查网站并测试其对浏览器的兼容性、性能问题、断开的超级链接、HTML标准符合程度和拼写。它们甚至能指出站点上哪个图片可能太大,可能影响显示速度。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

《软件测试》第十四章 网站测试 的相关文章

  • 【性能测试入门】:压力测试概念!

    压力测试可以验证软件应用程序的稳定性和可靠性 压力测试的目标是评估软件在极端负载条件下的鲁棒性和错误处理能力 并确保软件在紧急情况下不会崩溃 它甚至可以进行超出软件正常工作条件的测试 并评估软件在极端条件下的工作方式 在软件工程中 压力测试
  • 软件测试开发/全日制/测试管理丨用户端 Web 自动化测试

    随着Web应用的普及和不断发展 用户端Web自动化测试成为确保Web应用质量的重要手段 这种测试方法不仅提高了测试效率 也帮助团队及时发现和解决潜在问题 确保用户体验的连贯性和稳定性 工具选择 用户端Web自动化测试的第一步是选择适当的工具
  • 软件测试|好用的pycharm插件推荐(五)——Translation

    前言 在我们的日常工作中 经常会遇到需要查看各个第三方库源码的问题 在很多情况下 我们的英语能力不能够满足我们完全读懂源码 所以我们就需要借助翻译工具来帮助我们理解第三方库的源码 如果我们将源码复制再使用其他工具翻译 会显得比较繁琐 如果有
  • JMeter 批量接口测试

    一 背景 最近在进行某中台的接口测试准备 发现接口数量非常多 有6 70个 而且每个接口都有大量的参数并且需要进行各种参数验证来测试接口是否能够正确返回响应值 想了几种方案后 决定尝试使用JMeter的csv读取来实现批量的接口测试 二 脚
  • Python接口自动化测试处理不同接口间参数依赖

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 2k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • Jmeter 压测-性能调优5大注意

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 2k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • #私密朋友圈被吐槽有bug?官方致歉!网友:尴尬了......

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 2k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 38条Web测试经验分享

    1 页面链接检查 每一个链接是否都有对应的页面 并且页面之间切换正确 可以使用一些工具 如LinkBotPro File AIDCS HTML Link Validater Xenu等工具 LinkBotPro不支持中文 中文字符显示为乱码
  • Selenium小技巧!

    Chrome DevTools 简介 Chrome DevTools 是一组直接内置在基于 Chromium 的浏览器 如 Chrome Opera 和 Microsoft Edge 中的工具 用于帮助开发人员调试和研究网站 借助 Chro
  • Locust负载测试工具实操

    本中介绍如何使用Locust为开发的服务 网站执行负载测试 Locust 是一个开源负载测试工具 可以通过 Python 代码构造来定义用户行为 避免混乱的 UI 和臃肿的 XML 配置 步骤 设置Locust 在简单的 HTTP 服务上模
  • APP端网络测试与弱网模拟

    当前APP网络环境比较复杂 网络制式有2G 3G 4G网络 还有越来越多的公共Wi Fi 不同的网络环境和网络制式的差异 都会对用户使用app造成一定影响 另外 当前app使用场景多变 如进地铁 上公交 进电梯等 使得弱网测试显得尤为重要
  • 软件测试|深入了解Python中的super()函数用法

    简介 Python中的super 函数是一种强大的工具 用于在子类中调用父类的方法 它在面向对象编程中非常有用 可以让你轻松地扩展和重用现有的类 本文将详细介绍super 函数的用法 并提供一些示例来帮助你更好地理解它的功能 什么是supe
  • 软件测试|Python中如何提取列表中索引为奇数的元素

    简介 在Python中 我们经常需要从列表中提取特定位置的元素 如果我们想要提取列表中索引为奇数的元素 可以使用一些简单的方法来实现这一目标 本文将介绍如何在Python中提取列表中索引为奇数的元素 并提供示例代码来帮助大家更好地理解这个过
  • 软件测试|Pydantic处理时间类型数据

    简介 我们之前介绍过使用 pydantic 验证数据 比如校验数据的格式等 但是在我们的日常工作中 还有一种数据是需要我们验证的 比如时间数据 时间数据不同于字符串 列表等数据 与他们的验证不一样 本文就来为大家介绍一下 pydantic
  • 软件测试|pycharm关联GitHub的详细步骤

    简介 GitHub 是全球最大的开源代码托管平台之一 而 PyCharm 是一款强大的 Python 集成开发环境 将两者结合使用 可以提高团队协作和代码管理的效率 本文将详细介绍如何在 PyCharm 中管理 GitHub 账号 包括如何
  • Jmeter 性能-阶梯负载最终请求数

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 甜蜜而简洁 —— 深入了解Pytest插件pytest-sugar

    在日常的软件开发中 测试是确保代码质量的关键步骤之一 然而 对于测试报告的生成和测试结果的可读性 一直以来都是开发者关注的焦点 Pytest插件 pytest sugar 以其清晰而美观的输出 为我们提供了一种愉悦的测试体验 本文将深入介绍
  • 2024拒绝行业内卷!八年软件测试20K*16薪行业心得 想入行必看

    目前工作做软件测试工作8年 属于高级测试员那个级别吧 现在看到各行各业的人都在转行学习软件测试 想给大家一些学习建议和忠告 很多粉丝都跟我说今年行情很差 找不到工资 真的找不到工作了吗 我们常在网上看到的 程序员饱和 程序员过剩 其实一般是
  • 做测试不会 SQL?超详细的 SQL 查询语法教程来啦!

    前言 作为一名测试工程师 工作中在对测试结果进行数据比对的时候 或多或少要和数据库打交道的 要和数据库打交道 那么一些常用的sql查询语法必须要掌握 最近有部分做测试小伙伴表示sql查询不太会 问我有没有sql查询语法这一块的文档可以学习
  • Web自动化测试 —— cookie复用

    一 cookie简介 cookie是一些数据 存储于用户电脑的文本文件中 当web服务器想浏览器发送web页面时 在链接关闭后 服务端不会记录用户信息 二 为什么要使用Cookie自动化登录 复用浏览器仍然在每次用例开始都需要人为介入 若用

随机推荐