文档库 最新最全的文档下载
当前位置:文档库 › Android的tesseract-ocr训练实例

Android的tesseract-ocr训练实例

Android的tesseract-ocr训练实例
Android的tesseract-ocr训练实例

Android的tesseract-ocr的训练实例

我们可以根据自己的需求来训练一套自己的识别库的,比方说我们要识别验证码,识别身份证号码等,我们就可以用下面的方法来训练一套识别库。

网上关于OCR训练的方法很多,我是参照网上两篇文章来训练的,链接附在正文后面,下面结合我的操作经验来说下训练的过程。

首先我们需要下面几个工具:

tesseract-ocr-3.01,上面两篇文章都是用这个版本

jTessBoxEditor, 该工具是用java写的box编辑器,要有JAVA虚拟机才行,需安装jre,如果搞Android开发之前装过JDK的话就不用再装jre,因为在装JDK的时候就会装jre。

1、先新建一个trainocr文件夹,将上面两个文件拷贝进来,然后解压这两个文件,我们进入Tesseract-ocr文件夹下新建一个

temp文件夹。

2、接下来我们准备好我们需要训练的素材如下图

要想提高识别率,我们需要提供多张像上面这样的图片,图片格式需要为tiff格式的,可以通过windows自带的画图工具来另存为tiff格式,或者用matlab函数进行转换,我的素材文件名都是t+数字+.jpg,转换为t+数字+.tif,以下是jpg转tif的matlab代码:

clear all;clc

int num;

for num = 1:18;

string filename;

filename=strcat('t',num2str(num));

filename=strcat(filename,'.jpg');

A=imread(filename);

newfilename=strcat('t',num2str(num),'.tif');

imwrite(A,newfilename);

end

准备好多张图tiff图片后,打开jTessBoxEditor.jar,打开方式和界面如下图

在此之前我们需要在第1步建立的temp文件夹下新建一个num.tif的文件,接下来我们选择tool–>Merge TIFF 然后选择准备好的多张tiff图片,注意这里是全部选中,然后点击打开,然后选中我们刚刚建立的num.tif文件,点击保存,这样我们就将多张tiff图片merge到了一个文件里面了。

3、接下来我们开始生成box文件了,cmd命令行进入temp文件夹下,然后输入如下命令

E:|\software\Trainocr\Tesseract-ocr\temp>..\tesseract.exe num.tif num batch.nochop makebox

输入完后会在temp文件夹下多了个num.box文件,该文件记录了识别出来的每个字和它对应的位置坐标。

4、使用jTessBoxEditor, 我们切换到Box Editor,然后open打开num.tif文件,需要记住的是第2步生成的num.box要和这个num.tif文件同在一个目录下。通过右上角的X,Y,W,H对每个需要改正的字符进行调整,逐个校正文字,后保存。

5、Run Tesseract for Training。输入命令:

..\tesseract.exe num.tif num nobatch box.train

6、接下来是计算字符集,输入如下命令

..\unicharset_extractor.exe num.box

7、接下来我们需要在temp文件夹下建一个font_properties文件,3.01版本的OCR需要这个文件,该文件的目的是提供输出时识别出来的字体样式信息,文件的格式为

timesitalic 1 0 0 1 0

我们可以根据实际情况新建font_properties,我写的是

num 0 0 0 0 0

意思是普通字体,没有任何格式。

然后执行以下命令

..\mftraining.exe -F font_properties.txt -U unicharset num.tr

8、Clustering,输入命令

..\cntraining.exe num.tr

9、此时在temp文件夹下已经有很多文件了,需要把inttemp,Microfeat,normproto,pffmtable,unicharset这几个文件加上前缀num. (注意有个点号),然后输入以下命令

..\combine_tessdata.exe num.

出来的结果中我们需要确定type 1,type3,type4,type5对应的后面数据不能为-1,这样我们就可以用这个新字典来识别了,将生成的num.traineddata文件就是我们所学要的语言包了。

测试结果:

如果用eng.traineddata进行识别的话,对某些字体的数字识别率很低。

如果用自己训练的num.traineddata进行识别的话,对某些字体的数字识别率明显提高了。

【参考文章】:

https://www.wendangku.net/doc/df9807574.html,/lixinspace/blog/60124, https://www.wendangku.net/doc/df9807574.html,/djun100/article/details/25753727

