浅谈兼容性测试

兼容性测试的概念

兼容性测试是一种软件测试,用于确保构建的系统/应用程序/网站与其他各种对象(如其他网络浏览器、硬件平台、用户、操作系统等)的兼容性。这种类型的测试有助于了解产品在特定环境中的表现。

为了方便理解,可以把硬件,软件,平台等对象抽象成测试设备这个概念。结合项目上兼容性测试的实践经验可以提取出以下特征:

  1. 在交付项目中,被测对象往往对测试设备有较大的依赖。以测试一个WEB产品为例子,一般需要考虑:浏览器,浏览器版本,操作系统,屏幕尺寸,分辨率大小等。有时候也需要考虑硬件设备参数和型号。任何差别都可能出现测试结果不符合预期的情况。
  2. 兼容性是其他测试类型的前提。在敏捷测试象限里,不同的测试类型根据四个维度进行了划分,兼容性测试虽然没有出现在其中,但是在进行不同类型的测试之前,测试主体和测试设备需要保持一种“稳定”状态才可以开展。我把这种“稳定”的状态视作兼容性是其他测试的必要不充分条件。
  3. 越多的测试设备意味着越多的资源消耗。在测试人员测试熟练程度固定的情况下,每增加一个测试设备都会增加其工作量,更不用说开发成本和采购、搭建测试环境的成本。
  4. 没有任何一个产品会追求兼容所有可用设备,基本上所有项目都会根据产品定位、业务类型、用户群体等维度对测试设备进行限制,从而达成交付目标。这个过程常常在售前或者启动阶段完成。

准备测试设备清单

显然,在当今设备、平台碎片化的现实中,如何确定测试设备对于项目进行兼容性测试有着关键作用。从以下几个方面可以筛选和确认出兼容性测试设备清单:

1.基于市场定位和产品定位

市场定位,是指企业对目标消费者或目标消费者市场的选择;而产品定位,是指企业对用什么样的产品来满足目标消费者或目标消费市场的需求。从理论上讲,应该先进行市场定位,然后才进行产品定位。产品定位是对目标市场的选择与企业产品结合的过程,即将市场定位企业化、产品化的工作。

在测试人员设计兼容性测试设备初期,需要考虑产品定位的背景输入,从而限制测试设备类别。

一般来说,企业期望产品适配多端,从项目成本和风险平坦的角度,会对项目进行拆分,以较小单元分阶段完成产品开发。拆分会进一步限制测试设备种类。例如,一个资讯类的科技公司希望开发出基于用户关系,专注兴趣社区的即时分享传播信息,并与他人互动的社交媒体平台。在iOS生态完善,目标用户使用量大、用户体验更好的前提下,业务侧可能针对性给予开发团队这样的输入:需要开发在主流iOS设备安装和使用的APP。

2. 基于交付目标

交付目标需要考虑交付本身各种条件和制约因素,可能存在如业务价值、技术复杂度、产品类型、用户类别、市场定位等维度。从这些关键维度可以提取两种搜集测试设备的方法:

2.1 主动搜集

调研:根据地域、竞品分析、操作系统市场占有率、浏览器市场占有

相关推荐

我是如何成为一名全栈工程师的?

这篇文章讨论了全栈开发的好处和如何开始转型,以及在需求分析和架构设计中如何分层和隔离业务变化。作者分享了不同类型知识的学习方法和针对语言和框架的练习建议,以及通过结对编程和TDD加速学习的技巧。

IDEAL Garden 1008

如何利用链路追踪快速定位问题

随着微服务应用数量的增加,服务与服务之间的调用关系变得复杂,导致系统问题定位困难。链路追踪可通过唯一ID标记请求的整个调用链路,记录每个节点,快速定位问题。

IDEAL Garden 419

咨询师需要具备同理心

合作的建立在于双方有共识和目标,共识不断扩大,目标一步步达成,双方产生信任,但这个过程可能会充斥着冲突和争议,最有效的方法就是建立理解和联结,也就是同理心。

IDEAL Garden 393

DDD诊所——聚合过大综合症

