终于有了分享感受,记录点滴的空间了~

5.22面试感受

上一篇 / 下一篇  2012-05-22 21:51:47 / 个人分类:心灵触动

今天又去一家公司面试了,之前自己接触到的是游戏测试,多是功能测试,在工作业余自己学习了python脚本语言和linux操作系统,今天去面试的这家公司,做的试题和面试问的问题对我来说,都比较深,还好自己之前学的是信息与计算科学专业,在语言,数据结构上都有一定的积累,这些当然都不重要,重要的是让我知道了自己在测试这条路上要积累的知识还有多欠缺。

1.对协议的了解
这个问题留给我的印象最深,很多家公司都有问到这个问题,我从不知道到广义的了解,知道OSI七层模型及每层有哪些协议,它的作用。但是我今天还是没有回答上来,面试官问了这么一个问题:TCP协议有哪几层?我知道TCP协议是传输层的协议,它与UDP的区别在于它是可以控制的,对于一个数据包应不应该发,UDP没有控制功能,但是TCP协议下能控制。具体有哪几层?怎么运作的我没有了解。说明这个问题确实引起了我的重视,但是我学习到的仅仅只是皮毛,没有深入具体了解各个细节。至少要了解TCP,UDP,IP,HTTP,ARP,RARP等协议的具体内容和各层中比较重要的协议有哪些。

2.什么是死锁?
是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。

3.判定覆盖与条件覆盖的区别?
判定覆盖DC(Decision coverage),有时也称分支覆盖,就是指设计若干测试用例,运行被测程序,使得每个判定的取真分支和取假分支至少评价一次,公式可以表示如下:

       判定覆盖率=被评价到的判定分支个数/判定分支的总数X100%

       判定路径覆盖率(DDP)=被评价到的判定路径数量/判定路径的总数X100%

       缺点:主要对整个表达式最终取值进行度量,忽略了表达式内部取值。
条件覆盖CC(Condition Coverage),设计足够多的测试用例,使得每一判定语句中每个逻辑条件的可能值至少满足一次,条件覆盖率的公式可以表示如下:
      条件覆盖率=被评价到的条件取值的数量/条件取值的总数X100%

      缺点:不能够满足判定覆盖
语句覆盖是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每一个语句至少执行一次,其覆盖标准无法发现判定中逻辑运算的错误;判定覆盖是指选择足够的测试用例,使得运行这些测试用例时,每个判定的所有可能结果至少出现一次,但若程序中的判定是有几个条件联合构成时,它未必能发现每个条件的错误;条件覆盖是指选择足够的测试用例,使得运行这些测试用例时,判定中每个条件的所有可能结果至少出现一次,但未必能覆盖全部分支;判定/条件覆盖是使判定中每个条件的所有可能结果至少出现一次,并且每个判定本身的所有可能结果也至少出现一次;条件组合覆盖是使每个判定中条件结果的所有可能组合至少出现一次,因此判定本身的所有可能解说也至少出现一次,同时也是每个条件的所有可能结果至少出现一次;路径覆盖是每条可能执行到的路径至少执行一次;其中语句覆盖是一种最弱的覆盖,判定覆盖和条件覆盖比语句覆盖强,满足判定/条件覆盖标准的测试用例一定也满足判定覆盖、条件覆盖和语句覆盖,条件组合覆盖是除路径覆盖外最强的,路径覆盖也是一种比较强的覆盖,但未必考虑判定条件结果的组合,并不能代替条件覆盖和条件组合覆盖。
转载百度例子:
程序1如下: Function js(float A,float B,float X) { if(A>1&&B=0)X=X/A; if(A=2||X>1)X=X+1; } 程序2如下: Void DoWork(int x,int y,int z) { int k=0,j=0; if((x>3)&&(z<10)) { k=x*y-1; ‘语句块1 j=sqrt(k); } if((x==4)||(y>5)) {j=x*y+10;} ‘语句块2 j=j%3; ‘语句块3 } A、语句覆盖:语句覆盖使程序中每个语句至少都能够被执行一次。 例如,在程序1中,为使程序中每个语句至少执行一次,只需设计一个能通过路径a-c-e的数据就可以了,例如选择输入数据为:A=2,B=0,X=3就可以达到“语句覆盖”标准。 在程序2中,如测试用例输入为:x=4,y=5,z=5程序执行的路径是a-b-d。 B、判定覆盖 比语句覆盖稍强的覆盖标准是判定覆盖。按判定覆盖准则进行测试是指,设计若干测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次,即判断的真假值均曾被满足。判定覆盖又称为分支覆盖。 C、条件覆盖 再设计程序中,一个判定语句是由多个条件组合而成的复合判定。 条件覆盖的含义是:构造一组测试用例,使得每一判定语句中每个逻辑条件的可能值至少满足一次。 D、条件判定组合覆盖 条件判定组合覆盖的含义是:设计足够的测试用例,使得判定中每个条件的所有可能(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)也至少出现一次。 E、多条件覆盖 多条件覆盖也成为条件组合覆盖,它的含义是:设计足够的测试用例,使得每个判定中条件的各种可能组合都至少出现一次。显然满足多条件覆盖的测试用例是一定满足判定覆盖、条件覆盖和条件判定组合覆盖的。

4.C与C++语言的本质区别是什么?
C是面向过程化编程,C++是面向对象的,C++在C 基础上新增了许多功能包括新增了标准库。

5.怎样做压力测试?

6.怎样做性能测试

7.怎样做安全测试



TAG:

东街小三的个人空间 引用 删除 东街小三   /   2012-05-23 13:07:33
 

评分:0

我来说两句

zwtestsky

zwtestsky

Hi~Welcome to my area! I like the programming testing,happy to share all the interesting thing with you! Have a nice day~Are you smiling today!

日历

« 2024-05-01  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 2618
  • 日志数: 5
  • 建立时间: 2012-05-21
  • 更新时间: 2012-06-11

RSS订阅

Open Toolbar