这两篇文章都是比较好的教程

Android期末测试题(附带答案)

一、选择题 1、下列哪项不是Android四大组件( C ) A.Seivice B. Activity C. Handler D. Content Provider 2、Android是如何组织Activity的( B ) A.以堆的方式组织Activity B. 以栈的方式组织Activity C. 以树形方式组织Activity D. 以链式方式组织Activity 3、关于线程说法不正确的是( B ) A. 在 android 中,我们可以在主线程中,创建一个新的线程 B. 在创建的新线程中,它可以操作 UI 组件 C. 新线程可以和 Handler 共同使用 D. 创建的 Handler 对象,它隶属于创建它的线程 4、下列关于内存回收的说明,哪个是正确的(B ) A.程序员必须创建一个线程来释放内存 B.内存回收程序负责释放无用内存 C.内存回收程序允许程序员直接释放内存 D.内存回收程序可以在指定的时间释放内存对象 5、设置xml布局文件中的字体大小一般用什么单位( c ) A.dp B. px C. sp D. pt 6、关于service生命周期的onCreate()和onStart()说法正确的是( D ) A.当第一次启动的时候先后调用onCreate()和onStart()方法 B.当第一次启动的时候只会调用onCreate()方法 C.如果service已经启动,将先后调用onCreate()和onStart()方法 D.如果service已经启动,只会执行onStart()方法,不再执行onCreate()方法 7、Android项目工程下面的assets目录,以下说法正确的是( A ) A.这里的文件是原封不动的存储到设备上不会转换为二进制的格式 B.主要放置多媒体等数据文件 C.主要放置图片文件 D.放置字符串,颜色,数组等常量数据 8、在android中使用SQLiteOpenHelper这个辅助类,生成一个可操作的数据库,调用的方法是( A )A.getReadableDatabase() B.getDatabase() C.getEnbleDatabase() D.createDateBase() 9、Activity从可见状态变为半透明遮盖状态时,生命周期中哪个方法被调用( B )

Android测试环境搭建

基本安装 一、Java JDK 1、Java JDK下载: 网页: https://www.wendangku.net/doc/df9807574.html,/javase/downloads/index.jsp 选择 Download JDK 只下载JDK,无需下载jre.(因为按照JDK会自动按照jre) 2、JDK 运行 可以不安装在C盘(系统盘) 安装完成后 3、环境变量 如果只是运行eclipse不需要修改环境变量 如果要用到monkeyrunner需要设置环境变量(改系统环境变量),如下 新建系统环境变量JAVA_HOME ,设置为java安装地址"D:\Program Files\java\jdk1.6.0_33" PATH 增加 ";%JAVA_HOME%\bin" CLASSPATH = ".;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar",没有CLASSPATH需要新增

4、验证环境变量 java-version 如果装在C盘直接运行java-version 二、Eclipse 进入该网页: https://www.wendangku.net/doc/df9807574.html,/downloads/下载解压缩后放在根目录,不要放在中文文件夹里面三、Android SDK

地址:https://www.wendangku.net/doc/df9807574.html,/sdk/index.html 说明: Android SDK两种下载版本,一种是包含具体版本的SDK的,一种是只有升级工具,而不包含具体的SDK版本,后一种大概20多M,前一种70多M。 解压android sdk 这个也无需安装,解压后供后面使用 Eclipse配置 一、安装android 开发插件 (1)打开Eclipse, 在菜单栏上选择 E:\eclipse-java-juno-win32-x86_64\eclipse下,可以创建桌面快捷方式help->Install New SoftWare 出现如下界面:

Android APP测试流程

Android APP测试流程 一、 Monkey测试(冒烟测试) 使用monkey测试工具进行如下操作: 1. APP的安装 2. APP随机操作测试(APP压力测试) 3. APP的卸载 二、安装卸载测试 1. 使用测试真机进行APP的安装与卸载 2. 使用第三方软件辅助安装与卸载

三、升级测试 1. APP的在线升级安装及使用测试 目的: 1. 验证签名是否一致 2. 跨版本升级是否正常 四、功能测试 1. 功能逻辑测试 2. 功能点测试(单元测试) 3. 关联性测试(集成测试) 五、自动化测试 1. monkeyrunner编写python脚本测试(现阶段使用小萝贝与按键精灵代替) 六、联机调试测试 1. 使用Eclipse进行Android Debug真机调试 2. 通过Logcat记录每一步操作,定位错误代码 七、稳定性测试 1. 交互性测试 2. 异常性测试(手机断电、断网情况) 八、手机流量、电量、内存测试

