Test artist

发布新日志

  • HTML5FileAPI

    2012-06-26 14:51:52

    HTML5FileAPI


    http://wenku.baidu.com/view/e14870d676eeaeaad1f330bf.html
  • Using the HTML5 FileSystem API

    2011-12-20 12:01:07

    好东西,比W3C官网上写的实用多了。

    不过,话说chrome13就支持了,我用chrome15居然不支持 ???


    ---------------------------------------------------



    Using the HTML5 Filesystem API

    Table of Contents

    1.     Introduction

    Use Cases

    Security Considerations

    Browser Support

    A Cautionary Tale

    2. Storage and Quota

    Storage Types

    Temporary Storage

    Persistent Storage

    Unlimited Storage

    Quota Management API

    Requesting More Storage

    Checking Current Usage

    3. Getting Started

    Opening a Filesystem

    Handling Errors

    4. Working with Files

    The FileEntry

    Creating a File

    Reading a File by Name

    Writing to a File

    Appending Data to a File

    Importing Files

    Using <input type=file>

    Using HTML5 Drag and Drop

    Using XMLHttpRequest

    Using Copy and Paste

    Removing Files

    5. Working with Directories

    The DirectoryEntry

    Creating Directories

    Subdirectories

    Reading the Contents of a Directory

    Removing Directories

    Recursively Removing a Directory

    6. Copying, Renaming, and Moving Entries

    Copying a File or Directory

    Moving a File or Directory

    Renaming a File or Directory

    7. Using Files

    Filesystem URLs

    Summary

    Blob URLs

    Summary

    Data URLs

    Summary

    8. The Synchronous API

    Introduction

    Opening a Filesystem

    Working with Files and Directories

    Handling Errors

    Examples

    Fetching All Entries in the Filesystem

    Downloading Files Using XHR2

     

     

    CHAPTER 1

    Introduction

    As we move from an offline world to a completely online world, were demanding more

    from the Web, and more from web applications. Browser implementers are adding

    richer APIs by the day to support complex use cases. APIs for things like real-time

    communication, graphics, and client-side (offline) storage.

    One area where the Web has lacked for some time is file I/O. Interacting with binary

    data and organizing that data into a meaningful hierarchy of folders is something desktop

    software has been capable of for decades. How amazing would it be if web apps

    could do the same? The lack of true filesystem access has hindered web applications

    from moving forward. For example, how can a photo gallery work offline without being

    able to save images locally? The answer is it cant! We need something more powerful.

    The HTML5 File API: Directories and System aims to fill this void. The specification

    defines a means for web applications to read, create, navigate, and write to a sandboxed

    section of the users local filesystem. The entirety of the Filesystem API can be broken

    down into a number of different related specifications:

     Reading and manipulating files: File/BlobFileListFileReader

     Creating and writing: BlobBuilderFileWriter

     Directories and filesystem access: DirectoryReaderFileEntry/DirectoryEntry,

    LocalFileSystem

    The specification defines two versions (asynchronous and synchronous) of the same

    API. The asynchronous API is useful for normal applications and prevents blocking UI

    actions. The synchronous API is reserved for use in Web Workers.

    Use Cases

    HTML5 has several storage options available. The Filesystem API is different in that it

    aims to satisfy client-side storage use cases not well served by databases such as IndexedDB

    or WebSQL DB. Generally, these are applications that deal with large binary

    blobs and share data with applications outside of the context of the browser. The specification

    lists several use cases worth highlighting:

     Persistent uploader

     When a file or directory is selected for upload, it copies the files into a local

    sandbox and uploads a chunk at a time.

     Uploads can be restarted after browser crashes, network interruptions, etc.

     Video game, music, or other apps with lots of media assets

     It downloads one or several large tarballs, and expands them locally into a directory

    structure.

     The same download works on any operating system.

     It can manage prefetching just the next-to-be-needed assets in the background,

    so going to the next game level or activating a new feature doesnt require waiting

    for a download.

     It uses those assets directly from its local cache, by direct file reads or by handing

    local URIs to image or video tags, WebGL asset loaders, etc.

     The files may be of arbitrary binary format.

     On the server side, a compressed tarball is often much smaller than a collection

    of separately compressed files. Also, one tarball instead of a 1,000 little files

    involves fewer seeks.

     Audio/Photo editor with offline access or local cache for speed

     The data blobs are potentially quite large, and are read-write.

     It might want to do partial writes to files (overwriting just the ID3/EXIF tags,

    for example).

     The ability to organize project files by creating directories is important.

     Edited files should be accessible by client-side applications (iTunes, Picasa).

     Offline video viewer

     It downloads large files (>1 GB) for later viewing.

     It needs efficient seek and streaming.

     It should be able to hand a URI to the video tag.

     It should enable access to partly downloaded files (for example, to let you watch

    the first episode of the DVD even if your download didnt complete before you

    got on the plane.)

     It should be able to pull a single episode out of the middle of a download and

    give just that to the video tag.

     Offline web mail client

     Downloads attachments and stores them locally.

     Caches user-selected attachments for later upload.

     Needs to be able to refer to cached attachments and image thumbnails for display

    and upload.

     Should be able to trigger the UAs download manager just as if talking to a server.

     Should be able to upload an email with attachments as a multipart post, rather

    than sending a file at a time in an XHR.

    Security Considerations

    The HTML5 Filesystem API can be used to read and write data to parts of the users

    hard drive. Because of this privileged access, there are a number of security and privacy

    issues that have been considered in the APIs design. A few are listed below:

     Local disk usage and IO bandwidththis is mitigated in part through quota limitations.

    See Chapter 2, Storage and Quota.

     Leakage or erasure of private datathis is mitigated by limiting the scope of the

    HTML5 filesystem to a chroot-like, origin-specific sandbox. Applications cannot

    access another domain/origins filesystem.

     Storing malicious executables or illegal data on a users systemwith any download

    there is a risk. The API mitigates against malicious executables by restricting

    file creation/rename to nonexecutable extensions, and by making sure the execute

    bit is not set on any file created or modified via the API.

    Browser Support

    At the time of writing, Google Chrome is the only browser to implement the Filesystem

    API. Version 8 of the browser was the first to see a partial implementation, but the

    majority of the API was later completed in version 11. In Chrome 13, a Chapter 2,

    Storage and Quota API was added to give applications a way to request addition space

    for storing data.

    A Cautionary Tale

    Before we dive in, I want to remind you that this book covers a working implementation

    of an evolving specification, a spec that has yet to be finalized by the World Wide Web

    Consortium (W3C). Take my word of caution and realize that until the spec is final,

    portions of the API could change.

     


    【此处略去万把字,详细见附件】


  • 字符编码的由来【转载】

    2011-12-01 15:13:05

    娓娓道来:
    http://hellosure.iteye.com/blog/1169784

    此文为转载。 

    很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们认为8个开关状态作为原子单位很好,于是他们把这称为"字节" 

    再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出更多的状态,状态开始变来变去。他们看到这样是好的,于是它们就这机器称为"计算机" 

    开始计算机只在美国用。八位的字节一共可以组合出25628次方)种不同的状态。 

    他们把其中的编号从0开始的32种状态分别规定了特殊的用途,一但终端设备或者打印机遇上这些约定好的字节时,就要做一些约定的动作。遇上 00x10, 终端就换行,遇上0x07, 终端就向人们嘟嘟叫,例好遇上0x1b, 打印机就打印反白的字,对于终端就用彩色显示字母。他们看到这样很好,于是就把这些0x20(十进制32)以下的字节状态称为"控制码" 

    他们又把所有的空格、标点符号、数字、大小写字母分别用连续的字节状态表示,一直编到了第127号,这样计算机就可以用不同字节来存储英语的 文字了。大家看到这样,都感觉很好,于是大家都把这个方案叫做 ANSI "Ascii"编码(American Standard Code for Information Interchange,美国信息互换标准代码)。当时世界上所有的计算机都用同样的ASCII方案来保存英文文字。 

    后来,就像建造巴比伦塔一样,世界各地的都开始使用计算机,但是很多国家用的不是英文,他们用到的许多字母在ASCII中根本没有,为了也可以在计算机中保存他们的文字,他们决定采用127号之后的空位来表示这些新的字母、符号,还加入了很多画表格时需要用下到的横线、竖线、交叉等形状,一直把序号编到了最后一个状态255。从128255这一页的字符集被称"扩展字符集"。从此之后,贪婪的人类再没有新的状态可以用了,美帝国主义可能没有想到还有第三世界国家的人们也希望可以用到计算机吧! 

    等中国人们得到计算机时,已经没有可以利用的字节状态来表示汉字,况且有6000多个常用汉字需要保存呢。但是这难不倒智慧的中国人民,我们不客气地把那些127号之后的奇异符号们直接取消掉,并且规定:一个小于127的字符的意义与原来相同,但两个大于127的字符连在一起时,就表示一个汉字,前面的一个字节(他称之为高字节)从0xA1用到 0xF7,后面一个字节(低字节)从0xA10xFE,这样我们就可以组合出大约7000多个简体汉字了。在这些编码里,我们还把数学符号、罗马希腊的字母、日文的假名们都编进去了,连在 ASCII 里本来就有的数字、标点、字母都统统重新编了两个字节长的编码,这就是常说的"全角"字符,而原来在127号以下的那些就叫"半角"字符了。 

    中国人民看到这样很不错,于是就把这种汉字方案叫做"GB2312"GB2312 是对 ASCII 的中文扩展。 

    但是中国的汉字太多了,我们很快就就发现有许多人的人名没有办法在这里打出来,特别是某些很会麻烦别人的国家领导人(如朱镕基的字)。于是我们不得不继续把 GB2312 没有用到的码位找出来老实不客气地用上。 

    后来还是不够用,于是干脆不再要求低字节一定是127号之后的内码,只要第一个字节是大于127就固定表示这是一个汉字的开始,不管后面跟的是不是扩展字符集里的内容。结果扩展之后的编码方案被称为 GBK 标准,GBK 包括了 GB2312 的所有内容,同时又增加了近20000个新的汉字(包括繁体字)和符号。 

    后来少数民族也要用电脑了,于是我们再扩展,又加了几千个新的少数民族的字,GBK 扩成了 GB18030。从此之后,中华民族的文化就可以在计算机时代中传承了。 

    中国的程序员们看到这一系列汉字编码的标准是好的,于是通称他们叫做 "DBCS"Double Byte Charecter Set 双字节字符集)。在DBCS系列标准里,最大的特点是两字节长的汉字字符和一字节长的英文字符并存于同一套编码方案里,因此他们写的程序为了支持中文处理,必须要注意字串里的每一个字节的值,如果这个值是大于127的,那么就认为一个双字节字符集里的字符出现了。那时候凡是受过加持,会编程的计算机僧侣们都要每天念下面这个咒语数百遍: 

    "
    一个汉字算两个英文字符!一个汉字算两个英文字符……" 

    因为当时各个国家都像中国这样搞出一套自己的编码标准,结果互相之间谁也不懂谁的编码,谁也不支持别人的编码,连大陆和台湾这样只相隔了150海里,使用着同一种语言的兄弟地区,也分别采用了不同的 DBCS 编码方案——当时的中国人想让电脑显示汉字,就必须装上一个"汉字系统",专门用来处理汉字的显示、输入的问题,但是那个台湾的愚昧封建人士写的算命程序就必须加装另一套支持 BIG5 编码的什么"倚天汉字系统"才可以用,装错了字符系统,显示就会乱了套!这怎么办?而且世界民族之林中还有那些一时用不上电脑的穷苦人民,他们的文字又怎么办?

    真是计算机的巴比伦塔命题啊! 

    正在这时,大天使加百列及时出现了——一个叫 ISO (国际标谁化组织)的国际组织决定着手解决这个问题。他们采用的方法很简单:废了所有的地区性编码方案,重新搞一个包括了地球上所有文化、所有字母和符号的编码!他们打算叫它"Universal Multiple-Octet Coded Character Set",简称 UCS, 俗称 "UNICODE" 

    UNICODE
    开始制订时,计算机的存储器容量极大地发展了,空间再也不成为问题了。于是 ISO 就直接规定必须用两个字节,也就是16位来统一表示所有的字符,对于ascii里的那些"半角"字符,UNICODE 包持其原编码不变,只是将其长度由原来的8位扩展为16位,而其他文化和语言的字符则全部重新统一编码。由于"半角"英文符号只需要用到低8位,所以其高 8位永远是0,因此这种大气的方案在保存英文文本时会多浪费一倍的空间。 

    这时候,从旧社会里走过来的程序员开始发现一个奇怪的现象:他们的strlen函数靠不住了,一个汉字不再是相当于两个字符了,而是一个!是 的,从 UNICODE 开始,无论是半角的英文字母,还是全角的汉字,它们都是统一的"一个字符"!同时,也都是统一的"两个字节",请注意"字符""字节"两个术语的不同, "字节"是一个8位的物理存贮单元,而"字符"则是一个文化相关的符号。在UNICODE 中,一个字符就是两个字节。一个汉字算两个英文字符的时代已经快过去了。 

    从前多种字符集存在时,那些做多语言软件的公司遇上过很大麻烦,他们为了在不同的国家销售同一套软件,就不得不在区域化软件时也加持那个双字节字符集咒语,不仅要处处小心不要搞错,还要把软件中的文字在不同的字符集中转来转去。UNICODE 对于他们来说是一个很好的一揽子解决方案,于是从 Windows NT 开始,MS 趁机把它们的操作系统改了一遍,把所有的核心代码都改成了用 UNICODE 方式工作的版本,从这时开始,WINDOWS 系统终于无需要加装各种本土语言系统,就可以显示全世界上所有文化的字符了。 

    但是,UNICODE 在制订时没有考虑与任何一种现有的编码方案保持兼容,这使得 GBK UNICODE 在汉字的内码编排上完全是不一样的,没有一种简单的算术方法可以把文本内容从UNICODE编码和另一种编码进行转换,这种转换必须通过查表来进行。 

    如前所述,UNICODE 是用两个字节来表示为一个字符,他总共可以组合出65535不同的字符,这大概已经可以覆盖世界上所有文化的符号。如果还不够也没有关系,ISO已经准备了UCS-4方案,说简单了就是四个字节来表示一个字符,这样我们就可以组合出21亿个不同的字符出来(最高位有其他用途),这大概可以用到银河联邦成立那一天吧!

    UNICODE
    来到时,一起到来的还有计算机网络的兴起,UNICODE 如何在网络上传输也是一个必须考虑的问题,于是面向传输的众多 UTFUCS Transfer Format)标准出现了,顾名思义,UTF8就是每次8个位传输数据,而UTF16就是每次16个位,只不过为了传输时的可靠性,从UNICODE UTF时并不是直接的对应,而是要过一些算法和规则来转换。 

    受到过网络编程加持的计算机僧侣们都知道,在网络里传递信息时有一个很重要的问题,就是对于数据高低位的解读方式,一些计算机是采用低位先发送的方法,例如我们PC机采用的 INTEL 架构;而另一些是采用高位先发送的方式。在网络中交换数据时,为了核对双方对于高低位的认识是否是一致的,采用了一种很简便的方法,就是在文本流的开始时向对方发送一个标志符——如果之后的文本是高位在位,那就发送"FEFF",反之,则发送"FFFE"。不信你可以用二进制方式打开一个UTF-X格式的文件,看看开头两个字节是不是这两个字节? 

    下面是UnicodeUTF-8转换的规则 

       

    Java代码  收藏代码

    1.   Unicode  

    2.     

    3.   UTF-8  

    4.     

    5.   0000 - 007F  

    6.     

    7.   0xxxxxxx  

    8.     

    9.   0080 - 07FF  

    10.     

    11.   110xxxxx 10xxxxxx  

    12.     

    13.   0800 - FFFF  

    14.     

    15.   1110xxxx 10xxxxxx 10xxxxxx  



    例如""字的Unicode编码是6C496C490800-FFFF之间,所以要用3字节模板:1110xxxx 10xxxxxx 10xxxxxx。将6C49写成二进制是:0110 1100 0100 1001,将这个比特流按三字节模板的分段方法分为0110 110001 001001,依次代替模板中的x,得到:1110-0110 10-110001 10-001001,即E6 B1 89,这就是其UTF8的编码。 

    讲到这里,我们再顺便说说一个很著名的奇怪现象:当你在 windows 的记事本里新建一个文件,输入"联通"两个字之后,保存,关闭,然后再次打开,你会发现这两个字已经消失了,代之的是几个乱码!呵呵,有人说这就是联通之所以拼不过移动的原因。 

    其实这是因为GB2312编码与UTF8编码产生了编码冲撞的原因。 

    当一个软件打开一个文本时,它要做的第一件事是决定这个文本究竟是使用哪种字符集的哪种编码保存的。软件一般采用三种方式来决定文本的字符集和编码: 

    检测文件头标识,提示用户选择,根据一定的规则猜测 

    最标准的途径是检测文本最开头的几个字节,开头字节 Charset/encoding,如下表: 

      

    Java代码  收藏代码

    1.   EF BB BF UTF-8  

    2.     

    3.   FF FE UTF-16/UCS-2, little endian  

    4.     

    5.   FE FF UTF-16/UCS-2, big endian  

    6.     

    7.   FF FE 00 00 UTF-32/UCS-4, little endian.  

    8.     

    9.   00 00 FE FF UTF-32/UCS-4, big-endian.  



    当你新建一个文本文件时,记事本的编码默认是ANSI(代表系统默认编码,在中文系统中一般是GB系列编码), 如果你在ANSI的编码输入汉字,那么他实际就是GB系列的编码方式,在这种编码下,"联通"的内码是:  查看(221) 评论(0) 收藏 分享 管理

  • Android自动化测试

    2011-10-20 11:46:21

    最近team在为Android Tablet的性能测试实现自动化。
    monkeyrunner和python是不能不学的,基本上所有的自动化脚本都是通过这两者实现。
    当然还有功能程序,这个嘛目前我只管使用,缺乏代码功底以及对Android系统的了解,这些程序是写不出来滴。
     
    自动化的基本实现过程很简单:
    功能程序:实现某功能,如模拟swiping手势等,一般需push到android设备上跑起。
    python:脚本语言,需在python脚本中导入monkeyrunner所要使用的模块:from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice,如此便可调用monkeyrunner的属性(变量和方法)了:)
    monkeyrunner:实现和Android设备的通信,执行python脚本
     
    实际操作:
    【环境】
    一台装有Android SDK以及安装好python的server,
    一台Android系统的设备,
    该Server和Android设备处于同一网段,
     
    【执行】
    在Server上export “ADBHOST”的值为Android设备的IP地址。
    在Server上执行命令:monkeyrunner XX.py   //XX.py被视作monkeyrunner的参数,monkeyrunner会与ADBHOST指向的设备进行通信,执行XX.py中的语句。
     
    【转载一篇Android自动化测试的入门文章】:
     
     
    Android自动化测试中比较常用的一个命令 -- am:
    am是一个android命令,用于启动一个activity或service
    1)如通过am启动一个视频播放:
    在adb shell中输入命令:am start -a android.intent.action.VIEW -d  file:///path_to_the_video_file.mp4  -t video/mp4
    通过执行以上命令可播放指定的video。
     
    2)如通过am启动一个apk应用(如启动JetBoy.apk):
    前提:JetBoy.apk已经安装到设备上了。
    在adb shell中输入命令:am start -n com.example.android.jetboy/.JetBoy
     
  • 用例设计篇

    2011-05-10 13:06:06

    写了4个月的用例了,或多或少有些长进,有些心得,小结一下。
     
    【写在篇前】
    这次,用例设计涵盖了设备端、服务器端、PC应用端,还有网站端,除了设备端,其它的对我来说都是崭新的,没办法,硬着头皮上,现学现卖了。
    额地神啊,人可真是逼出来的,人的学习潜能果真无限可挖啊,不过代价就是大脑爆棚,躁动得不行...
    我想要适应还得一段漫长的时间,以前闲散惯了,如今工作到凌晨的经历我也可以自豪的说有了。
    我想我恐怕是不会委屈自己去适应了...
    利弊都有吧,不权衡了,越权衡越难得平衡。
     
     
    【作个记号】
  • 一个脑图软件-- Mindjet MindManager

    2011-03-03 15:07:09

    最近刚用到,觉着挺好用的,也很简单
     
     
  • 制作Excel统计图

    2011-02-16 14:00:41

    1.使用SERIES()函数制作二维图
    SERIES(参数1,参数段2,参数段3,参数4)
    参数1:名称
    参数段2:分类(X)轴标志(即分类参数)
    参数段3:分类(Y)轴标志(即值参数)
    参数4:顺序参数
     
    选择“插入->图表”,选择任一图表,如柱形图,饼图,面积图...
    以饼图为例。
     
    选择后,会在当前页面上生成一个空白的矩形框,可拖动这个矩形框至你想要放置的地方。
    接下来是用SERIES()函数为该矩形框添加统计图表,例如:
    选中该矩形框,在输入栏中输入公式:
    =SERIES(测试报告!$B$130,测试报告!$B$131:$B$134,测试报告!$C$131:$C$134,1)
    得到下图(示例1)
     
     
     
    2.更快捷的操作
    1)制作二维图表:
    直接选中两列数据 -> 选择“插入”-> 选任一图表,即可。
    生成的图表自动以第二列的首行数据作名称,第一列首行数据被忽略。
    以第一列第二行起的数据作分类参数,以第二列第二行起的数据作值参数。
    如下图,先选中B130:B133 及 C130:C133两列数据,然后“插入->饼图”,得到下图(示例2)
     
     
     
    2)制作三维图:
    直接选中三列数据 -> 选择“插入”-> 选择三围图表如三维柱形图,即可。
    生成的图表自动以第二列首行数据作序列1,以第三列首行数据作序列2,第一列首行数据被忽略。
    以第一列第二行起的数据作分类参数,以第二列第二行起的数据作序列1的值参数,以第三列第二行起的数据作序列2的值参数。
    如下图,先选中B130:B133 ,C130:C133 及 D130:D133三列数据,然后“插入->三维柱形图”,得到下图(示例3)
     
  • 表单测试

    2011-02-09 18:00:06

    搜罗总结如下:
    1.字符串输入检查:
    输入字母
    输入数字
    输入中文
    输入一般符号:~!@#$%^&*()_+{}[]:"<>?
    输入特殊字符:如插入word特殊符号
    输入空格
    输入为空
    输入退格符
    输入换行符
    输入tab符
    输入ASCII码转义字符:\n,\t,\b...
    输入数据库关键字:select,and,top...
    输入超文本标记语言:<head>,<table>,<title></title>...
    输入CSS文本标记:<div id=##></div>
    输入临界值长度的字符串
    输入超过临界值长度的字符串:超长提示方式统一
     

    2.数值输入检查:
    正常值
    最大值
    最小值
    越界值
    0,-0,00,000...
    负数
    小数:0.0,超长小数,负小数...
    非数值字符:字母,汉字,符号...
     

    3.格式检查:
    电话号码格式检查:只接受数字,数字长度有限制
    电子邮件格式检查:合法输入,输入非法时提示增却
    图片格式格式检查:合法格式的图片,非法格式的图片可被正确处理
    文件格式检查:只接受规定格式的应用文件,非法格式的文件可被正确处理
    网址格式检查:输入合法网址,输入非法网址(如含特殊字符)时可正确处理
    邮编格式检查:只接受数字,数字长度有限制
    身份证号码格式检查:只接受数字,数字长度有规定
     

    4.唯一性检查:
    输入不存在的值
    输入空格
    输入为空
    输入已存在的值
    将某个已存在的值修改为其它存在的值
     

    5.相关性检查:
    检查表单中“与其它页面的显示数据相关联”的项目:增加/删除/修改该项后,对相关联项的影响是否正常
     

    6.数据库修改检查:
    检查表单中的数据是否与数据库中一致
    检查数据库中的数据更新后,表单中的数据是否同步更新
    例如:
    检查下拉列表中的数据是否和服务器端一致
    检查服务器端的数据更新后,下拉列表中的数据是否同步更新
    检查更新后的列表数据显示是否合理
     

    7.必填项检查:
    正常输入
    不输入:可正确处理
     

    8.上传/下载检查:
    上传/下载的文件可以正常显示/打开
    文件格式是否有限制
    文件大小是否有限制
     
     
    9.提交检查:
    按要求填写表单数据后,提交,检查表单信息是否被正确保存
    按要求填写表单数据后,放弃提交,表单信息不会被保存
    不按要求填写表单数据时,提交,检查表单信息是否可以保存
    对同一条数据进行多次提交时(提交->BACK->再提交->...),可正确处理
     
  • Camera专业测试

    2010-11-29 18:49:55

    专业测试工具:Imatest(2万RMB),色卡。

    对Camera的测试内容、测试方法等,可以在网上搜索“摄像头测试指导手册”作为参考。

  • 测试典型问题汇总&方法总结【更新中】

    2010-11-17 14:13:57

    【手机测试】

    1. 低温导致手机自动重启:由于手机中的某个器件的性能指标在低于某温度时达不到要求而导致。在手机持续使用的过程中,这个问题很难复现,那是因为手机在使用的过程中会产热,从而使手机本身的温度不至于太低。

     

    2. P-sensor,忽略了头发对感应的阻碍:当头发阻碍在手机和面部之间时,我们的P-sensor感应不到人体靠近。

     

    3. SD卡对信号的干扰:移动的卡在某个网络信号很特殊的地段,加上SD卡的干扰,会导致移动信号受到干扰而消失。这个bug的起因还真是“移动的卡+移动信号特殊的地段+SD卡”这三者缺一不可,联通的卡在这个地段加上SD卡就没有这个现象.

     

    4. 开机温度:避免高/低温下无法开机,曾出现低温无法开机现象。

     

    5. 充电温度:避免高/低温下无法充电,且保证充电过程可正常进行。

     

    6. 低电开/关机,测试边界开/关机电压。曾出现电压识别不准,导致电池电量一直用到空才自动关机;也曾出现系统低电自动关机后手动重启机器,发现手机还能坚持用较长一段时间后才自动关机,如此反复,直到手机电池的电量低到很低或为空才罢。

     

    “移动网络”包括3个APN接入点:cmwap、cmnet以及单独为彩信服务的另一个cmwap代理,他们均通过SIM/UIM卡与网络链接,仅彩信收发时系统会自动打开它相应的代理,其他的网络连接都得手动先打开“移动网络”开关。

    7. wifi和“移动网络”的冲突。wifi的优先性高于“移动网络”,所以当“移动网络”打开时,打开wifi,“移动网络”应该自动关闭,待wifi关闭后,“移动网络”再恢复。
    曾出现的问题是:

    开wifi,cmwap不会自动关闭,但是cmnet不会有此问题。

     

    8. 彩信和“移动网络”的冲突,曾出现的问题是:

    关闭“移动网络”服务开关,彩信收发不了。无论“移动网路”是开是关,系统都应该能自动打开彩信代理使彩信能正常收发。

     

    9. 重启确认:执行修改操作后,最好重启机器确认修改是否真正成功。曾出现问题:删除SIM卡中的联系人,提示成功,重启后发现联系人继续存在,而且变成了“死号码”,再对它进行的任何修改操作都失败了。原因是SIM卡的字符编码问题,起始时不识别中文编码。

    (所以凡涉及到文字的地方都要考虑其编码,要设计各种文字编码的用例来测试。)

     

    10. 反复验证,反复加冲突验证:

    一般,研发人员在解决一个bug后,总是迫不及待地想提交代码,这时很容易忽略对“有冲突关联模块”的考虑,所以一经冲突测试,所做的修改突然会变得无效或者更甚引发其它bug。

    一个bug解决掉后,起码要单纯验证此bug >2次,然后加冲突验证,反复>2次。

     

     

  • 一年工作总结

    2010-10-08 10:47:07

    【开篇】

    一个好的测试人员,除了基本的耐性和细心以外,

    1)【专业视角】好的软件测试者根据经验和直觉可以很快的找到软件可能存在Bug的地方,而不用满世界毫无目的的去找。而且好的软件测试者往往可以举一反三,根据一处存在的Bug,联系到多处Bug的藏身之处。

    2)【测试习惯】测试习惯非常重要,例如做好测试记录,及时更新测试用例,总结测试方法等。想成为好的软件测试人员是一件需要仔细琢磨和不断总结的事情。

    3)【沟通能力】要注意和研发人员的沟通,将其视为测试工作的一部分,注意语气,方式等。对于偶发的复现概率很低的bug要尽量帮助寻找易现路径。还要注意和用户或管理人员的沟通,随时做好换位思考的心理准备。

    4)【技术能力】加强自身技术方面的能力,明白被测软件系统的机制,学习使用工程中的工具;往更深层次一点,可能还需要去熟悉软件的系统架构和设计,以便挖出更底层的问题,用一种更透明的眼光来找问题。

    5)【记忆能力】应该有能力将以前遇到过的类似错误从记忆深处挖出来,因为许多新出现的问题和我们已经发现的问题相差无几,这一能力在测试过程中的价值是无法衡量的。好记性不如烂笔头,要培养自己“将典型的有价值的问题以及所用的测试方法随时记录下来”的好习惯。

    对某一功能点,要学会以不同的测试类型测试方法对它进行全面测试。
    【测试类型:功能测试,性能测试,配置测试(又叫兼容性测试),界面测试,容错测试,压力测试,冲突测试,边界测试...】

     

     

    关于【职业发展】

     

     

     

     

     

    关于【浮躁】

    [10.24] 为什么要写它,因为这个词放我身上还是第一次,从我开始有评价起,无论是父母亲人,老师长辈,同学朋友,我听得的都是千篇一律:安静、沉着、淡定、温和、即便是有点冷,也完全和浮躁没什么关系,从小到大我也就一直这么自居着。
    我浮躁吗?什么是浮躁?从我开始欣然接受那些“褒奖”起,我就刻意远离浮躁,这么久了,也记不清它是什么样子了,即使到后来厌烦了那些千篇一律,我也没有丝毫打算接近它。浮躁不是冲动,是对现存某种状态的束手无策而产生的摇摆不定,混乱而茫然,想想我怎么可能会让自己陷入这种无助的境地,但事实上我好像已经处于了。
    事情的起因是这样的,我接到了Huawei的面试通知,抱着一种纯体验的心态去了,没有准备没有紧张没有决心。和面试官聊了近20分钟,他边看简历边提问,我的回答有些从简有些凌乱,我想这应该不是面试的重点吧,总觉得他应该会重点问我目前项目的工作,可是我错了...
    我好说歹说求他给我个不通过的理由,他开始有些不愿意(我有些想不通,难道是业内规则?难道是怕伤害应聘者?),我试探性地问了几个理由,他都说不是,最后他这样告诉我“和你谈下来,觉得你有点浮躁”“为什么”“就是感觉,具体也说不上为什么”,我一时有点尴尬有点受伤有点想打破砂锅,但还是忍住了,人家还要忙着面试下一个呢,给我说了理由已经很不错了。
    那句“就是感觉”够让我心慌慌了,这意味着“浮躁”已经渗透到我的言行举止,而且我还毫无察觉。说到这里,真要感谢这位面试官,要不是他的提醒,势必还会扩散到我的血液骨髓里,到时就真的形影不离了!

    最近几个月还真的是静不下心来,大脑总在“不可缺还是可有可无”之间纠结着,不清楚目前倒底是处于一种什么状态,总是不期然地感觉到不安,只是没有想到才短短几个月,这种不安便进化成了浮躁。目前我的状态就像一颗“闲棋”,有人说“闲着多好,拿钱不干事多享受”,也有人说“闲那是正常的,哪会有人一直忙的,那怎么受得了”,我也确实觉得说的在理,心情安顺了一阵,可没过多久就反弹了。要闲大家一起闲嘛,整个办公室就我一个人闲着多难受。闲着也无妨,但至少要看到希望看到方向,现在没有人带我,没有人指导,没有学习的任务,上面无将下面无兵,也没有团队(曾经的团队走的走,转的转研发,只剩我孤军一人),真不知道公司养着我倒底打算做什么用。我也曾自以为掌握的知识差不多了,可那位面试官及时给我浇了一盆冷水,我还差得远呢。我差什么差哪里,没人指点一下,我该怎么学怎么弥补,也没人指导,我也无从领悟。看着别人都忙活着讨论着,我就剩下不安了。
    我是不是成鸡肋了?
    没听说有什么培养计划,上海这边只是整个项目中的某个环节,只能称得上是一个项目组,连部门都不是,真正的决策者在北京,就算对上海这边有测试team的计划,那也是未知时间之后的事了;
    我又被忽悠了,续签合同的时候怎么听起来都像是前途一片光明;
    公司的测试根基不深缺乏系统性和独立性,基本附庸着研发,更沮丧的是在这一年里我似乎没有学到什么新的东西;
    今天不知道明天要干嘛,就更别提什么职业规划了,无从着手;
    这种得过且过的状态日复一日,整个人的思维都涣散了,散了就要乱,乱了就要浮躁。

    我发现我现在满脑子想到的都是消极的方面,对这一年的工作都快要全盘否决了。本来还好好的,自信满满的,现在好了,梦被道破了。
    一直嚷嚷着“跳槽”,也就口头过过风罢了,就是因为一直找不到说服自己下决心的理由,现在好了,理由有了一堆!说到跳槽,又是头大的事...

    [11.8] 这一年,仿佛活在夜郎国里,没法判断自己到达了个什么阶段。
    上周去面试了,我现在也搞不清楚什么是表现的好与不好,有人问我觉得能不能通过时,我是真的没底,心理总是在往消极处想,所以当后来得知技术面试通过的时候,整个人是真的觉得开心,一种自己对自己的些许放心!
    在面试的过程中,我也稍微了解了一下他们的测试体系,听着感觉不出什么来,如果学来学去,只是对另一种产品变得更熟悉,那有什么意义。
    后来还有一次人事面试,我想我得尽量压住我的浮躁才行,事实上我也不知道该压住什么,所以就凭感觉,从外在的穿着表情到语调语气上都尽量摆得庄重沉稳些,后来大脑自然而然地也跟着进入了一种认真的状态。
    所以有时候摆摆姿态也是很重要的,它能让自己的内心某种程度上也被不知不觉地同化过来

    ......

     

    【尾】

    11.16

    冬天又要来了,据说这个冬天将是千年不遇的冷冬,有些期待。

    本命年也要随之步入尾声了,开年的我将以25岁登场。

    25,这个数字有点特别,有点忧郁,还有点兴奋。
    想到这样一句话,借以形容之 --“有理想无蓝图”
    在这个数字上,许了太多太多的愿,放了太多太多的梦想,现在看来基本上都属于无蓝图型的。


    这个季节,适合抒情。 想起一首诗,以作本篇的结尾,原作于两年前,偶尔翻读,搁笔至今。

     

    流年【冬语】

     

    被遗忘的

    散落空中

    化为雾霭

    载着冷了的季节

     


    纷纷的花语

    炫舞着的

    是最后的梦幻

     


    生活

    不知从何时起

    又悄然更换了色彩

     

     

  • 移动、联通、电信之3G对比

    2010-09-28 10:34:41

    3家公司采用3种不同的第三代通信网络技术:
    中国移动获得TD-SCDMA牌照,中国联通获得WCDMA牌照,中国电信获得CDMA2000牌照.

       TD-SCDMA
    (最新版本:TD-HSDPA)
    WCDMA
    (最新版本:HSUPA) 
    CDMA2000
    (最新版本:EV-DO RevA) 
    下行速率  2.8Mbps 14.4Mbps(HSPA+在建,28Mbps)  3.1Mbps
    上行速率  384kbps  5.76Mbps  1.8Mbps
    功能   可视电话、高速数据上网、WAP、彩信、话音、短信  可视电话、高速数据上网、WAP、彩信、话音、短信  可视电话、高速数据上网、WAP、彩信、话音、短信
    技术
    演进
    TD-SCDMA → TD-HSDPA → TD-HSUPA → TD-HSPA+ →
    LTE TDD
    GSM → GPRS → EDGE → WCDMA → HSDPA → HSUPA → HSPA+ → LTE FDD CDMA → CDMA1X → CDMA2000 EV-DO Rev.0 → Rev.A →
    LTE FDD
    部署
    国家
    中国;缅甸、非洲建有试验网,小规模放号 100多个国家,258张网络 62个国家
    用户数  中国41万,少量国外试验用户 3.2亿,全球市场占有率77% 9500万,全球市场占有率23%
    代表运营商 中国移动 英国沃达丰、日本NTT DoCoMo、和记黄埔3、
    西班牙电信、德国电信、
    法国电信、意大利电信、
    美国AT&T、中国联通等全球绝大多数运营商
    美国Verizon+Alltel、Sprint、日本KDDI、中国电信、印度Reliance、Tata(注:除Sprint选择WiMAX外,其他CDMA运营商都计划转网至HSPA或LTE)
    主要设备商  大唐移动、中兴、上海贝尔、鼎桥 爱立信、华为、诺基亚西门子、中兴、阿尔卡特朗讯、
    摩托罗拉(OEM华为设备)
    阿尔卡特朗讯、北电(注:两家已在裁减CDMA部门)
    中兴、华为、摩托罗拉
    简评  中国自有3G技术,获政府支持 产业链最广,全球用户最多,技术最完善 本身技术优秀,但因产业链一家独占发展不乐观
    简介 TD-SCDMA是我国自主3G标准,2000年5月,ITU(国际电信联盟)公布TD-SCDMA正式成为ITU第三代移动通信标准3G国际标准的一个组成部分,与欧洲WCDMA、美国CDMA2000并列为三大主流3G国际标准。TD-SCDMA于2008年4月1日试商用。
       TD-HSDPA是TD-SCDMA的下一步演进技术,采用TDD方式。作为后3G的HSDPA技术可以同时适用于WCDMA和TD-SCDMA两种不同制式。
       TD-HSDPA后,TD也将实现TD-HSUPA,上行速率2.2Mbps,最后讲演进到LTE TDD。
     WCDMA是GSM的升级(GSM是2G技术,其演进是GSM、GPRS、EDGE、WCDMA),同时也是全球3G技术中用户最广(GSM系技术拥有全球85%移动用户)、技术和商业应用最成熟的。WCDMA运营商遵循WCDMA、HSPA、LTE演进路线。
       HSDPA和HSUPA统称HSPA,后者上行速率更快,中国联通采用HSPA技术,其中大城市使用HSUPA,在09年6、7月份即可完成部署。
        HSPA后的HSPA+技术也已经开始在澳大利亚、新加坡等地开始建设,速率高达21Mbps。
       EV-DO是CDMA技术的升级,相对GSM/WCDMA,CDMA/EV-DO的部署要少得多,设备厂家和终端厂商也较少,产业链基本由美国高通一家把控。
        目前,全球CDMA投资急剧萎缩,CDMA的技术演进已经基本达成共识,除了一部分转网建设HSPA,相当数量的CDMA运营商还是会升级到EV-DO Rev.A,并最终演进到LTE;高通已经放弃发展UMB(EV-DO Rev.C)技术。
       中国电信要求EV-DO Rev.A提供给用户的平均下载速率实际要达到1.2Mbps。
           

     

  • 几个工具

    2010-09-10 17:07:22

    QPST
    QXDM
    BusHound
  • 发布受限

    2010-09-10 16:36:15

    突然就不能发日志了,打电话过去问情况,说是必须在论坛上发满10条帖才可再享受“发布日志”的待遇。

    刚在论坛上逛了一圈,发了不多不少刚好10条帖,试试果然又可以重新发日志了,呵呵

    万一某日又出个新规定,不会把我辛辛苦苦整出来的这点东西全弊掉吧,我要找个什么方法备份才行。

  • 我繁忙的一周

    2010-09-04 17:10:51

    2010-08-21周六 加班。
    北京、上海、苏州、武汉、海口报出的场测bug一时如潮水般统统录入了Bugzilla,天天加班的经理赶在周五下班前过来跟我说“这个周末可能需要你来加班了”。
    任务虽说艰巨,可对上司的安排我尚不敢说不。于是,为了表示我的听从,迅速地问了几个一刹那从大脑中闪过的问题,同时也借此表示我确实有在很认真地操心,经理他也很迅速地回答了我,想必也是在那一刹那冒出来的想法,这个在短短两天后就知道了。
    仅一下午的时间,场测bug就达到了120个,而且还在不停地涨,任凭它洪水猛兽,任何事情只要开始做了,总归是有办法的
    贯彻经理的“想法”,先安排了两个测试人员将所有场测bug快速地验证一遍,目的是assing和过滤,这些bug目前都挂在我的名下,需要赶紧将它们分给开发的才是,仓促地讲了一下规则:
    1) 我的工作:将每个bug assign给相应的开发人员
    2)多次验证后不可复现的bug,测试人员可自作主张将其置为“fixed”(按bug管理原则,这是违规的,我没想太多,经理怎么说照做就是!)。

    先前考虑不周,后来遇到麻烦了:
    由于测试人员需要搜索出我名下的bug,然后逐一验证,所以每个bug都必须等他们验证完成后,我才能做bug assign(若我先assing了,就会产生漏验),而且那些被他们置为fixed的bug,我要assign的话,还得先reopen,然后才能assign给开发,最后还要再将其置为fixed...
    神啊!
     
    2010-08-23周一。
    一早经理过来问我工作情况,我顺便提起这麻烦的“Reopen->assign->再fixed”的问题,于是,他很理解地快速作了回答,于是有了如下:
    1)只有那些已经复现了的bug,才需要assign给开发人员
    2)那些不可复现的bug,置为fixed后,还是让它继续保持挂在我名下吧,反正场测那边也不会再验的

    2010-08-23周一下午。
    会议室。
    到目前为止场测bug已达258个。
    从北京临时调来一个头,听口气和经理差不多级别,很可能还在其上。
    他开口就强调测试在项目现阶段的重要性,是“钢***”中的“钢”(他说了两遍,我还是没听清楚那是一个什么成语,好像从来没听说过,不管钢啊铁啊的,这个比喻听起来感觉就是很别扭)。
    他的强调来得很突然,我有点“受宠若惊”,我害怕成为焦点,尤其在会上。他的想法是对的,测试确实应该被强调,可是以往的经验告诉我:在实际的过程中领导最关注的往往还是真刀实枪的开发工作,真的到赶起项目来,谁还真的去走那一套一套的规范流程啊!这个时候,测试往往也就沦为了帮助开发人员验证问题的机器了。我倒是很怀念我的机器时代,那时一心也只想着要将测试演绎得单纯而完美,很热爱这项工作,而且还轻松,不需要操什么心,反正上头有Leader顶着呢。
    北京来的这位领导理所当然地问了我现在的工作情况,听完我的报告后,他立马质疑了“当然你们测试组有权力将bug置为fixed,但是这样会不会太武断,对那些无法复现的问题,你们应该和场测或者开发人员及时沟通,然后一致决定该如何处理..... 你有任何问题可以来找我们,在你看来很难解决的事情可能通过我们就会好办多了”, 前面是意见我的工作,后面可能是突然意识到像我这样一个刚出炉的怎可能请得动某些人,所以后面的就是对我后期工作的建议了。 在他的质疑期间,我们经理一直都没说什么,我也就不好说什么了!我也明白,而且一散会,就立马很自觉地将所有要做的要改的全列了出来,唯恐遗漏了什么。
    可是,我还是憋了委屈:做领导的还真是站着说话不腰疼,某甲导一时想法我就得照着落实,来了个更大的乙导一时觉着不妥我就得放弃前面的所有改成他想要的。官大一级压死人啊,谁敢说什么?


    2010-08-24周二
    开会。
    正式通知从明日起进入封闭开发状态,这已经是我第3次被封闭了,所谓封闭就是将项目相关的人员集中到一起工作,每天加班到9点,而且这次似乎连安慰补贴都没了。
    真是扣啊...
     

    2010-08-25周三
    今天是周三? 直到晚上回到家我还一直以为是周二,这样下去,我真的要脑残了。
    月事到现在还没来。
    对于纠结了很久的fixed bug问题,今天终于空下手头其它事,花了一个下午的时间清理了那100多个被我们自作主张fixed的bug,作成一篇文档用于建议。

    日期:2010-0825

    说明:目前bugzilla中的fixed bug较多(总计120),而且状态比较混乱:其中有“开发人员自己fixed的”,而更多的是“测试人员由于无法复现而暂置为fixed的”。

     

     

     

    1 由测试人员无法复现而fix掉的

    分类

    处理建议

    执行步骤

    开发人员已解的

    verified

    直接置为verified

    开发人员未解的

    reopen->压测

    a. 记下bugID,需注意是否具备测试条件;
    b. bug挂在我名下,则先将bug reopen->reassign给研发人员,之后再做压测;
    c. bug已分给研发人员,则先将bug reopen,之后再做压测。

    reopen

    确定的bug,需要解决,且已经挂在研发人员名下的。

    reopen->reassign

    确定的bug,需要解决,但尚未分给研发人员的,则需要先reopen,再reassign给研发人员。

    close

    难以复现,而且不太重要,而且缺乏log

     

    2 由开发人员自己fix掉的

    分类

    处理建议

    执行步骤

    待验的

    验证

    a. 记下bugID,需注意是否具备测试条件;
    b. 未复现则置verify
    c. 复现则置reopen

    不是bug

    invalid

    直接置为invalid

    与参考机表现一致的

    close

    直接置为close

    建议暂不处理的

    WontFix

    直接置为wontfix

    要求提供log

     

     

    描述不清楚的

     

     

     

    3 不属于上海研发的

    尚未分配出去的

    分配给相关负责人

     

    已分配出去的

    不用管了

     

  • 测试组工作计划【草】

    2010-07-14 17:11:25

    新项目的测试工作大致分为【单元测试】和【关键问题的Track】两大部分。

    【单元测试】

    1、清楚单元测试的执行时间点,以便在此之前完成单测用例。

    2、了解待测的模块有哪些。

    3、熟悉各模块的Feature & function。

    4、作出测试计划。

    5、作出单元测试用例。

    6、请开发人员review测试用例,后作修改。

     

     

    【关键问题的Track】

    1、有权限Access所有项目相关的bugs:及时收到每个bug的状态更新信息和comments,有提交bug comment的权限。

    2、测试人员在单测执行阶段有给“上海开发人员”提bug的权限,即在北京开始做集成测试之前,以避免bug提交重复。

    3、及时归纳关键问题(来源于bugs),且及时督促关键问题的解决(关键问题可参考bug级别来定义)。

    4、模块的单测负责人有需要时可帮开发人员重现北京方所提bug,尤其是关键bug的重现。

    5、基于4,每周需从bugs中归纳出“需要帮忙重现的bugs(上海开发人员要求)”和“关键问题”。

    6、Bug的重现结果将以文档形式汇总,并及时报告给开发人员,且及时在Bugzilla上给出bug comment。

     

  • ubuntu下安装QQ, MSN

    2010-06-13 11:27:36

    1 安装pidgin
    sudo apt-get install pidgin即可下载安装了。
    这个软将包含了QQ和MSN,缺点就是QQ好友不分类,而且只显示在线的。 好处是可以同时登QQ和MSN。
    安装完之后,选择“Application->Internet->Pidgin” 建立QQ帐户和MSN帐户,然后设置代理,即可使用。


    2 安装腾讯QQ
    觉得Pidgin的QQ还是不够友好,可以安装专门的Linux QQ。
    在腾讯QQ下载中心:im.qq.com/qq/linux/download.shtml 中找到LINUX版并选择 DEB包,之所以选择DEB包是因为安装比较简单(双击安装即可)。
    安装完之后,选择“Application->Internet->腾讯QQ” 登录。 如果要设置代理,登录面板上就有“网络代理”选项供设置。
  • 为Ubuntu安装JDK1.5

    2010-06-12 18:06:59

    第一次编译Android源码时,使用Jdk6没有编译通过,可能需要用Jdk5。
    直接使用命令:apt-get install无法获取jdk5包,可能已从源库中移走。
    所以需要到SUN网站上手动下载。

    1 首先从网上搜索下载:jdk-1_5_0_22-linux-i586.bin(47M)

    2 下载到本地后(假如将jdk5下载到了目录/home/yvon/download下),进行安装:
      cd /home/yvon/download
      chmod 777 jdk-1_5_0_22-linux-i586.bin
      sudo -s ./jdk-1_5_0_22-linux-i586.bin
      然后会出现大篇幅的协议内容,一路回车即可,知道问你要不要安装,选择yes.
      安装成功后,会在当前目录下生成一个目录: jdk1.5.0_22

    3 安装好后,还必须配置环境变量
      sudo gedit /etc/profile.d/java.sh
      这样可以在所有的用户中使用
      在新的java.sh中输入以下内容:
       #set java environment
       export JAVA_HOME=/home/yvon/download/
    jdk1.5.0_22
       export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
       export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

      保存。
      重启机器。

    4 重启机器后,使用如下命令查看
      1) 查看安装成功与否
      java -version
      显示信息:
      java version "1.5.0_22"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_22-b03)
      Java HotSpot(TM) Server VM (build 1.5.0_22-b03, mixed mode)
      则安装成功。

      2) 查看环境变量修改成功与否
      echo $JAVA_HMOE
      echo $CLASSPATH


    5 最后,就可以编译Android源码了,具体编译过程可参考本空间中的另一篇文章:
    Build the Android work environment in Ubuntu Linux


    安装Jdk5后编译通过!




  • Docking测试bug [充电部分]

    2010-04-09 13:14:21

     

    PVT Docking充电问题

     

    .    手机电池的电量“满电/近满电”时,线充有如下异常:

    编号

    手机电池电量

    描述

    Bug ID

    1

    4.17v

    插上充电线,指示灯为红,但Battery info显示“放电”状态。

     

    2

    4.13v

    指示灯一会为红一会为绿,Battery info显示一会“充电”一会“放电”。

    bug 33032,Comment#3

    3

    4.15v

    插上充电线,播放音乐,易发出“切割金属般”的翁鸣声,这个情况在充电快满时发生,翁鸣声会一直持续下去。

    Bug 29591,Comment#5 #6

    4

     

    使用充电线启动手机,进入充电模式,满电后手机反复重启,LCD也跟着反复点亮<->黑掉。

    bug 40529

    5

    4.17v

    黑屏后,充电指示灯跟着熄灭。

    bug 33032, Comment#4

     

    . 其他问题

    编号

    描述

    Bug ID

    1

    手机插在docking上线充到满电后,又会耗电到非满。

    bug 40135

    2

    当手机和docking中都含电池时,docking电池电量近满(>3.95v),插上充电线,不充电。

    bug 31223,Comment#13

    3

    Docking给手机线充,充电速度太慢:充了3个小时才充进0.05v电,充了一晚上,还没充满。
    [
    补充1:如果直接将电池放入docking中进行线充,1个小时后,电量可正常增加
    0.3v
    补充2:如果用USB线给手机充电,1个小时后,电量可正常增加
    0.1v
    ]

    bug 41374

    4

    Docking给手机充电过程中,Battery icon显示的电量一直不长高。

    这个可能也是由于上一项提到的电速度太慢的缘故,由于一直去多少电,所以电量高度标记也就不会长高。

    bug 41374解决后再测。

    5

    Docking电池给手机电池补电,损耗太大:
    1、手机电池电量为3.75vDocking电池的电量为4.15v
    2、手机在docking上使用一段时间后,docking电池会给手机电池补电
    3、补电过程中,将LCD一直开着,WifiBluetooth都是关闭的
    42小时后,补电自动停止。
    5、量得手机电池电量为3.84v+0.09),量得docking电池电量为3.68v-0.47)
    所以,2时内损耗0.47-0.09=0.38v

    bug 41381

  • 声明

    2010-04-01 12:02:45

    该空间是我专为记录工作而开,非常乐意公开和大家分享!

    由于有些文章受当时情绪情感的影响包含了一些私人的东西,事后本人又觉得不便公开,可又觉得文章衔接自然,舍不得删减,惟有加密设为私有。

    为点缀生活,自得其乐,文章写完后会公开一天,有缘者读到了,那就是有缘了!!!

701/41234>
Open Toolbar