“DDD诊所”是Thoughtworks DDD社区的一项活动,通过对同事们在实施DDD过程中遇到的问题进行分析和解答,共同提高开发水平。我们将其中一些典型案例整理成文供大家参考。之后也会考虑在适当的时候将这一形式对外部开放。

IDEAL Garden 343

如何编写技术文档?

所谓编写技术文档,基本意味着以结构化的方式组织文档,传达出清晰明确的信息,来让用户正确的使用你的软件产品。结构化文档不仅仅是当前最为主流的文档组织方式,在可预见的未来也会如此。

IDEAL Garden 597

你有“搜商”吗?

互联网信息检索是一个非常重要的能力。这里,我整理了一些常用的信息检索材料,希望能帮助到写作和需要在网络中获取数据的人们。

IDEAL Garden 415

如何建立你的离岸交付团队?

这里有四种离岸交付合作模式:Team Extension Model,Hybrid Collaboration Model,E2E Collaboration Model和Onshore/Offshore Collaboration Model。每种模式都有其优势和挑战,需要根据组织自身情况选择合适的模式。其中E2E Collaboration Model是一种全面的离岸交付模式,适用于团队成熟度较高、业务模块相对独立的情况。

IDEAL Garden 538

如何高效使用Gherkin

Gherkin语言有时候又被称为小黄瓜语言,它是第一种有着类似自然语言可读性的业务语言,用来描述业务行为,而不必关心具体的实现细节。它也是一种领域特定的语言,用来定义Cucumber格式的测试。

IDEAL Garden 595

低碳 Web 实践指南

本文探讨了如何构建低碳 Web 应用来应对气候变化和碳排放问题。文章指出,通过精简压缩 Web 应用、降低数据传输量以及优化应用性能等措施,可以减少碳排放。文章还强调了在软件开发生命周期中落地相关举措的重要性,并提供了一些测试工具和实践经验。

IDEAL Garden 468

简化Java单元测试数据

冗杂繁复的数据初始化代码会影响单元测试本身的代码质量,造成单元测试编写成本高、易读性差、易维护性低等问题。

IDEAL Garden 1461

什么是多运行时架构?

随着微服务架构在大规模组织中成熟落地,服务化体系规模的不断扩张也带来了一些典型问题:服务如何有效治理和接入?团队如何高效协作?本文介绍了多运行时架构解决上述问题的思路,并通过几种开源方案探讨了在实现中遇到的挑战,最后提出了对演进的设想及展望。本文介绍了多运行时架构的概念以及一些实现方案,并讨论了目前的实现中存在的限制与挑战,最后设想了一种未来可能的架构形态。

IDEAL Garden 1397

数据工程中的任务调度实践

数据工程的任务调度应该以“日志驱动”作为解决方案。而日志驱动的重要部分“日志解耦”正是提高系统健壮性的利器。

IDEAL Garden 322

如何避免AWS的高额账单?

尽管Serverless架构在某些方面表现出色,但在当前轰轰烈烈的“微服务”进程中,它仍然不是一种主要的选择。除了由于本身特性导致的使用场景受限外,我想乏善可陈的关于Serverless最佳实践的总结也是一个重要的因素。

IDEAL Garden 622

为什么企业要做大规模敏捷?

软件工程里一个重要的指标就是“可用的软件”,所以如何在提高代码质量,最大程度地减少软件中的Bug同时,平衡软件迭代速度与交付效率是我今天想跟大家讨论的问题。

IDEAL Garden 1062

数据离奇丢失案件的侦破与思考

数据出现问题相对比较严重,团队都会着急去排查原因,不过,在开始排查之前,有更重要的事情要做。我认为问题排查也分两个步骤:清晰识别问题、定位问题。

IDEAL Garden 772

结对编程的十个场景

本文以真实项目实践总结为基础,选取了结对编程中的典型场景,叙述了在敏捷交付项目中,开发者在实践结对编程时经常遇到的挑战。

IDEAL Garden 919

从“高内聚,低耦合”说起

做设计时,优先以满足条件的模式为指导,当模式无法满足设计时,以对应层次的原则作为指导。当低层原则无法指导设计时,向高层依次寻找原则。当新的设计方案能解决某一类问题时,它可能就是一种新的模式。

IDEAL Garden 991

Mongo初遇回忆录