1. 测试机使用监控软件观察APP使用所耗的流量 2. 测试机使用监控软件观察APP耗电量 3. 测试机使用监控软件观察APP占用内存情况(不能泄露内存) 九、性能测试(Loadrunner) 1. 接口测试 2. 服务器压力测试 十、适配性测试(兼容性测试,目前使用testin云测) 1. 分辨率 2. 系统版本 3. 厂商定制系统 4. 屏幕尺寸 十一、界面易用性测试 1. 界面与交互测试(交互规范、用户体验、易用性等) 2. 可用性测试(可用性强、操作简单、出错率低、完成任务时间短等)十二、外网测试 1.使用WIFI和手机网络2G/3G/4G网络测试APP

Android测试教程(全)

Android测试教程 目录 Android测试教程 (1) Android测试教程(1):概述 (1) Android测试教程(2):测试基础 (2) Android测试教程(3):测试项目 (3) Android测试教程(4):测试相关API (6) Android测试教程(5):第一个测试项目HelloWorldTest (8) Android测试教程(6):测试Activity (11) Android测试教程(7):测试Content Provider (12) Android测试教程(8):测试Service (13) Android测试教程(9):ApplicationTestCase示例 (13) Android测试教程(10):ActivityInstrumentationTestCase2示例 (17) Android测试教程(11):ActivityUnitTestCase示例 (18) Android测试教程(12):ServiceTestCase示例 (20) Android测试教程(13):TestCase示例 (22) Android测试教程(14):ActivityInstrumentationTestCase2示例 (23) Android测试教程(15):AndroidTestCase示例 (25) Android测试教程(16):monkeyrunner简介 (27) Android测试教程(17):Monkey 命令行工具 (28) Android测试教程(18):总结 (32) 来源: csdn 作者:mapdigit Android测试教程(1):概述 测试也是开发过程中一个重要组成部分,Android开发环境集成一个测试框架可以用来测试Android应用的各个方面,单元测试,UI测试等。 本教程基于Android 开发教程英文版。 基本概念包括 ?Android测试的基础知识 ?Activity Testing 侧重于Activity的测试,介绍了如果使用Instrumentation 在正常Activity生命周期之外来控制Activity,然后测试Activity的特定的功能和测试UI 的一些技巧。

Android手机测试环境搭建

Android手机测试环境搭建 Android手机测试环境目前包含3个部分ADB调试环境、QPST和QXDM,手机驱动 1.手机驱动安装 确保手机开启应用程序中的USB调试,使用数据线将手机连接至PC,PC我的电脑中会出现HSInstall的虚拟光盘,若电脑未弹出自动安装提示,则请双击HSInstall光盘,点击安装AutoRun.exe,一直点击下一步直至提示安装完成需要重启,重启计算机后,右键点击我的电脑-管理-设备管理器,会出现如图所示的端口 若有没出现的端口,则请在我的电脑中右键点击HSInstall,选择弹出按钮,设备管理器中就会显示如上图所示的端口 2.ADB调试环境安装 首先安装JDK环境,打开JDK安装程序一直点击下一步直至提示安装完成; 其次安装Android SDK,也是打开安装程序一直点击下一步直至提示安装完成; 安装完成后在开始->所以程序->Android SDK Tool下打开SDK Manager,界面如下:

第一次启动时,上图界面中Android SDK tools和Android SDK Platform-tools可能均显示为Not installed,勾选这两项后,点击界面右下角的Install 2 package,等待程序下载并安装完成这两项。 将1.0.26版本的adb.exe程序复制到C:\Program Files\Android\android-sdk\platform-tools和C:\Program Files\Android\android-sdk\tools两个目录下。 最后配置环境变量,右键点击“我的电脑”->属性->高级->环境变量,打开如下界面: 在界面中系统变量下找到Path选项并双击,在弹出窗口中输入如下 ;C:\Program Files\Android\android-sdk\platform-tools;C:\Program Files\Android\android-sdk\tools(其中开头和中间的分号请输入英文的分号),最后点击一直点击确定保存环境变量配置。 最后需要验证ADB调试环境是否安装完成,操作如下 开始->运行->输入cmd,进入命令行模式直接输入adb点击回车,查看界面中是否出现大量adb命令的相关英文帮助信息(若出现说明adb环境初步安装成功,若提示无法找到AdbWinApi.dll则请通过网络搜索直接下载该文件分别拷贝至之前出现的tools和platform-tools以及C:\Windows\system32目录下); 继续验证,在android手机中,进入点击menu->设置->应用程序->开发,勾选USB调试选项,在cmd命令行模式继续输入adb devices命令,查看是否正确显示连接的手机信息,若显示则说明adb彻底配置完成. 3.QPST、QXDM安装配置 安装前请关闭杀毒软件等安全类软件,QPST安装时点击安装文件的

