从事android客户端测试。微博:http://weibo.com/xingzunxi

发布新日志

  • 我的测试经历

    2009-05-09 14:58:33

        不知不觉间,自己已经工作四年了,回过头来看看自己貌似走了很多弯路,总结一下自己的经历!

        2005年毕业后从石家庄孤身一人来到了北京这个大城市,开始了找工作的生涯。虽然自己学习的是计算机科学与技术,可是上学的时候没有好好学习,看到招聘上要求的知识,自己可是都不会啊。那个时候就是疯狂的投简历。现在想想,刚刚一毕业应该投一些要求低一些的工作,比如说要求工作一年,或者对经验要求比较短的单位。当时根本不知道什么是软件测试,去面试的时候,一道题都不会!可是很幸运的是,单位当时要求不高,领导竟然要我了,于是我进了一家单位,开始做手机测试.

       刚刚毕业参加工作的时候,工作激情非常高,而且因为很多东西不会,也十分愿意学习,非常不幸的是,我们做的项目最后失败了,失败有很多原因,但是大家的情绪都非常低落,组长也离职了。当时自己也觉得十分不顺心,也离职了!在第一家单位只做了八个月,但是也学习到了很多知识。例如:clearquest的使用,测试流程,测试用例的编写.但是认为自己学习的差不多了,出去应该很容易找到一份工作,呵呵。想起了一句话,一个人会的东西越多,越发现自己不懂的越多。可惜当时自己还不明白这个道理!

         休息了半个月后,又是疯狂的面试,终于找到了一份工作。但是单位就自己一个人搞测试,一个人做测试挺累的,什么事情都要自己解决,没有什么人可以帮助你!自己在新的单位建立测试流程,引入bug管理工具,在这个过程中确实学到了一些知识!这家单位主要是做手机客户端的测试,还负责测试网站的后台。不过现在最后悔的事情是当时没有利用时间好好学习,相当的后悔啊!在公司呆了两年后,公司不幸倒闭了!

        公司倒闭后,找工作倒是很顺利的,面试了一家,就成了。工作性质和上一家单位差不多,还是做手机客户端的测试!

        四年过去了,自己的荒废了两年多的时间,基本上没有怎么学习。决定从今年开始努力学习!

        总结这几年的工作经验,进入一个大的单位对于自己的成长很重要,能够学到好的测试流程,而且人比较多,大家可以互相交流,有利于自己能力的提高!同时自己也一定珍惜机会,努力学习新的知识!

  • 关于Eclipse的使用

    2009-05-03 13:25:30

    今天启动Eclipse时出现了下边这个提示

    a java runtime environment (jre) or java development kit (jdk) must be available in order to run eclipse.no java virtual machine was found after searching the following locations;F:\software\Eclipse3.2中文版\eclipse\jre\bin\javaw.exe 'javaw.exe'in your current PATH

    经过分析后来查到了原因,因为自己更新了jdk,但是系统环境变量里面的设置没有变化,修改环境变量path和classpath里面的设置,就解决了以上问题!哈哈!

  • 三角形问题测试用例设计之总结

    2009-03-30 00:35:37

    三角形问题测试用例设计

    今天在网上逛,发现了三角形问题设计测试用例的问题,这个问题再面试的时候经常遇到,我面试的时候就曾经三次遇到(曾经做过面霸)问题如下:

    假设输入三个整数abc分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时!要求画出程序的流程图和时序图,并且用自己熟悉的一种语言实现这个功能! 我在网上搜索了一下发现已经有好多文章,不过发现很少有写出程序的,于是自己做了一个总结,我最近正在看java,所以用java语言实现了一下,流程图和程序图参考的网上的,

     

     

    程序如下:

    package sanj;

    /**

     *

     * @author xingzunxi

     */

    import java.io.*;

    class sanj{

    public static  int a,b,c;

     public static void main(String arg[]) throws IOException{

    try{

    BufferedReader stdin=new BufferedReader(new InputStreamReader(System.in)); //接收键值

    System.out.println("输入三边值,每个值输入后回车");

    System.out.println("请输入:");

    a=Integer.valueOf(stdin.readLine());

    b=Integer.valueOf(stdin.readLine()); 

    c=Integer.valueOf(stdin.readLine()); 

    }catch(IOException e){

    System.out.println("出现异常!");

    System.exit(0);

    }

    if(a+b<c || a+c<b || b+c<a){

    System.out.println("你输入的不能构成三角形");

    }

    if(a==b || a==c || b==c)

    {

    if(a==b && b==c) System.out.println("等边三角形");

    else System.out.println("等腰三角形");

    }

    else System.out.println("一般三角形");

    }

    }

     

    【解】

    第一步:确定测试策略。在本例中,对被测程序的功能有明确的要求,即:

    1)判断能否组成三角形;

    2)识别等边三角形;

    3)识别等腰三角形;

    4)识别任意三角形。因此可首先用黑盒法设计测试用例,然后用白盒法验证其完整性,必要时再进行补充。

    第二步:根据本例的实际情况,在黑盒法中首先可用等价分类法划分输入的等价类,然后用边界值分析法和猜错法作补充。

    等价分类法:

    有效等价类

    输入3个正整数:

    (1)3数相等

    (2)3数中有2个数相等,比如AB相等

    (3)3数中有2个数相等,比如BC相等

    (4)3数中有2个数相等,比如AC相等

    (5)3数均不相等

    (6)2数之和不大于第3数,比如最大数是A

    (7)2数之和不大于第3数,比如最大数是B

    (8)2数之和不大于第3数,比如最大数是C

    无效等价类:

    (9)含有零数据

    (10)含有负整数

    (11)少于3个整数

    (12)含有非整数

    (13)含有非数字符

    边界值法:

    (14)2数之和等于第3

    猜错法:

    (15)输入3个零

    (16)输入3个负数

    第三步:提出一组初步的测试用例,如下表所示:

     

     

    第四步:用白盒法验证第三步产生的测试用例的充分性。结果表明,上表中的前8个测试用例,已能满足对被测程序图的完全覆盖,不需要再补充其他的测试用例。

     

     

     

  • 关于网络传输的问题

    2009-03-28 23:41:11

        昨天测试的时候发现了一个问题,手机应用往后台传输数据时传输了两次!我们做的应用一边都是手机上的应用,

    手机客户端发送请求,然后后台接受数据,接收成功后,返回数据成功的提示,同时修改后台的数据,但是由于网络的问题,返回数据手机客户端没有收到,所以客户端没有提示成功的提示,可以继续提交数据,但实际上后台数据库已经发生变化,暂时没有想到好的解决办法!正在思考中!

         这种问题再计费的时候最为重要,容易发生多收费的情况!谁以前做过类似的软件,可以交流一下经验!

  • 测试用例的编写

    2009-03-20 00:36:50

    最近又编写了一个项目的测试用例,我编写用例习惯写的十分简单,给执行的人留下了很多思考的空间.举例说明如下:

    前提条件:

    输入店员编号和密码可以正确登录客户端,其中店员编号为数字,位数没有限制,密码必须为六位数字,输入店员编号和密码后需要联网,后台判断编号和密码正确后,能够正确登录!

    我编写测试用例如下:

    1.       输入正确的店员编号和密码,可以正确登录

    2.       输入错误的店员编号或密码,不能登录,有正确的提示.

    但是在实际测试过程中我会测试如下:

    1.       输入正确的店员编号和密码,可以正确登录!

    2.       输入正确的店员编号,输入密码少于六位,这时候不应该联网,应该在客户端做出提示!这样可以节省用户的流量费,因为目前国内的流量费用还是很高的!

    3.       输入正确的店员编号,输入密码多于六位,也应该客户端做出提示!

    4.       输入错误的店员编号,输入正确的密码,这时需要联网,然后后台给出判断,客户端显示错误提示!其中错误的店员编号分为两种情况,一个是不存在的店员编号,一个是存在的店员编号,但是店员不是属于这个商家的,我们的客户端支持不同的商家,客户端只支持本商家的店员登录,不是同一个商家的店员不能登录其他商家的终端!

    5.       在后台把这个店员停用,然后使用正确的店员编号和密码登录,联网后应该给出正确的提示!

    6.       输入店员编号和密码后,联网失败,需要给出提示:

    备注:因为我们的客户端只能输入数字,所以不用验证输入字符,英文等情况!

    测试数据如下:

    店员编号

    密码

    目标结果

    提示信息

    1

    222

    111111

    登录成功

    无提示,直接进入

    2

    222

    11111

    登录失败

    密码位对不对

    3

    222

    1111111

    登录失败

    密码位数不对

    4

    111

    111111

    登录失败

    店员编号不对

    5

    333

    111111

    登录失败

    不是这个商家的店员

     6

     222

     111111

     登录失败

    店员已经被停用

    7

    222

    111111

    登录失败

    联网失败

    我在实际测试过程中,每条测试用例都有对应的测试数据,这样的优点:

    *   测试用例逻辑清晰、数据与逻辑分离

    *   测试步骤浅析,逻辑明了,新员工也容易使用

    *   可以专心于测试用例覆盖(数据覆盖)的设计,即测试数据设计

    *   很容易转化为自动化测试脚本.

    但是如果我编写测试用例的时候把这个数据也都对应上的话,个人觉得限制了测试执行人员自己的发挥空间,不利于养成自己思考的习惯,所以我写测试用例都比较简单,执行编写简单的测试用例,要求执行人员有比较丰富的经验,能够自己扩展测试用例!

       可能每种写法都有优缺点吧,但是貌似我写的测试用例,总是被人批评写的太少,呵呵!

     

  • android 环境的安装

    2009-03-09 14:49:25

    创建Android开发环境

    一,下载开发资源

    1,下载最新的Android SDK,选择Windows版本的SDK,解压缩即可(很遗憾,目前国内用户似乎无法登录developer.android.com)。
    http://code.google.com/android/download.html

    2,下载Java SE Development Kit 6,建议使用目前的update11而不是最新的update12。

    或者访问下面的链接选择下载。http://java.sun.com/javase/downloads/index.jsp

    3,下载Eclipse Classic 3.4.2 ,压缩即可。


    二,为Eclipse配置ADT插件(Android开发插件)

    安装:
    1. 启动Eclipse, 选择Help > Software Updates... > Available Software > Add Site...
    2. 输入插件更新网址并选择OK。(http://dl-ssl.google.com/android/eclipse/)
    3. 展开刚才添加的网址,稍后可以看到需要安装的插件列表,全部选择后点击Install...按钮.
    4. 随后会开始下载和安装。安装过程中根据系统提示点击确定即可。完成后需重启Eclipse。



    设置:
    选择Window > Preferences... > Android,然后点击Browser...选择Android SDK的安装目录,最后点击Apply,OK返回。




    三,创建Android工程(HelloAndroid)

    按照下面的步骤建立Android工程:
    1. 选择File > New > Project
    2. 选择Android > Android Project, and 点击Next
    3. 选择 Create new project in workspace 建立一个新的Android工程,输入工程的名字,代码的开发包的名字,应用界面的类名字,应用程序的标题的名字。
    4. 点击Finish.


    随后,Eclipse会自动创建一个HelloAndroid的示范代码。
    用鼠标右键点击Eclipse左侧的Package Explorer选项卡中的HelloAndroid项目,然后在弹出菜单中选择Run As > Android Application就可以调出模拟器并执行HelloAndroid(启动比较慢,需耐心等待)。


    四,最后介绍一下Android的Log工具LogCat。

    首先在Eclipse中选择Windows > Show View > Other... > Android > LogCat,确定后会出现LogCat显示框,用户添加的Log将会在这里显示。

    使用时直接在代码中插入“Log.i("info","this is a log");”,那么在执行到该语句时,LogCat显示框中将出现“this is a log”。
    详细的用法请参考Android文档。

  • java应用测试

    2008-08-25 21:06:47

    今天看到一个小短文,关于java应用测试的,感觉不错,与大家共同分享

    I am intrested to share my experience of testing with you, let me give you some basic procedures to follow mobile application testing in j2me.

    Application Conforms to Manifest File Attributes:
    1) Check the MIDlet Jar URL and JAR size from JAD file.

    2)Check the MIDlet-Name, MIDlet-Version, MIDlet-Vendor, MIDlet-n, MicroEdition-Profile and Micro-Edition Configurations fields are included in the manifest file Check the MIDlet-Name, MIDlet-Value and MIDlet-Vendor in the manifest file matches the value in the JAD file

    3) Installation testing:The application must install via OTA.
    Steps to conduct the test:
    Open the browser application of the
    device
    Type the URL of the application JAD file
    Connect to the typed URL
    Accept the installation of the application.

    4)Loading Screens: Loading screens must include some animated element to indicate to the user that the game hasn't frozen.
    When navigating from any screen to another, if the delay is more than about 3 seconds, then there should be a loading screen. This can vary depending on the situation.

    5)Text scrolling: In all help files if it contain more then 1 screen of text, there needs to be a clear indication to the user that the text can be scrolled through. This is usually done with a scroll bar on the height side of the screen or up/down arrow icons above & below the text block. In most cases text can be scrolled through with both the nav arrows & the 2/8 keys, but it's only required that the nav arrows function.

    6) Access all the main menu options as well sub menu's.

    7) Soft Keys: Whenever a softkey has any functionality it should be labelled properly with either text or an icon. When menu's change the softkey labelling should change appropriatly. Some small screen handsets don't have the room to support softkey labels.The softkey labels should remain as consistant as possible & match the softkey functionality in the phone OS whenever possible

    8) Interruption testing : Give a any kind of interruption
    through out the application like call interruption(incoming call,accepting the call,rejecting the call),SMS,MMS,alarm,timer,Blietooth and calender notification.

    9) Key pressing : Pressing red key and checking the behaviour of appliaction and rapidly pressing keys in loading screen and server communicating screens.

    10)Clamp shell or flip flop:Check application can handle clam shell or flip flop closing while loading,Main Menu,sub menus.

    11)Uninstallation testing : Check the application by deleting or removing from app manager.

    Few testcases should be added depends upon the carrier
    for T-mobile the carrier will provide TNS test plan.

    For nokia handsets follow the Nokia_Test_Criteria_for_Java_ME_Applications_v1_1_en from nokia forums


    For BREW platform follow the TRUE BREW TESTCASES provided by qualcomm.

  • 开始

    2008-07-02 16:12:18

    从今天开始准备写写日志了,我主要是做手机客户端的测试,希望和同行们多多交流
483/3<123
Open Toolbar