App技术栈

App技术栈
Web 测试和APP的区别?

我们从三个角度来看:硬件、软件、操作系统(链接硬件和软件的桥梁)
web测试:
1.硬件:不需要关心
2.软件:Web测试主要是指B/S架构的测试(Thin Client),是测试的重点
3.操作系统,Web测试会关心操作系统,主要关心的实兼容性

App测试:
1.硬件:必须关心
①设备:厂商(苹果,三星,华为,OPPO),设备号是有用的(和PC不同,设备对应的就是一个个具体的人,有了具体的人,才可能采用精准投放/精准定向)。
② 运营商:联通,电信,移动
③ CPU:高通、华为海思…考虑架构的问题(ARM-64)
④ 内存:存储空间的局限性
⑤ 屏幕:分辨率、交互性(移动端的交互非常丰富)
⑥ 网络:wifi、Cellular(蜂窝)
⑦ 重力感应:旋屏测试要覆盖
⑧ 地理位置:LBS(基于地理位置的服务)
⑨ 电池(电量):低电量会触发interruption场景(中断场景),这是测试的重点

  1. 软件
    APP本身是基于C/S结构的,但是又包含了B/S的核心组件(WebView组件),所以APP被划分为三种:
    原生APP(Native App):系统自带的计算器
    Web App:
    混合App(Hybrid App):微信、淘宝、京东、今日头条…
    [落地页]:Landing Page,指的是在一个原生的APP中拉起的Web页面,通常由系统或软件自带的webview组件进行渲染。通常有这种场景:原生App是不可旋屏的,但是落地页是可以旋屏的。这就带来了很多旋屏Bug的可能性。

3.操作系统

  1. 键盘
    IOS有HOME键:Android有底部导航键(Overview、Home,Back);
    Android手机有部分采用虚拟键盘;全面屏采用了很多手势的上滑操作。
    2.Gesture(手势)
    Tap:轻拍,相当于PC里鼠标单机
    LongTap:长按
    Swipe:滑动。全面屏时代滑动变得更复杂了,分为Swipe up,在苹果手机中相当于按下Home键;Swipe up and pause,在苹果手机中相当于双击Home键的效果。
    Drag:拖动
    Pinch:缩放,通常用来图片的放大和缩小
    Rotate:旋屏
    【注意】:很多智能手机是支持多点触控的,因此还要加上这部分的测试用例
  2. App Lifecycle(应用程序生命周期)
    App是多任务多状态的,但是每一时刻,有且只有一个App占据我们的屏幕。
    PC上的操作系统虽然也是多任务多状态的,但是可以支持分屏效果;
    虽然现在的App有一些已经开始支持分屏,但是仍然以单窗口应用为主流。
    每个App是由自己的状态的:
    ① Not Running:App还没有开始运行
    ② InActive:App运行在前台的时候的一种状态,此时还没有接受系统事件
    ③ Active:App运行在前台的时候的状态,此时已经可以接受系统事件
    ④ BackGround:App运行在后台的一种状态,此时App仍然可以执行代码
    ⑤ Suspend:App在后台运行的一种状态,此时已经不执行代码了
    后台保活策略:
    指的是App被切换到后台后的生命周期
    在IOS 13 以下:App 通常保活时长在175秒,IOS 13 以上:31秒。
    导航类 App/音乐类App/普通App,它们的保活策略是不同的,因此在开发App需要做一个声明。
    视频类App,切到后台后,按设想应该暂停,换句话说,如果没有出现暂停,这就视为Bug。
    视频类App可以被视为一个音乐类App,插播一段无声音乐,起到
    App测试的类型主要有哪些?

测试类型源自于软件质量模型,ISO 9126,六大特性/27子特性。
App测试比较常见的类型有:
功能测试
打断测试
性能测试
UI测试
UE测试(用户体验测试)
网络测试
稳定性测试
安全测试
安装测试
兼容性测试

其中,打断测试用哪些常见测试场景要覆盖?

Home 键单击(Swipe up)–一触发打断;
Overview/Back-打断;
Home 键双击(Swipe up and pause)-打断;
电源键(长按)-打断;
电源键(锁屏)-打断;
插拔耳机-打断;
电量不足(低电量)-打断
网络切换
消息通知-打断
来电通知-打断
闹铃通知-打断
短信提醒-打断
蓝牙连接-打断
旋屏-打断
隔空投送-打断
系统更新-打断
应用内购买-打断
App切换(比如通过QQ或微信登录)-打断
地理位置通知-打断

手机抓包
fiddler/Charles
测试方案:风险评估,一定要有应对策略
需要使用测试策略,

1.正交实验法,
2.不走正交考虑市场占有率考虑哪种机型是市场率高(统计网站的网站)
网络抖动:网络时好时坏
敏捷管理和敏捷测试
敏捷的主流:Scrum,曾经是XP(极限编程)、FDD(特性驱动开发)
三大角色:
product Owner(产品经理)
Scrum Master (敏捷教练),注意和PM (项目经理)的区别
Scrum team (通常指Developer),没有专职测试
四大会议:
Planning Meeting(计划会议)
Daily Scrum (Stand-up Meeting,站会)
Review Meeting(Demo Meeting)
Retrospective Meeting (鞭尸会,复盘会)
敏捷中迭代的概念
Iteration->,Sprint(冲刺)
通常一个冲刺,是一周,两周,一个月。
需求概念
Backlog(可以理解为“需求项),分为Product Backlog和Sprint Backlog。
Product Owner 日常编写 product backlog (会对backlog,设定priority),在Planning meeting上,团队一直决定选取其中的哪些作为此次的冲刺。

trello,跟踪
Backlog要以 User Story 来体现需求,‘作为XXXX,我希望XXXXX,已达到XXXXX’的目的,As…I want to … So that …
测试计划和测试方案
参见模板。要包含被测对象的当前这次冲刺的应测特性和不测特性,这次项目组成员的角色和职责(分工),测试的类型,测试的资源和测试的风险,测试进度。
进度建议以甘特图体现,项目跟踪和进展建议以燃尽图体现。
推荐的项目管理平台
jira +Confluence:jira主要覆盖Backlog
弱网测试:

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值