51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 660|回复: 0
打印 上一主题 下一主题

[原创] Web测试的角度分析

[复制链接]
  • TA的每日心情
    无聊
    昨天 09:11
  • 签到天数: 936 天

    连续签到: 3 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2023-4-3 13:55:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    Web测试的角度是指针对应用程序的各个角度的不同类型的测试方法。它们中的大多数对于 Web 测试是强制性的,除了少数可能取决于项目。
      功能测试
      Web 应用程序的功能测试旨在测试 Web 应用程序的功能,这可以说是重中之重。如果这些功能不起作用,那么 Web 应用程序对于最终用户来说就等于没有了。

      作为测试人员,我们需要覆盖所有为 Web 应用程序提供一个或多个功能的部分,如上图所示。这还将包括应用程序的用户界面和用户体验。这种测试类型的最终目标是确保,除了功能之外,Web 应用程序作为一个单元运行,即一个完整的系统。这在定义上类似于端到端测试。
      接口测试
      该应用程序包含多个接口,使它们协同工作。根据项目的不同,这可能会有所不同。通常,以下四个接口涵盖了完整的系统:
      1. 在服务器端逻辑上工作的服务器端接口。
      2. 应用程序编程接口 (API) 工作在系统的通信部分。p
      3. 数据库接口工作于数据库的数据存储、检索、更新等部分。
      4. 用于应用程序和用户之间交互的用户界面。
      涵盖了这四个方面,接口测试部分就结束了。
      可用性测试
      可用性测试旨在确定 Web 应用程序对最终用户的“友好性”。这种类型的测试挖掘出开发人员或测试人员可能看不到的缺陷。
      例如,您能否轻松浏览 Web 应用程序?作为开发人员和测试人员,由于我们已经通过每天处理应用程序而知道所有选项和按钮的位置,因此他们所做的可用性测试可能不会获得太多好处。
      通过可用性测试的最佳方式是通过最终用户自己。他们可能探索的领域是:
      ·操作 Web 应用程序有多容易。
      · 在电子商务 Web 应用程序中记住基本选项(例如“您的订单”)是多么容易。
      · 申请体验的满意度如何?
      · 您是否觉得 Web 应用程序令人满意,或者是否有任何颜色或部分位置错误?
      这些问题应该在生产前摆在最终用户面前,以深入了解应用程序的可用性。
      非功能测试
      功能测试未涵盖的 Web 应用程序的属性通常使用非功能测试进行测试。本节可能包括以下内容:
      · 负载测试
      · 性能测试
      · 压力测试
      · 跨浏览器测试
      · 浏览器兼容性测试
      根据项目可以有其他的。
      安全测试
    Web 应用程序的安全测试在当今世界是绝对必要的。据Cybersecurity Hub称,2022 年发生了 4100 起数据泄露事件。这些只是那些公开披露的。如果我们考虑对 Web 应用程序的黑客攻击,2022 年每天有 30,000 个网站遭到黑客攻击,影响了 64% 的在线网站。
      您的网站很容易成为其中之一。为避免此类情况,请始终构建高安全性的网站,并测试其是否存在任何泄漏、后门、注入防护和您的网站在现实世界中可能经历的其他攻击。
      自动化在 Web 测试中的作用
      自动化测试从一开始就是所有测试人员的朋友。它快速移动事物、执行事物并快速包装事物。随着当今 Web 应用程序的规模,自动化测试已成为 Web 测试的必需品,而不是一种选择。
      我们第一次接触自动化测试是在开发产品并用它编写单元测试时。随着新功能的开发,这些单元测试不断增加,通常达到数千个。
      然后,我们提交回归测试代码,对集成代码运行回归测试以检查是否有任何问题。最后,我们继续讨论 CI/CD 管道,它包含自己的测试并考虑构建的稳定性和其他方面。当我们选择自动化测试时,所有这些事情都不需要人工干预。我们编写脚本,然后在新集成的代码上重复执行它们。
      我们在自动化 Web 测试中面临的唯一挑战是投资回报,这可能需要自己的时间。一开始,我们可能不得不在自动化测试上投入大量资金。这包括聘请自动化工程师、设置自动化基础设施、编写自动化脚本所花费的时间,以及开发支持自动化测试的 Web 测试工具。
      但好在这都是一次性投资。使用自动化 Web 测试的主要动机是从手动测试域中删除重复性任务,让它专注于探索性测试部分。因此,即使在今天,一次测试运行的成本更高,相同的测试也会运行数千次,从而为我们提供下图。

      如果组织的未来目标是长期进入市场并不断推出新功能,那么自动化测试可能是一个很好的武器。
      Web 测试面临的挑战
      尽管到目前为止,通往网络测试的道路可能看起来一帆风顺,但中间还是有一些小插曲。测试人员可能面临的主要挑战如下:
      确保应用程序的安全
      Web 应用程序的安全性是一个领域,在有人利用安全性之前,没有人可以保证并宣称“此 Web 应用程序是完全安全的”。雅虎认为他们进行了安全测试并且他们的网站是完全安全的,直到有人在 2013 年 8 月入侵并窃取数据。
      然后,他们再次认为他们现在拥有一个完全安全的网站,直到有人在 2014 年再次从 5 亿个帐户中窃取数据。所以你永远无法确定安全性,并且总是希望它没有受到攻击。这是执行和报告 Web 测试分析时的主要挑战。
      浏览器中的碎片
      另一个主要的网络测试挑战是网络浏览器的碎片化。一个 Web 浏览器有数百个版本,每个版本都会弃用一些 API 或其他功能,并添加一些。
      如果该 API 深入到您的应用程序中,则删除它及其依赖项将成为一项艰巨的任务。考虑到浏览器如何每十五天发布一个新版本,这就成为使网站与最新技术保持一致的主要挑战,尤其是当网站庞大而复杂时。
      应对用户期望
      随着新技术和快速互联网在全球范围内可用,用户的期望已经提高到十年前的水平。
      在 2022 年的一项调查中,46% 的用户永远不会返回到加载缓慢的网站,预期时间约为 4 秒。六年前,这个数字还是35% 。
      满足用户的期望意味着在每个域中匹配加载时间和其他方面,例如更快的性能,或者与新的 UI、UX 和可用性方面并驾齐驱。用户对他们访问的每个网站都有更高的期望,而在每个部门应对这些期望是团队今天面临的主要挑战。
      同一用户的跨平台一致性
      单个用户很可能拥有不止一台个人设备。在拥有多台设备的用户中,40%的用户在一台设备上开始一项活动,然后在另一台设备上完成。这是一种常见的做法,各个国家/地区的数字可能会有所不同,在英国等发达国家安全地超过 50% 大关,其数字为 60%。这些活动通常是多天的活动,所有这些用户都希望他们的数据能够跨设备保持一致。他们想要的不仅仅是 cookie,还有实际数据。
      例如,亚马逊提供了一个“愿望清单”功能,用户通常可以在其中添加他们希望在未来购买的产品。几天后,在他们的桌面上浏览时,用户希望他们的愿望清单在该平台上可用,即使产品是通过移动设备添加的。
      这是一个小例子。跨平台一致性可以超越可见的数据,比如用户行为一致性,在各个平台上等等,这可能涉及到跨设备的建议和推荐。
      这成为网络测试部分的主要挑战,因为它增加了一层审查,这需要大量的人工干预。这需要时间并给测试人员和 QA 带来压力。
      Web 测试中应遵循的最佳实践
      在本综合指南的最后,让我们重点介绍在运行 Web 测试时应遵循的最佳实践。
      不要错过跨浏览器测试
      很多时候,测试人员可能会觉得在单一类型的浏览器上进行测试可以满足其所有版本。因此,他们可能会通过在所有浏览器的最新浏览器版本上执行测试来结束测试。这可能会在用户端造成问题,因为很多用户在日常生活中不使用最新版本。
      这里的最佳实践始终是跨不同版本和浏览器执行跨浏览器测试。这将提供主要但不是最新版本的见解和错误。
      始终包括探索性测试
      探索性测试,顾名思义,是在没有任何指导方针或严格的预定义计划的情况下,专注于探索 Web 应用程序的测试。我们只是像最终用户一样打开网络应用程序,并以敏锐的眼光观察应用程序的行为,不断探索所有模块。
      在这里,我们发现了许多可能永远不会被自动化覆盖或永远不会被覆盖的错误。将它包含在我们的测试阶段可以帮助我们调试可能直接从最终用户那里出现的问题。
      认真对待绩效指标
      您最终将通过经验学习的最佳实践是与您的 Web 应用程序相关的性能指标的严肃性。仅仅运行性能测试是不够的。我们还应该根据标准分析这些指标。
      如果您的网站以前加载时间为 0.2 秒,现在为 0.5 秒,则它仍在安全范围内。但是,我们应该知道这些变化的原因,因为如果不认真对待它们最终会破坏系统。
      知道你的系统在哪里崩溃
      一个对您总是有用的额外最佳实践是了解您的系统的局限性。无论您在市场上的知名度有多大,网站有多复杂和强大,它总会有一定的局限性。它可以接受的最大请求数是多少?各个地区的延迟是多少?一次可以接待多少访客?
      回答更多此类问题将使您在灾难发生前做好准备。
      结论
      在 1900 年代初期,没有人会想到卖家可以在不与买家会面或交谈的情况下将他们的商品销往全球任何国家。当这样的场景在今天每一秒都发生时会发生什么?想要出售物品的人在搜索引擎上搜索“如何出售物品”。
      然后在找到答案后,他们访问一个平台,注册并上传必要的产品信息。在世界的另一端,有人想购买商品并在另一个搜索引擎上搜索“在线购买 XYZ”。他们获得链接并通过第三方网站 Paypal 购买。然后卖家发送包裹并提供快递页面的链接以跟踪包裹。
      如上所述,在一个简单的交易中,我们需要五个在不同领域工作的网站。当一个东西拥有如此强大的力量,而我们是背后的力量时,我们能冒险不经测试就发布网站吗?我们绝对不能!
      Web 测试是一门艺术,考虑到它在这个过程中需要多少角度和曲折。它需要高度的奉献精神,中间有很多意想不到的事情。

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-4-25 06:54 , Processed in 0.061903 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表