Web测试转App测试不看不知道

Web测试

Web一般指的是互联网应用系统,好比税务电子化征管档案系统、金融数据平台、餐饮商家管理后台等等,其实质是C/S的程序。web

C是Client——客户端,S是Server——服务器。sql

Web中的客户端通常指的是Browser——浏览器,也就是B/S。数据库

Web系统有三层结构 == 表示层 + 业务层 + 数据层。设计模式

MVC软件设计模式也是三层 == 模型 + 视图 + 控制器。浏览器

它们的对应关系以下,不彻底准确,简单意会意会便可,安全

1593469587793_副本

测试的一个重要思路是,了解被测对象的架构,Web系统典型架构如图所示,服务器

1593470884765_副本

这个图很重要,多看几秒!想一想这些问题,网络

我测试覆盖的是哪些地方?架构

有哪些环节是漏掉的?app

浏览器从请求到响应,这个过程是怎样一个链路?

测试难点

Web测试,不只仅是页面的点点点。

面对这样复杂的系统,如何保障质量,使系统健康的、长期的、稳定的运行,是测试的难点。

业务复杂度自己就是难点,并且这是测试核心中的核心。

安全、性能的评估,也是一个棘手的难点。

网站用户的能力,包括浏览器、操做系统、设备、网络带宽均可能是良莠不齐。

网络中断,或弱网状况下,网站的表现。

网站自己的应用日志、系统资源、冷热数据。

引入的第三方程序的质量,虽然能够直接用,但仍需作黑盒测试。

国际化差别,如语言、时差、货币兑换。

你要考虑的不是一个点,也不是一个面,而是一个总体。

表示层

表示层的测试对象包括了,

  • UI(User Interface)用户界面
  • UE(User Experience)用户体验
  • UED(User-Experience Design)用户体验设计

简而言之就是,系统的外观和感受。

更专业具体点,就是总体审美、字体、连接跳转、图形分辨率和大小、色彩、拼写检查、文字语法和风格、光标位置、选中默认按钮、交互操做体验友好、商业特定术语和风格、确认框、浏览器版本、操做系统配置等。

表示层的测试主要以人工为主,部分测试也能够经过工具完成,如无效连接检测。

业务层

业务层包括内部业务和外部服务,内部业务和外部服务都须要通过测试。

内部业务就是实实在在的业务,每一个公司的业务都有差别。

业务测试是贯穿于测试周期自始始终的。

最开始测试考虑的是业务,测试结束考虑的也仍是业务。

业务层测试是用到测试用例设计方法最多的,包括等价类划分、边界值、断定表、因果分析、场景法等。

同时也须要作性能测试,考察响应时间、吞吐率等性能指标。

绝不夸张的说,无业务,不测试!

数据层

数据层主要干的事就是读写数据。

数据层的数据既包括系统自产的,也包括从用户收集来的数据。

数据是存放在数据库服务器里边的,包括RDBMS、NoSQL。

数据模型定义了数据层接口和数据存储方式。

数据能够直接使用,但每每是通过了ETL对数据进行加工。

数据层的测试是有一些门槛的,但一些隐藏的bug就藏在这一层。

首先须要测试的是数据存储的正确,其次须要测试冗余数据的清理,还有数据状态的变化。

数据库的性能,sql的耗时,数据量大小,数据冷热。

数据库的数据类型,长度、精度、字符集、日期时间格式、时区等。

数据库的安全,数据加密和安全性。

还有数据库的鲁棒性,故障处理,备份恢复能力,最大化MTBF,最小化MTTR。

App测试

网络

App测试仍是从架构入手,先看看App的典型的无线运营商网络架构,

2020-07-28_211128_副本

移动网络,是App区别于Web应用的重要差别。

移动网络的通讯协议并非基于IP的,而一般是一种基于射频的协议。

如,

  • CDMA(Code Division Multiple Access)码分多址
  • TDMA(Time Division Multiple Access)时分多址
  • GSM(Global System for Mobile)全球移动通讯系统
  • 4G (the 4th generation mobile communication technology)第四代移动通讯技术

