关于嵌入式测试或我blog中的话题讨论,可与bobo45123@163.com联系.

发布新日志

  • 面试--广州优视科技(UCWEB)

    2010-09-15 11:00:07

      面试流程:笔试--HR--技术主管--部门经理/总监

      笔试题目:一般是2份试题,一份是IQ题,另外一份是测试理论技术相关的项目。

      面试经历:08年的时候去过一次,当时只有1年的经验,在部门经理面试的时候答的不好,给BS了。10年的时候再次面试,面试通过,拿到offer

      面试体会:

      1.HR面试主要是了解前公司的情况及薪酬体系,并谈一些个人工作经历,比如工作中印象最深的一件事以及为  什么离职等。

      2.技术主管和部门经理面试主要是根据笔试成绩问一些简历相关的东西,只要简历真实,一般没什么问题。

      3.3面中最常问的问题:1.为什么离职?2.为什么选择UCWEB3.你觉得你的优势在什么地方?4.你自己的职业规划是怎么样的。

      4.总体来说UC的面试流程还是蛮快的,一般4面都是一个下午就搞定,offer的话也基本会在2-3天内确认email给出。

      面试题目:

      1.IQ题目中有:1.猴子偷桃问题,计算,需要时间;2.看图找出正五角星;3.蜗牛几天能爬出洞口;大部分IQ题网上都是能找到的,但一般IQ题每次面试不会一样。

      2.在测试方面的题目有:1.测试基础知识;2.linux命令;3.情景题(你发现一个BUG,研发说不是,而你的上级主管刚好出差又联系不上,你如何解决?);4.测试设计题

      综合2次笔试题目发现,我的2次笔试题测试方面的题目基本一样,而且51testing上也有一份共享的笔试题,大部分都是原题,有点疑惑UC是不是只有1套笔试题:)

  • 我的测试之路--职业发展

    2010-08-11 21:59:44

      前段时间由于比较消极,浮躁,虽然每天都会逛论坛,可是却没有写帖子的想法,这个月我会慢慢的将我测试之路充实起来。
      对于测试人员职业发展,网查很多资料总结起来大致分为以下2种路线:
      技术路线:
      初级测试工程师--中级测试工程师--高级测试工程师--测试技术专家/测试架构师
      管理路线:
      初级测试工程师--中级测试工程师--小组leaer--测试主管--测试经理
     
      个人认为对于一个测试工程师,更应该关心的是测试技术的提升,当然编码能力也需要,但不是重点。测试架构师一般都是由开发人员转行担任,对于从一毕业就进入测试行业的人来说想达到测试架构师的高度真的很难。因此对于编程基础弱的测友,完全可以往测试技术专家发展,在实际项目中只需要去设计测试策略,把握测试点即可,如果需要开发一些工具,完全可以和研发人员沟通让其协助开发即可。
     
      以上观点仅供参考,欢迎广大测友拍砖
  • 我的测试之路--功能测试

    2010-07-10 23:23:18

        前段时间写了一篇自己测试感悟得到很多同行朋友的关注,所以想继续写一些关于自己的测试成长之路,以便让更多的新人能够更快的进入角色。注:文笔不好,希望大家别介意!
     
        我所在的公司是一家IC设计公司,主要包括硬件(芯片)和软件(Soc)两部分,所以测试也就相应的分芯片验证测试和系统软件测试两大部分,我们部门主要负责系统软件的测试。
        刚进公司的时候,测试部有驱动测试组,多媒体测试组和系统测试组,而我被分到了多媒体测试组。多媒体测试主要包括音频,视频,图形图像的测试。在工作的前3个月,我主要做音频和视频部分的功能测试。我觉得自己比很多测试新手幸运,由于公司的整个测试流程和文档都很规范,在工作初期也会有专门的辅导员来带,所以自己的成长非常快。
        在做功能测试的3个月中,印象最深的是国庆的加班。9月28号我的辅导员让我做一个音频版本的全面测试(大概有400首左右歌曲),并且告诉我在国庆后一定要完成,由于一个全面测试版本一般得需要4天才可以完成而自己也是刚进入公司,所以就在国庆加了2天班。国庆后我告诉辅导员说我加了2天班完成了该版本测试,可她竟然告诉我其实也不是必须得10月8号出来,晚几天也可以的,当时那个郁闷啊...(希望新人如果遇到这种情况,首先需要和你的辅导员沟通,是否必须得在XXX时间完成?然后再决定是否加班,当然如果自己能主动加班完成更好了,起码会让别人觉得你比较勤快
        个人觉得作为一个测试新手,首先需要弄清楚测试的一些基础知识,如:什么是测试,测试的阶段,测试的分类,测试用例的设计方法等。其次需要重点了解目前所在公司的测试流程,分析与书本上的测试流程有什么不一样?再次需要去了解自己所测试模块的一些基本信息,如:功能需求,详细设计,测试用例,BUG情况等。在了解以上基础知识后,应该重点去关注测试用例的设计(可以询问用例编写人员设计的策略是什么?),分析有没有觉得冗余或遗漏的地方,以及该模块的测试策略。接着就去阅读BUG库,弄清楚该模块的BUG情况(BUG分类标准,遗留BUG情况,重现步骤等)。记得当初自己就花了很长时间去阅读CQ(Clear Quest)库,从而学到了该如何去测试音视频模块,BUG应该怎么描述。在发出测试报告的时候,需要注意:1.测试报告文档中有没有遗留或出错的地方;2.邮件的正文描述(最好分为几部分,如:测试环境,测试目的,测试结果(修改点/新增功能点验证情况,发现的BUG数目,)测试总结);3.出现BUG的Log信息。
        这3个月的功能测试使我对公司产品的特性,测试流程及相关文档的编写,用例设计的策略,测试策略有了一定的了解,对我最白盒测试打下了一个好的基础。希望大家千万不要觉得黑盒测试没意思,学不到东西,其实关键在于自己愿不愿意学,有没有去总结。
  • 面试题--10年金山WPS Office系统测试

    2010-07-06 21:49:28

    一、问答题(共20分)

    1)以下循环执行次数是?     5分)

    #include

    main()

    {

    int i;

    for(i=2;i==0;)printf("%d\n",i--)

    printf("%d\n",i);

    }

    2)一个程序,实现了图片转文本的功能,可以将任意图片转换成文本内容,并输出,请说明你的测试重点。       5分)

    3)产品的测试通常涉及以下几个方面:单元测试、集成测试、系统测试。

    请简述系统测试相关的测试点,并举实例说明。    5分)

     

     4-6题中,可以选择任意一题作答,共5

    4)请简述,哪些操作系统分别支持哪些文件系统格式?

    5)给你一个软件产品,如何预估完成测试任务所需的时间?

    6Windows XP多用户下"注销""切换"的区别?

     

    二、测试设计题(共40分)

    1)请写出以下功能的测试思路及关键用例  20分)

      功能说明:下图是一个便签软件,点击+可以增加多个便签,下图是新建了两个便签。

    (注意,测试不要要只局限在便签的增删)

     

     

    2)如图所示,是一个PDF书籍阅读软件。假设功能已开发完成,要进行测试,请写出测试思路。20分)

     

     

    三、分析题(共10分)

    1)请数出下图中三角形的个数,并给出简要的分析思路  5分)

         

    2)一只叫小快的蜗牛从井底爬到井口,白天小快要睡觉,晚上才出来活动,每个晚上小快可以向上爬6尺,但是白天睡觉的时候会下滑5尺,井深20尺,问几天小快可以爬出来?请写出分析思路。      5分)

     

    四、程序题(共30分)

    1)用你熟悉的开发语言:实现输入一个仅包含英文字母和空格的字符串,找出该字符串中没有出现过的字母(不区分大小写)。请写出思路及代码(可用伪代码实现)。    15分)

    2)用你熟悉的开发语言:实现输入一个正整数,求它是几位数。请写出思路及代码(可用伪代码实现)。    15分)

    (注意:不允许将正整数转换为字符串来用strlen处理)

  • 桩模块和驱动模块--集成策略

    2010-07-04 20:28:21

    1、 非增式集成测试

      各个单元模块经过单元测试之后,一次性组装成完整的系统。

      优点:集成过程很简单。

      缺点:出现集成问题时,查找问题比较麻烦,而且测试容易遗漏。

      范例:

      

    2、 增式集成测试

     (1)自顶向下

      A、 纵向优先

      从最顶层开始测试,需要写桩模块。测试的顺序:从跟节点开始,每次顺着某枝干到该枝干的叶子节点添加一个节点到已测试好的子系统中,接着再加入另一枝干的节点,直到所有节点集成到系统中。

      B、 横向优先

      跟纵向优先的区别在于:每次并不是顺着枝干走到叶子,而是逐一加入它的直属子节点。

      纵向优先的范例:

      

     (2)自底向上

      每次从叶子节点开始测试,测试过的节点摘掉,然后把树上的叶子节点摘下来加入到已经测试好的子系统之中。优点:不需要写桩模块,但需要写驱动模块。

      范例:

  • 桩模块和驱动模块--概念介绍

    2010-07-03 00:03:06

    很多人对桩模块和驱动模块的概念会搞不清楚,下面先介绍这两个概念:

    桩模块:集成测试前要为被测模块编制一些模拟其下级模块功能的“替身”模块,以代替被测模块的接口,接受或传递被测模块的数据,这些专供测试用的“假”模块称为被测模块的桩模块。
    驱动模块:在大多数场合称为"主程序",它接收测试数据并将这些数据传递到被测试模块

    桩模块就是用来代替所测的子模块,它不能为空,但也不需要那个子模块的所有功能都实现,只要实现在一部分就行了;
    驱动模块就是用来代替主模块,用它来调用子模块。

    简单的说,被测模块上层为驱动模块,是调用被测模块的,被测模块下层为桩模块,是被 被测模块调用的。

    假设现在项目组把任务分给了7个人,每个人负责实现一个模块。你负责的是B模块,你很优秀,第一个完成了编码工作,现在需要开展单元测试工作,先分析结构图:



      1、由于B模块不是最顶层模块,所以它一定不包含main函数(A模块包含main函数),也就不能独立运行。

      2、B模块调用了D模块和E模块,而目前D模块和E模块都还没有开发好,那么想让B模块通过编译器的编译也是不可能的。

      那么怎样才能测试B模块呢?需要做:

      1、写两个模块Sd和Se分别代替D模块和E模块(函数名、返回值、传递的参数相同),这样B模块就可以通过编译了。Sd模块和Se模块就是桩模块。

      2、写一个模块Da用来代替A模块,里面包含main函数,可以在main函数中调用B模块,让B模块运行起来。Da模块就是驱动模块。

      知识点:
      桩模块的使命除了使得程序能够编译通过之外,还需要模拟返回被代替的模块的各种可能返回值(什么时候返回什么值需要根据测试用例的情况来决定)。

      驱动模块的使命就是根据测试用例的设计去调用被测试模块,并且判断被测试模块的返回值是否与测试用例的预期结果相符。

  • 我的测试之路--测试3年感悟

    2010-07-01 22:48:24

      不知不觉做测试已经快3年了,记得刚毕业那会,自己已经拿了一封开发的offer,在医院体检的时候,现公司的HR打电话给我,问我有没有兴趣做测试,我就说,"已经拿到offer了,就不去贵公司面试了"。不过那个HR的GG并没有放弃,而是建议我,“就算给自己增加经验了”后来想想也行,就去了。

      记得当时是下午1:00到的公司,做了一份C语言的题,然后就是测试经理(现在我们老大)过来面试,主要问了一些测试方面的东西,如:知不知道什么是测试?测试的目的,测试方法等;当时虽然学校有软件测试的课程,不过由于是选修课,没有认真去听。感觉答的不怎么样。后来老大又问了我一个a=a^b;b=a^b;a=a^b;(^代表异或)实现的是一个什么功能,自己当时也就举了10,01来做,虽然计算出来了结果可是没能答出该题的功能(功能:a,b互换);再后来老大又问了一些问题,自己都不清楚,以至于自己当时直接说了句,“不要再问了,我什么都不会”(现在想起来那个汗...)。后来老大走了,HR主管和我谈了待遇问题,由于比我当时做开发还要高点,就接受了这份工作。(后来才知道老大当时招我进来,主要是觉得我机灵,有悟性,现在和老大谈起,她也说当时的决定没错*_*)

      由于公司产品的性质,自己主要从事嵌入式软件方面的测试。在工作的3年中,纯黑盒测试做了3个月,后来一直就做多媒体库的接口测试(灰盒),从09年6月份开始担任小组的leader,期间也做了一些测试工具和测试框架的开发。个人觉得嵌入式软件测试难点在于:①PCB板上代码的覆盖率;②性能方面的测试(由于测试环境的特殊性,不像web测试,有LR可用);③功能自动化测试(如测试一台MP4机的音频播放,不能像Web测试可以使用QTP来录制自动化脚本,而只能需要测试人员手动操作)。这③个测试点在PC上由于有相应的测试工具比较简单,而对于嵌入式系统来说就得自己去开发相应的测试工具来进行。

      作为一个测试人员,一定要具备一定的coding能力,否则测试的职业生涯会很短暂(总不可能一直做黑盒测试吧)。只有自己懂得coding,能够看懂coding,才可以在发现BUG后自己先试着去定位BUG产生的原因甚至出错的代码行,并在最后将结果告诉研发人员。只有这样,研发才会真正的认可测试,不会觉得测试只是敲敲键盘,动动鼠标,没有一点技术含量。也只有这样,自己才可以在工作中更好的与研发人员沟通,自己在职业发展上才可以选择管理 or 技术 路线。

      注:文笔不好,请大家见谅,只是想分享自己的测试经验,也希望大家能email给我。推荐书籍《赢在测试:中国软件测试先行者之道》,《步步为赢--软件测试管理全程实践》

  • 面试题--09年金山测试开发

    2010-06-30 22:35:14

    1.C语言的for循环中,breakcontinue有什么区别?

    2.有如下一C++的循环语句:for(int x = 0, y = 0; !x && y <= 5; y++) 请指出该语句执行循环的次数是多少次?

    3.请用inline#define分别实现MAX,即返回两个比较参数中较大的一个。

    答:

    4.请阅读下面代码,然后给出程序执行结果: 

    struct A
    {
    void f1() { std::wcout<<L"A::f1\n"; }
    virtual void f2(int n = 0) { std::wcout<<L"A::f2\n"; }
    };

    struct B: public A
    {
    virtual void f1() { std::wcout<<L"B::f1\n"; }
    void f2(int n) { std::wcout<<L"B::f2(1)\n"; }
    void f2() { std::wcout<<L"B::f2(2)\n"; }
    };

    int wmain()
    {
    B b;
    A* pa = &b;
    pa->f1();
    pa->f2();

    return 0;
    }

     

    5.给定一个仅包含英文字母和空格的字符串,请实现一个函数找出该字符串中出现次数最多的10个字母(不区分大小写)。

    6.请写一段程序,为第5题自动生成输入数据,并验证输出结果是否正确。

    7.请用你最擅长的语言实现一个堆栈。

    8.请写一个程序来测试问题7的堆栈的整体性能。

    9.下图所示是一张刚出厂的扶手椅,现在把它交给你测试。请你设计一个测试方案,简述即可。

  • 面试--广州威创视讯

    2010-06-28 22:43:02

      6月8号接到威创公司的HR电话,称他们公司想组建一支高素质的测试队伍,一部分人员由其公司开发人员转型,另一部分就打算外招,在招聘网站上看到我的简历觉得我的工作经验和测试方向符合他们的要求,约我过去面试。当时我也就是想积累经验,而且想证明自己的价值,就答应了。晚上在网上查了威创的一些评论,负面的较多,但个人觉得每个人看问题的角度不一样,只有自己经历的才是最真实的。

      9号早上9:00过去,第一感觉威创的办公楼很干净,填了份个人资料的表格后直接跟HR进了会议室。第一面,HR会让你做一下自我介绍,接着就问一些工作经历和最难忘的事;第二面是技术面试,会有测试主管,经理以及将来要合作的研发人员一起面试,当时面试我的有4个人,主要是针对简历问一些项目上的细节,比如某个项目的测试策略,用例设计,测试工具等;第三面是测试总监进行面试,还是会问一些测试流程,测试用例设计依据等问题,然后接着就会问一下待遇的要求。当时我提的是xK(8号电话预约时,我明确说低于xK不考虑,当时威创的人员说,待遇到时候可以谈,没问题),结果测试总监直接说,你3年经验在我们公司也就y-zk,当时我就火了,直接回答,我现在已经有yk了,您认为我还会考虑贵公司吗?直接走人...

      奉劝各位如果想拿高工资,最好不要去...

Open Toolbar