android测试开发概念
一:测试分类
1.分类概览
按测试阶段划分:
单元测试
集成测试
系统测试
验收测试
按是否覆盖源代码:
黑盒测试:
功能测试:
界面测试
逻辑测试
安装测试
应用性测试
兼容性测试
性能测试:
稳定性测试
负载测试
压力测试
一般性测试
按是否运行代码:
静态测试
动态测试
按是否自动化:
自动化测试
手工测试
其他测试:
回归测试
冒烟测试
随机测试
验收测试
2.白盒应用领域
黑盒测试:贴近用户、只关注输入输出不关心代码实现;覆盖不了所有代码
白盒测试:关心源码的实现及其内部逻辑发现隐藏问题、只能从代码层面发现代码是否正确、发现的问题用户未必会涉及
二:白盒环境搭建
1.测试环境准备
JDK、Android—SDK 、Android Studio、SVN
2.环境变量配置:
依次点击 开始>计算机>系统属性>高级系统设置>环境变量>系统变量Path >点击编辑;
将光标移动到末尾输入英文分号;依次加入自己本地的jdk路径、android-sdk 的platform-tools 和android-sdk-platforms路径 C:\Program Files\Java\jdk1.8.0_131\bin ;D:\android- sdk\platform-tools;D:\android-sdk\platforms 路径之间以英文分号相隔 如本地路径不一致改成 自己本地对应路径
3.检验环境是否安装成功
点击开始输入cmd 输入命令java-version,显示jiava版本 ;adb devices ,显示已经连接的设备
如果已有连接则会显示手机的SN号
三:用例设计思路及规范
程序控制流图
逻辑覆盖
路径分析
规范:
1.设计用例流程的所有动作都要用代码实现,不能还要依赖人力或其他非自动化动作。但用例涉及界面效果时本地调试时可以观察下功能上是否和接口检测相符必须有检测点且必须用代码实现。
2.分支是否遗漏某种情况导致漏测?
逻辑漏洞:假设接口(函数)功能失效case是否一定failed?
预置初始化-执行-检测-清理(改变手机状态的恢复初始状态bimap垃圾回收
四:工具类介绍
1.BaseTestCase类公共函数介绍
1.1.BaseTestCase初始化属性
所有测试类需集成BaseTestCase、可直接调用已经实例化的 测试应用context 对象mContext、被测应用context对象 targetContext 、及Instrumentation mInstrmentation (context 对象为android获取系统服务必备参数)
1.2.封装公共函数
1.lanchActivity 可以启动一个activit并获取该activity实例
2.点击类clicikOntext
3.finishOpendActivits关掉所有窗口
4、mockhome 回到home键
5.startActivyByName 通过包名启动应用
6.dial打电话
7.takephoto 照相
8.sleep 休眠屏幕
9.wakeup 唤醒屏幕(亮屏)
10.OpenGpsSettingEvent 打开GPS
11、openTestProviderLocation 打开开发者模式等常用公共函数
五:用例来源及开发示范
1.用例来源
A)源码
B)UI用例改造
C)手动用例自动化
六:注意事项
1.android中文官网 https://developer.android.google.cn/index.html
2.申请源码访问权限
3.源码jar包
Java初转android常见问题:
1.对象new不出来、或者new出来的没有作用
2.找不到具体实现。
3.APP、装不上、工程carsh找不到原因
七:android白盒开发学习流程
1.android官方开发java
2.熟悉手机基本操作、及adb命令
3.Android开发基础(第一行代码android)
4.深入学习Android源码(深入解析android系统)
android测试开发概念的更多相关文章
- android测试开发环境搭建
本文档针对未接触过android的0基础人员,在开始熟悉android之前,首先需要一个学习环境来支撑,在此简单介绍一下android环境搭建.(当然大家也可以百度.谷歌,类似的文档很多) 环境搭建: ...
- 【Android测试】【随笔】与 “58同城” 测试开发交流
◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5384698.html 初衷 一直都有一个这样的想法: 虽然 ...
- 【Android测试】【第十七节】Instrumentation——App任你摆布(反射技术的引入)
◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5569844.html 前言 学习了上节之后,大家是否已经 ...
- Android NDK 开发(四)java传递数据到C【转】
转载请注明出处:http://blog.csdn.net/allen315410/article/details/41845701 前面几篇文章介绍了Android NDK开发的简单概念.常见错误及处 ...
- Android NDK 开发(二) -- 从Hlello World学起【转】
转载请注明出处:http://blog.csdn.net/allen315410/article/details/41805719 上篇文章讲述了Android NDK开发的一些基本概念,以及NDK ...
- Android NFC开发概述
NFC手机相比普通手机来说,有以下3个附加功能: 1.可以当成POS机来用,也就是“读取”模式 2.可以当成一张卡来刷,也就是NFC技术最核心的移动支付功能 3.可以像蓝牙.Wi-Fi一样做点 ...
- 转——Android应用开发性能优化完全分析
[工匠若水 http://blog.csdn.net/yanbober 转载请注明出处.] 1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜一堆关于性能的建议,感觉 ...
- Android 应用开发性能优化完全分析
1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜一堆关于性能的建议,感觉大家你一总结.我一总结的都说到了很多优化注意事项,但是看过这些文章后大多数存在一个问题就是只 ...
- 【转】Android应用开发性能优化完全分析
http://blog.csdn.net/yanbober/article/details/48394201 1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜一堆关 ...
随机推荐
- vue - 过滤器filter的基本使用
1.全局过滤器 输出: 过滤器可以多次来调用 输出: 2.私有过滤器 <!DOCTYPE html> <html lang="en"> <head&g ...
- Scala本地安装
一.下载 https://www.scala-lang.org/download/ 这里我选择Scala2.10.4版本 二.安装 安装比较简单 和jdk类似 点击一路安装: 选择自己的路径 完成 ...
- 使用JSONP,jQuery的ajax跨域获取json数据
网上找了很多资料,写的不错,推荐下: 1.深入浅出JSONP--解决ajax跨域问题 (http://www.cnblogs.com/chopper/archive/2012/03/24/240394 ...
- mysql导出函数或者存储过程 设置显示方式
mysql导出函数或者存储过程 mysqldump -hhostname -uusername -ppassword -ntd -R databasename > /app/backupflie ...
- SVG 学学就会了。
SVG 随便学学就会了 这两天闲来没事把 Echart 换成 Rechart 感觉世界都清爽了.因为 rechart 使用 svg 来渲染,所以顺带学了下 SVG 感觉很轻松哦. 概念 SVG 是 w ...
- more - 在显示器上阅读文件的过滤器
总览 (SYNOPSIS) more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ] 描述 (DESCRIPTION) More 是 ...
- 基于firebird的数据转存
功能:使用于相同的表从一个数据库转存到另一数据库: 方式:直连fdb并加载django,引用django的model完成: 原因:1.select * from *** 返回的数有很多None,直接i ...
- Redis复制实现原理
摘要 我的前一篇文章<Redis 复制原理及特性>已经介绍了Redis复制相关特性,这篇文章主要在理解Redis复制相关源码的基础之上介绍Redis复制的实现原理. Redis复制实现原理 ...
- 前端自动化gulp使用方法
gulp介绍 1. 网站: http://slides.com/contra/gulp#/ 2. 特点 易于使用:通过代码优于配置的策略, Gulp 让简单的任务简单,复杂的任务可管理. 构建快速 : ...
- git log的个性化设置
--date=(relative|local|default|iso|rfc|short|raw) Only takes effect for dates shown in human-readabl ...