不少运营商都使用某种代码转换器或Web代理来进行移动设备与互联网的通讯。可是由于竞争的关系,运营商通常不会披露这些细节。他们可能会“偷偷”干这些事,

  • 将数据转换成WAP或HTTP支持的格式
  • 压缩数据为了更快地传输和提升吞吐量
  • 数据传输加密和隐私保护
  • 屏蔽一些占用太高带宽的站点
  • 从网页中抽取HTML头信息和其余元数据以供程序使用

WAP,是指Wireless Application Protocal,无线应用协议,已通过时。

如今大多数都使用HTTP协议了。

正是因为移动网络的存在,以及不一样使用场景下网络状态的不稳定,在测App时,须要作弱网测试。

弱网包括无网(断网)、弱网(2G 3G 4G)、网络切换。

设备

App测试和Web测试,另一个明显的区别就是,移动设备很是丰富。

不一样的机型。不一样的屏幕。不一样的版本。不一样的系统。不一样的CPU内存。不一样的浏览器。不一样的配置。

App是To C的,也就意味着使用环境没法统一控制,是千差万别的。

这对测试来讲是很大的挑战,以致于有漫画调侃,高级测试工程师,能够转行卖手机了!

不过好在有模拟器,有云测平台,减小了测试设备兼容性的成本。

模拟器也不是银弹,不能替代真机,因此App必须在真机上面跑过才算ok。

真机和模拟器,各有利弊,须要作必要的权衡。

能够先用模拟器完成大量测试,最后使用真机作验收。

用真机测试还须要注意的一个小问题就是,测试用例设计的尽可能有效,否则每一次重复测试,就极可能在燃烧你的经费。

测试方法

App测试和Web测试有不少共同的地方,尤为是业务层和数据层。

不过因为网络和设备等因素,让App测试也有一些特殊的场景,

测试分类 说明
安装/卸载 确保用户能够正确的安装应用程序
确保用户能够彻底卸载应用程序
测试安装中断后可否恢复正常
测试卸载可否中断
网络基础设施 证明应用程序在网络丢失的状况可以正确响应
证明应用程序可以正确响应网络回复的状况
证明应用程序可以在网络信号差的状况下正确响应
来电和短信处理 测试用户可以在应用程序运行的状况下接电话以及回短信
测试用户可以在处理完来电和短信以后可否返回应用程序
测试用户可否在不中断应用的状况下取消来电和短信
测试用户可否在不退出应用程序的条件下拨打电话和短信
内存不足 确保应用程序在设备内存不足的状况下仍然可以稳定工做
按键 测试全部的热键按照产品规格书实现
退出 检查程序可以正常退出(经过按键合屏或滑块锁屏)
确保在机器关闭的状况下应用程序的行为和设计规格说明书上一致
充电 确保程序在切换到充电模式时工做正常
确保程序可以在充电状态下正常工做
确保程序在退出充电模式时不会发生异常
电量 测试在电量不足的状况下应用程序的行为表现
计算应用程序将用多长时间耗尽电量
确保在电池忽然拔出的状况下应用程序的反应和说明书一致
硬件资源 确保应用程序没有过分占用CPU
确保应用程序不消耗过多的内存资源
升级 确保静默升级、提示升级、强制升级状况下升级成功
确保补丁包、全量包升级成功

电子商务术语

B2B、B2C、C2C、O2O是电子商务的4种模式。

B2B,Business to Business,企业对企业,如经销商销货给超市。

B2C,Business to Customer,企业对我的,如超市卖东西。

C2C,Customer to Customer,我的对我的,如摆地摊。

O2O,Online to Offline,线上到线下,如网上点个豆浆早餐到肯德基取。

B端-->企业端。

C端-->我的端。

G端-->政府端。

参考资料

——《软件测试的艺术》

专一测试,坚持原创,只作精品。欢迎关注公众号『东方er』


版权申明:本文为博主原创文章,转载请保留原文连接及做者。

相关文章
相关标签/搜索