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

上一篇 / 下一篇  2020-08-10 13:17:24

  Web测试
  Web通常指的是互联网应用系统,比如税务电子化征管档案系统、金融数据平台、餐饮商家管理后台等等,其实质是C/S的程序。
  C是Client——客户端,S是Server——服务器。
  Web中的客户端一般指的是Browser——浏览器,也就是B/S。
  Web系统有三层结构 == 表示层 + 业务层 + 数据层。
  MVC软件设计模式也是三层 == 模型 + 视图 + 控制器。
  它们的对应关系如下,不完全准确,简单意会意会即可,
 
  测试的一个重要思路是,了解被测对象的架构,Web系统典型架构如图所示,
  
  这个图很重要,多看几秒!想想这些问题,
  我测试覆盖的是哪些地方?
  有哪些环节是漏掉的?
  浏览器从请求到响应,这个过程是怎样一个链路?
  测试难点
  Web测试,不仅仅是页面的点点点。
  面对这样复杂的系统,如何保障质量,使系统健康的、长期的、稳定的运行,是测试的难点。
  业务复杂度本身就是难点,而且这是测试核心中的核心。
  安全、性能的评估,也是一个棘手的难点。
  网站用户的能力,包括浏览器、操作系统、设备、网络带宽都可能是参差不齐。
  网络中断,或弱网情况下,网站的表现。
  网站本身的应用日志、系统资源、冷热数据。
  引入的第三方程序的质量,虽然可以直接用,但仍需做黑盒测试
  **化差异,如语言、时差、货币兑换。
  你要考虑的不是一个点,也不是一个面,而是一个整体。
  表示层
  表示层的测试对象包括了,
  · UI(User Interface)用户界面
  · UE(User Experience)用户体验
  · UED(User-Experience Design)用户体验设计
  简而言之就是,系统的外观和感觉。
  更专业具体点,就是整体审美、字体、链接跳转、图形分辨率和大小、色彩、拼写检查、文字语法和风格、光标位置、选中默认按钮、交互操作体验友好、商业特定术语和风格、确认框、浏览器版本、操作系统配置等。
  表示层的测试主要以人工为主,部分测试也可以通过工具完成,如无效链接检测。
  业务层
  业务层包括内部业务和外部服务,内部业务和外部服务都需要经过测试。
  内部业务就是实实在在的业务,每个公司的业务都有差异。
  业务测试是贯穿于测试周期自始始终的。
  最开始测试考虑的是业务,测试结束考虑的也还是业务。
  业务层测试是用到测试用例设计方法最多的,包括等价类划分、边界值、判定表、因果分析、场景法等。
  同时也需要做性能测试,考察响应时间、吞吐率等性能指标。
  毫不夸张的说,无业务,不测试!
  数据层
  数据层主要干的事就是读写数据。
  数据层的数据既包括系统自产的,也包括从用户收集来的数据。
  数据是存放在数据库服务器里边的,包括RDBMS、NoSQL。
  数据模型定义了数据层接口和数据存储方式。
  数据可以直接使用,但往往是经过了ETL对数据进行加工。
  数据层的测试是有一些门槛的,但一些隐藏的bug就藏在这一层。
  首先需要测试的是数据存储的正确,其次需要测试冗余数据的清理,还有数据状态的变化。
  数据库的性能,sql的耗时,数据量大小,数据冷热。
  数据库的数据类型,长度、精度、字符集、日期时间格式、时区等。
  数据库的安全,数据**和安全性。
  还有数据库的鲁棒性,故障处理,备份恢复能力,最大化MTBF,最小化MTTR。
  App测试
  网络
  App测试还是从架构入手,先看看App的典型的无线运营商网络架构,
  
  移动网络,是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测试也有一些特殊的场景,
  电子商务术语
  B2B、B2C、C2C、O2O是电子商务的4种模式。
  B2B,Business to Business,企业对企业,如经销商销货给超市。
  B2C,Business to Customer,企业对个人,如超市卖东西。
  C2C,Customer to Customer,个人对个人,如摆地摊。
  O2O,Online to Offline,线上到线下,如网上点个豆浆早餐到肯德基取。
  B端-->企业端。
  C端-->个人端。
  G端-->政府端。

TAG: APP测试 Web测试 web测试 专项测试

 

评分:0

我来说两句

日历

« 2024-04-12  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 54071
  • 日志数: 43
  • 建立时间: 2019-02-12
  • 更新时间: 2020-08-10

RSS订阅

Open Toolbar