android手机测试总结(笔记)

2012年3月21日 系统测试(非功能性测试) 1、适配性测试 a) 手机的型号 b) 网络通信情况(2G\3G\WIFI\飞行模式、NET\WAP、中国电信、移动、联通) c) Android的版本号(Android 4.0、Android 2.3、Android 2.2、Android 2.1)主要是2.2\2. 3.*\ 4.0 d) 屏幕的分辨率(1280×720、960×640、960×540、854×480、800×480、640×480、640×360、480×360、480×320、400×240、320×240、220×176、) 2、功能模块测试(功能性测试) a) 根据预先编写的测试用例测试 3、异常测试(手机交互性事件) a) *按键打断,如:电源键、home键、音量键、返回键等;插拔数据线 b) 其他程序后台相互切换

c) *网络切换(2G\3G\WIFI\飞行模式、NET\WAP、中国电信、移动、联通、) d) 待机后是否能恢复程序和网络 e) 短信、电话和闹铃 f) 安装、覆盖安装和卸载 g) 有无SIM卡、有无SD卡 4、编写帮助文档或使用说明 2012-6-28 用户体验测试 1、界面 ①文字错误、图片不显示或显示不正确、缺少输入项、按钮的大小和点击效果 ②布局、图片和配色设计问题,测试人员很难进入 ③提示信息,提示信息语言准确简洁,有指导性。在应该提示的位置放入提示信息,比如程序需要接入网络,在无网络的情况下应给予提示 ④提示信息,提示信息的方式有很多,大概有弹出式和非弹出式两种,根据实际情况来区分

⑤阅读性,手机因输入方式和屏幕大小限时,目前以阅读为主要(除聊天软件),做好阅读是关键。文字字体、大小、颜色和背景颜色可调整,夜间模式 ⑥简洁,看看any.do就知道什么是简洁了,如穿着白纱美女的油画一般 ⑦输入法,输入法不能挡住输入框;回车可以跳转到下一个输入框 2、稳定性 ①网络,需要访问网络的程序,在网络不稳定的情况下,应能正常运行,不应出现意外退出和错误;如程序无法在该环境下运行,应提示用户 ②网络切换,同上 ③网络信号弱,同上 ④进程切换,在多进程切换中,应正常运行,并保持切换前页面,不应出现意外退出和错误 3、性能 ①程序进行某些功能时,不应使手机出现卡、顿等情况,视实际情况而定 4、安装 ①路径,可选择手机、SD卡

Android测试题带答案