MongoDB 是一个操作简捷,面向文档存储的数据库。本文以一种独特的视角揭示了它的实践体验。

IDEAL Garden 733

探索云原生安全测试

由于不同时代所使用的架构和技术的差异,云时代面临着一系列安全测试挑战。然而,传统的安全测试手段和工具由于其固有的缺点,无法很好地适应云时代的安全测试需求。

IDEAL Garden 813

浅谈基于深度学习的漏洞检测

深度学习在图像处理、视频实体识别、自然语言处理等领域中已经取得了长足的发展和突出的成果,这自然驱使着安全研究员们将神经网络引入到安全领域中。

IDEAL Garden 1093

如何简单实现ELT?

ELT非常适合为数据湖仓或数据集市提供数据管道,并且可以用更低的成本,根据需求,随时对大量数据进行分析。本文主要介绍如何使用Airflow和dbt实现ELT流程,并与snowflake集成的方法。

IDEAL Garden 1071

Web性能评价指标

遇见用户抱怨性能时,不要先入为主地判定性能差,逐个排查系统可能有的性能问题,优化非最佳实践。而应该理性地以用户为中心,收集真实用户数据,衡量系统性能好坏。

IDEAL Garden 718

当谈论引用透明时,我们在说什么

谈论到引用透明(Referential Transparency),我们都会聊函数式编程(FP),会聊Effect和Side Effect,会聊纯函数(Pure Function)等,这些概念相互关联,有时甚至彼此引用定义,能够真正理解它们的含义非常重要。

IDEAL Garden 484

用技术应对气候危机

随着气候灾害,极端天气的频繁出现,关于气候变化的讨论已经越来越多。各国政府,各行各业也逐渐将可持续发展提上议程。软件作为日常工作生活中不可或缺的一部分,它和气候变化之间有什么关系呢?我们作为软件从业者,又可以做些什么来促进气候目标的达成呢?本文将从软件对可持续发展的影响出发,举例介绍软件如何从三个方面降低碳排放。然后就其中一个方向-软件自身碳排放进行介绍,再到绿色软件的定义,度量和原则。最后提出作为软件从业人员现在可以做些什么。那么到底什么是绿色软件呢?

IDEAL Garden 534

一次有效沟通的组成

一个合格的职场人,所需要具备最重要的三项技能:沟通能力,时间管理能力和团队合作能力,其中沟通能力又是作为基础当中的基础。

IDEAL Garden 527

AI测试的迷思

AI系统本身的发展还不足以很好地替代人在测试分析和测试设计方面的工作,导致AI实现的自动化测试的准确性以及可维护性比人工的方式更差,不过它的时间和成本优势却远远超过人工,这个也是其越来越火的根本原因。所以在测试领域,AI需要更加努力,才能真正替代人的工作。

IDEAL Garden 656

Tech Lead如何引导团队成员解决问题?

在团队成员向Tech Lead寻求帮助时,Tech Lead首先要做的是明确提示期望,识别能力差距,其次是引导团队成员自己得出解决方案,最后制定培训计划以提升团队能力。

IDEAL Garden 738

好代码的五个特质

如何衡量代码好坏?SOLID采用了一组原则来定义好的代码,但是原则更像是规则,要么符合,要么不符合。而软件开发过程非常复杂,其间充满了平衡和妥协,事实上并没有一种非黑即白的规则可以适用。

IDEAL Garden 521

我希望早点知道的关于成长的建议

这篇准备了很久,又临时起意,而终于“完成”了的短文,旨在将一些我觉得重要的建议讲给渴望成长,又不知从何做起的同学们。这里分享的几个小的点,做起来难度应该都不算大,如果能持之以恒,我相信你可以看到自己成长的速度。

IDEAL Garden 400

在DDD中建立领域模型

我们应该基于领域概念设计领域模型,然后再采用合适的模式降低领域模型的复杂度,进一步增加领域模型的表达能力。

IDEAL Garden 488
上一篇: 从“高内聚,低耦合”说起
下一篇: 结对编程的十个场景
Thoughtworks思特沃克中国
Thoughtworks思特沃克中国 企业官方账号 企业官方账号
博客等级 码龄25年 751粉丝 459原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值