技术方向:Android 一、选择题(30题,每题1.5分,共45分) 1.java.io包中定义了多个流类型来实现输入和输出功能,可以从不同的角度对其进行分 类,按功能分为:(),如果为读取的内容进行处理后再输出,需要使用下列哪种流?() A、输入流和输出流 B、字节流和字符流 C、节点流和处理流 D、File stream E、Pipe stream F、Random stream G、Filter stream 2.下列代码的执行结果是:() public class Test3{ public static void main(String args[]){ System.out.print(100%3); System.out.print(","); System.out.println(100%3.0); } } A、1,1 B、1,1.0 C、1.0,1 D、1.0,1.0 3.在继承中,关于构造方法的说明,下列说法错误的是() A、子类无条件的继承父类的无参构造方法, B、子类可以引用父类中的有参构造方法,使用super关键字, C、如果子类没有构造方法,则父类无参构造方法作为自已的构造方法, D、如果子类有无参构造方法,而父类的无参构造方法则被覆盖。 4.以下程序的运行结果为() public class IfTest{ public static void main(String args[]){ int x=3; int y=1; if(x==y) System.out.println("Not equal"); else System.out.println("Equal"); } } A、Not equal B、Equal C、无输出 D、编译出错 5.Java语言中字符串“学Java”所占的内存空间是() A. 6个字节 B. 7个字节 C. 10个字节 D. 11个字节 6.关于下列程序段的输出结果,说法正确的是:() public class MyClass{ static int i; public static void main(String argv[]){

android CTS测试

CTS ( COMPATIBILITY TEST SUITE ) USER GUIDE Android-ALL-CTS USER GUIDE Rev. 1.10 July 23, 2011

DISCLAIMER All information and data contained in this material are without any commitment, are not to be considered as an offer for conclusion of a contract, nor shall they be construed as to create any liability. Any new issue of this material invalidates previous issues. Product availability and delivery are exclusively subject to our respective order confirmation form; the same applies to orders based on development samples delivered. By this publication, T elechips, Inc. does not assume responsibility for patent infringements or other rights of third parties that may result from its use. Further, Telechips, Inc. reserves the right to revise this publication and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes. No part of this publication may be reproduced, photocopied, stored on a retrieval system, or transmitted without the express written consent of Telechips, Inc. This product is designed for general purpose, and accordingly customer be responsible for all or any of intellectual property licenses required for actual application. Telechips, Inc. does not provide any indemnification for any intellectual properties owned by third party. Telechips, Inc. can not ensure that this application is the proper and sufficient one for any other purposes but the one explicitly expressed herein. Telechips, Inc. is not responsible for any special, indirect, incidental or consequential damage or loss whatsoever resulting from the use of this application for other purposes. COPYRIGHT STATEMENT Copyright in the material provided by Telechips, Inc. is owned by Telechips unless otherwise noted. For reproduction or use of Telechips? copyright material, permission should be sought from Telechips. That permissi on, if given, will be subject to conditions that Telechips?name should be included and interest in the material should be acknowledged when the material is reproduced or quoted, either in whole or in part. You must not copy, adapt, publish, distribute or commercialize any contents contained in the material in any manner without the written permission of Telechips. Trade marks used in Telechips? copyright material are the property of Telechips. Important Notice This product may include technology owned by Microsoft Corporation and in this case it cannot be used or distributed without a license from Microsoft Licensing, GP. For customers who use licensed Codec ICs and/or licensed codec firmware of mp3: “Supply of this product does not convey a license nor imply any right to distribute content created with this product in revenue-generating broadcast systems (terrestrial. Satellite, cable and/or other distribution channels), streaming applications(via internet, intranets and/or other networks), other content distribution systems(pay-audio or audio-on-demand applications and the like) or on physical media(compact discs, digital versatile discs, semiconductor chips, hard drives, memory cards and the like). An independent license for such use is required. For details, please visit https://www.wendangku.net/doc/df9807574.html,”. For customers who use other firmware of mp3: “Supply of this product does not convey a license under the relevant intellectual property of Thomson and/or Fraunhofer Gesellschaft nor imply any right to use this product in any finished end user or ready-to-use final product. An independent license for such use is required. For details, please visit https://www.wendangku.net/doc/df9807574.html,”. For customers who use Digital Wave DRA solution: “Supply of this implementation of DRA technology does not convey a license nor imply any right to this implementation in any finished end-user or ready-to-use terminal product. An independent license for such use is required.” For customers who use DTS technology: “Supply of this implementation of DTS technology does not convey a license, exhaust DTS? rights in the implementation, or imply a right under any patent, or any other industrial or intellectual property right of DTS to use, offer for sale, sell, or import such implementation in any finished end-user or ready-to-use final product. Notice is hereby provided that a license from DTS is required prior to such use.” “This product made under license to U.S. Patents 5,451,942; 5,956,674; 5,974,380; 5,978,762; 6,487,535; 6,226,616 and/or foreign counterparts.” "? 1996 –2010 DTS, Inc.” For customers who use Dolby technology: "Supply of this Implementation of Dolby technology does not convey a license nor imply a right under any patent, or any other industrial or intellectual property right of Dolby Laboratories, to use this Implementation in any finished end-user or ready-to-use final product. It is hereby notified that a license for such use is required from Dolby Laboratories."

面向android系统的测试工具

毕业论文(设计) 面向android系统的测试工具 学生姓名:于冬敏 指导教师:陈高泉讲师专业名称:电子信息工程所在学院:信息工程学院 2012年06月

目录 摘要............................................................................................................................................ I Abstract......................................................................................... 错误!未定义书签。第1章绪论 . (1) 1.1. 课题背景 (1) 1.2. 课题说明 (1) 第2章Android开发系统综述 (3) 2.1. android系统介绍 (3) 2.2. 开发环境介绍 (5) 2.3. 开发语言介绍 (7) 第3章测试工具介绍 (9) 3.1. 测试工具结构介绍 (9) 3.2. 测试工具中Service介绍 (12) 第4章总体设计 (22) 4.1. 概述 (22) 4.2. 构成 (23) 第5章设计思想 (24) 5.1. 设计思想概述 (24) 5.2. 设计原则 (25) 第6章结论. (35) 致谢 (35) 参考文献 (36) 附录 (38)

摘要 基于Android 的自动化测试的设计与实现以Android 客户端的测试为研究内容,分析了Android 自动化测试框架及其层次关系,尝试在现有测试方法的基础上进行测试手段的优化和创新。研究了基于JUnit 和instrumentaion 的Android 自动化框架的实现技术,并利用Hudson 进行集成,实现Android 的自动化测试。产品的开发实践表明, 这种自动化测试方法效率高、用户体验好, 对于Android 的自动化测试研究具有一定参考价值。Android应用程序使用Java做为开发语言,把编译后的Java代码连同其它应用程序需要的数据和资源文件一起打包到一个Android包文件中,这个文件使用.apk做为扩展名,它是分发应用程序并安装到移动设备的媒介,用户只需下载并安装此文件到他们的设备。单一.apk文件中的所有代码被认为是一个应用程序。 关键词:关键词:测试自动化;Android;设计

android的测试方法

Android 调试桥 https://www.wendangku.net/doc/df9807574.html,/docs/reference/adb.html#sqlite Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器的状态。 可以通过下列几种方法加入adb: ?在设备上运行shell命令 ?通过端口转发来管理模拟器或设备 ?从模拟器或设备上拷贝来或拷贝走文件 下面对adb进行了介绍并描述了常见的使用. Contents 概要 发出adb命令 查询模拟器/设备实例 给特定的模拟器/设备实例发送命令 安装软件 转发端口 从模拟器/设备中拷入或拷出文件 Adb命令列表 启动shell命令 通过远程shell端运行sqllite3连接数据库 UI/软件试验程序 Monkey 其它的shell命令 启用logcat日志 使用logcat命令 过滤日志输出 控制日志输出格式 查看可用日志缓冲区 查看stdout 和stderr Logcat命令列表 停止adb服务 概要

Android 调试系统是一个面对客户服务系统,包括三个组成部分: ?一个在你用于开发程序的电脑上运行的客户端。你可以通过shell端使用 adb命令启动客户端。其他Android工具比如说ADT插件和DDMS同样可 以产生adb客户端. ?在你用于发的机器上作为后台进程运行的服务器。该服务器负责管理客户端与运行于模拟器或设备上的adb守护程序(daemon)之间的通信。. ?一个以后台进程的形式运行于模拟器或设备上的守护程序(daemon)。. 当你启动一个adb客户端,客户端首先确认是否已有一个adb服务进程在运行。如果没有,则启动服务进程。当服务器运行, adb服务器就会绑定本地的TCP 端口5037并监听adb客户端发来的命令,—所有的adb客户端都是用端口 5037与adb服务器对话的. 接着服务器将所有运行中的模拟器或设备实例建立连接。它通过扫描所有5555 到5585范围内的奇数端口来定位所有的模拟器或设备。一旦服务器找到了adb 守护程序,它将建立一个到该端口的连接。请注意任何模拟器或设备实例会取得两个连续的端口——一个偶数端口用来相应控制台的连接,和一个奇数端口用来响应adb连接。比如说: 模拟器1,控制台:端口5554 模拟器1,Adb端口5555 控制台:端口 5556 Adb端口5557... 如上所示,模拟器实例通过5555端口连接adb,就如同使用5554端口连接控制台一样. 一旦服务器与所有模拟器实例建立连接,就可以使用adb命令控制和访问该实例。因为服务器管理模拟器/设备实例的连接,和控制处理从来自多个adb客户端来的命令,你可以通过任何客户端(或脚本)来控制任何模拟器或设备实例. 以下的部分描述通过命令使用adb和管理模拟器/设备的状态。要注意的是如果你用,装有ADT插件的Eclipse开发Android程序,你就不需要通过命令行使用adb。ADT插件已经透明的把adb集成到Eclipse中了,当然,如果必要的话你 也可以仍然直接使用adb,比如说调试. 发出adb命令 发出Android命令:你可以在你的开发机上的命令行或脚本上发布Android命令,使用方法: adb [-d|-e|-s ]

android 测试题 答案

第一天: 1, 对于如下的一些映射关系,当请求URL为”/xxx/yyy/a.do”时,哪个Servlet会响应()Servlet1 映射到 /abc/* Servlet2 映射到 /* Servlet3 映射到 /abc Servlet4映射到*.do (10分) A、Servlet1 B、Servlet2 C、Servlet3 D、Servlet4 参考答案:B 答案说明:url-pattern匹配规则: ①完全匹配:以“/”开头,以字母(非“*”)结束 如:/test/list.do ②目录匹配:以“/”开头且以“/*”结尾 如:/test/* /* ③扩展名匹配:以“*.”开头,以扩展名结束 如:*.do ④“/”用来表明对应的Servlet为应用默认的Servlet。在这种情况下Servlet路径是请求的URI去掉上下文路径并且路径信息为null。 2、 下列选项中,哪个方法可以准确的获取请求页面的一个文本框的输入(文本框的名称为name) ()。(10分) A、request.getParamter(name) B、request.getParamter(“name”) C、request.getParamterValues(name) D、request.getParamt erValues(“name”) 参考答案:B 答案说明:request.getParameter("name") 根据name获取value值 request.getParameterNames("name") 根据name获取一组值,如多选框 3、 在web.xml中下面哪一个标签标示servlet的URL映射()(10分) A、mapping B、servlet-url C、url-mapping D、servlet-mapping 参考答案:D 答案说明: HelloServlet /hello

Android性能测试

一、Android 性能测试,跟 pc 性能测试一样分为客户端及服务器,但在客户端上的性能 测试分为 2 类: ?一类为 rom 版本的性能测试 ?一类为应用的性能测试 对于应用性能测试,包括很多测试项,如启动时间、内存、CPU、GPU、功耗、流量等。但针对 rom 版本的性能测试,一般关注功耗。 先说说应用的性能测试,对于启动时间、内存、cpu 测试大家一般都使用外部提供的第三方工具来辅助测试,如GT、安测试等、这些工具的原理都是基于调用 android 底层的一些 api 来获取到测试所用到的值,当然我们也可以采用其他方法,如使用 android 本身提供的一套 adb 即可完成上述测试。 对于 GPU、功耗、等测试来说,用第三方工具测试得到的数值一般都不是很准确,这个时候我们需要引入硬件来进行测试了,GPU 可以采用高速相机来进行测试,功耗可以使用万用表或安捷伦电源仪来进行测试(ps:有硬件动手能力的可以DIY一个小板进行) 再说说 rom 版本的性能测试,rom 版本一般就关注功耗测试,不过 rom 版本的功耗测试跟应用的功耗测试会有所差异,当然只是用例设计方面的差异,工具仍然采用安捷伦电源仪进行 二、首先我们来说说启动时间。关于应用的启动时间的测试,分为三类: 1. 首次启动 --应用首次启动所花费的时间 2. 非首次启动 --应用非首次启动所花费的时间 3. 应用界面切换--应用界面内切换所花费的时间 那么如何来做启动时间的测试呢,一般我们分为2类,一类为使用软件来测试,一类为使用硬件来测试,首先我们说说软件测试的方法,可能大部分人都比较通晓使用 android 提供的 DisplayManager 来获取 activity 的启动时间吧,在这里我简单说下如何通过批处理来DIY ?通过日志过滤关键字 Displayed 来过滤所有 activity 所打印的,记录日志通过adb logcat>/address/logcat.txt 然后使用find “Displayed” /address/logcat.txt>/newaddress/fl.txt ?通过 activity 名来过滤获取所测应用find “ActivityName” /newaddress/fl.txt>/newaddress/last.txt ?通过计算 activity 最后剩余的时间之和即可(这里可以使用 excel 表格自动相加也可以使用算法,我就不详细介绍了)

android软件测试面试题及答案

android软件测试面试题及答案 android软件测试面试题及答案(一) 1、 Android的四大组件是哪些,它们的作用? 答:Activity:Activity是Android程序与用户交互的窗口,是Android构造块中最基本的一种,它需要为保持各界面的状态,做很多持久化的事情,妥善管理生命周期以及一些跳转逻辑 service:后台服务于Activity,封装有一个完整的功能逻辑实现,接受上层指令,完成相关的食物,定义好需要接受的Intent提供同步和异步的接口Content Provider:是Android提供的第三方应用数据的访问方案,可以派生Content Provider类,对外提供数据,可以像数据库一样进行选择排序,屏蔽内部数据的存储细节,向外提供统一的借口模型,大大简化上层应用,对数据的整合提供了更方便的途径 BroadCast Receiver:接受一种或者多种Intent作触发事件,接受相关消息,做一些简单处理,转换成一条Notification,统一了Android的事件广播模型 2、请介绍下Android中常用的五种布局。 常用五种布局方式,分别是:FrameLayout(框架布局),LinearLayout (线性布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout(表格布局)。 一、FrameLayout:所有东西依次都放在左上角,会重叠,这个布局比较简单,也只能放一点比较简单的东西。 二、LinearLayout:线性布局,每一个LinearLayout里面又可分为垂直布局

android基础测试题

选择题(都是不定项的选择题) 1.android下的单元测试要配置,一下说法正确的是: A、需要在manifest.xml清单文件application节点下配置instrumentation B、需要在manifest.xml清单文件manifest节点下配置instrumentation C、需要在manifest.xml清单文件application节点下配置uses-library D、需要让测试类继承AndroidTestCase类 2.android数据存储与访问的方式ab,cde A、文件 B、数据库 C、sharedpreference D、内容提供者 E、网络 3.下列哪些api的操作需要声明权限c,d A、播放mp3文件 B、读SD卡(读sd卡状态) C、发短信 D、访问网络 4.在android中使用SQLiteOpenHelper这个辅助类时,哪些操作可能生成一个数据库, ab A、getWriteableDatabase() B、getReadableDatabase() C、getDatabase() D、getAbleDatabase() 5.退出activity对一些资源以及状态的操作保存,可以在生命周期的哪个函数中进行a A、onPause() B、onCreate() C、onResume() D、onStart() 6.Intent传递数据时,下列的数据类型哪些可以被传递abcd A、Serializable B、charsequence C、Parcelable D、Bundle 7.android 中下列属于Intent的作用的是c A、实现应用程序间的数据共享contentprovider B、是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失service C、可以实现界面间的切换,可以包含动作和动作数据,连接四大组件的纽带

Android—SDK测试

android中文SDK--测试基本原理 转载▼ 测试基本原理 android测试框架,作为集成开发环境的一部分,提供了一个架构和强大的工具来帮助你从单元到框架来测试应用程序各个层次的各个方面。 测试框架有以下特征: i.android测试套件基于JUnit。你可以很容易地使用JUnit,不需要调用Android API既可 以测试一个类,或者不需要通过Android的JUnit扩展就可以测试一个一个android组件。 如果你初学Android测试,你可以从通用测试用例类(如AndroidTestCase)开始,然后再使用更高级的类。 ii.Android Junit扩展提供了特定组件的测试用例类。这些类提供了一些辅助方法,通过这些方法可以创建模拟对象和方法,以此帮助你控制组件的生命周期。 iii.测试套件包含在测试包里,与主要的应用程序包相类似,这样你既不需要学习一套新的工具和技术来设计和构建测试了。 iv.Eclipse的ADT里有可用的构建和测试的SDK工具,对于其他IDE也提供了命令行工具。 这些工具从被测应用程序项目获取信息,通过这些信息自动生成构建文件,配置文件和测试包的结构目录。 v.SDK还提供了monkeyrunner,用Python语言测试设备的API。还有UI/Application Exerciser Monkey,一个对UI进行压力测试的命令行工具,可以给设备发送随机事件。 文档描述了Android测试框架的基本原理,包括测试的结构,用来开发测试的API,和用来运行和查看测试结果的工具。文档假定你已经具有Android应用程序和JUnit测试方法的知识。 测试框架:

相关文档