测试面试题整理

来源:互联网 发布:c语言课程设计单词统计 编辑:程序博客网 时间:2024/05/22 06:17

1.Java和c++的不同之处,至少三个。

00、Java不再支持指针。这可能是C++和Java之间的最大不同。
【注】既然JAVA中不存在指针,那么也不存在->操作符。
01、Java不再支持操作符重载。
02、Java不再包含结构或者联合。在可以完全包含它们的类出现后,这些结构成为冗余部分。
03、Java不再包括预处理,也不再支持预处理指令。
04、Java不支持自动的类型转换,必须显示强制执行类型转换。  

05、在Java中的代码必须封装在一个或者多个类中。
【注】因此Java中不再包含所谓的全局变量或者全局函数。  
06、Java不再允许默认参数。  
07、Java不支持多继承,即不允许一个子类继承多个父类。
08、虽然Java支持构造函数,但是不再支持析构函数。但是Java增加了finalize( )函数。
09、Java不再支持typedef。 
10、Java中不再可能声明无符号整数。  
11、Java不再支持goto语句。  
12、Java不再有delete操作符。  
13、Java中的<>不再重载I/O操作。  
14、Java中,对象只能由引用传递,C++中对象可由值或引用传递。

00、多线程。Java允许两个或者多个相同的线程并发运行。这是一种在语言级支持的并发机制。C++中没有类似的机制,或者说C++采用的是单线程的体系结构。如果需要并发执行一个C++程序,必须利用操作系统的功能手工启动。虽然这两种方法都可以同时执行两个或者多个线程,但是Java的方法清楚而且便于使用。 

01、C++中没有可以与Java包对应的特性。最近似的是用一个公用头文件的一组库函数。然而,在C++中构建和使用库函数与在Java中构建包和使用包是完全不同的。 

02、Java的接口与C++的抽象类相似(C++中的抽象类是包括至少一个纯虚函数的类)。例如,C++的抽象类和Java的接口都不能创建实例。两者都用于指定一个子类实现的一致接口。两者之间最大的不同之处在于接口更清晰的表明了这个概念。  

03、Java提供一个流线型的内存分配机制(即系统自动回收内存机制)。与C++类似,Java支持new这个关键字。但是,不支持delete关键字。当对象的最后一个引用撤销时,对象本身被自动地删除,并进行内存垃圾回收。再考虑到Java没有指针,这使得Java语言安全性能更强。

04、Java丢弃了C++的标准库,将它替换成自己的API类集合。它们功能上有相似之处,但是名字和参数有显著的不同。同时,因为所有的Java API库都是面向对象的,而C++库只有部分是,所以库例程调用的方式不同。  

05、Java增强了break和continue语句以接收标记。

06、Java中的char类型是国际通用的16位Unicode字符集,所以能自动表达大多数国家的字符。这与C++中的wchar_t型相似。使用Unicode字符增强了代码的可移植性。  

07、Java增加了>>>操作,完成无符号的右移。  

08、除支持单行和多行的注释之外,Java增加了第三种注释方法:文档注释。文档注释以结尾。  
09、Java包含一个内置的字符串类型叫做String。String在某种程度上和C++提供的标准string类很相似。当然C++中的string只有在程序中声明后方可使用,它并不是内置的类型。

2.测试用例的设计方式,至少三个。
等价类,边界值 ,因果图,错误推测,路径覆盖,功能图 ,正交试验设计法,场景设计方法

3.测试的方法,至少五个
黑盒测试,白盒测试,回归测试,负载测试,压力测试,安全性测试、Ui测试,功能测试。。。。。。。。。。。。。其实我不是很懂到底要问什么,怎么变成测试的种类去了???
4.写测试用例。假设x的取值有1、2、3,Y的取值有a、b、c,通常来说要测试所有z=x+y的可能,需要3*3=9个case。那么假设x和y的取值各有100个,case数量级会很大。要如何去简化case数量呢?

边界加等价类划分?0,负数,小数?无效等价类?

5.对于网易邮箱的登录框,测试的时候要考虑哪些方面呢?(不是真的写case,是考虑测试方向)

回答了:功能上的,并发时的性能和压力,安全性(get方式可能会泄露用户名+密码),还有浏览器的兼容性问题。

8.写一个建表的sql语句
create table cs

(    id char(10) NULL,    name char(10) NULL,    score integer NULL,    primary key(id));然后修改已有表的属性,比如添加新属性,删除旧属性的:alter table cs add newOne integer NULL;alter table cs drop newOne;

10.说进行项目测试的流程

a.参与需求分析,pm、开发、qa一起讨论,确定产品细节,生成项目文档;b.进行开发。qa期间根据项目文档来写测试case,和开发人员沟通测试时应重点关注的问题;c.提测,进行准入测试(冒烟测试)。if (false),打回,返回b;else,ok,进入d;d.根据b中的case和重点,进行测试,包括功能的,安全的,兼容性的,性能,压力等等。发现bug,先进行定位,和开发人员进行沟通,记录。e.开发人员解决bug,再次提测。bug未解决或衍生出新bug,返回d;bug解决了,进入f; f.测试通过,批准上线;g.上线后进行回归测试,线上发现问题根据重要优先级记录下来,后期追加修复。

11.准入测试的衡量标准是什么

1 测试准入标准 1) 开发人员编码结束,并已完成自测试; 2) 需求说明书规定的功能或程序员提交的功能说明书的功能均已实现; 3) 基本流程可以走通,界面上功能均已实现,符合设计文档规定的功能; 4) 开发人员向测试部提交《测试申请单》和配置文件。

14.列举一些常用的linux命令

mv cp rm vim等等

15.怎么cp一个目录?mv有哪两种作用?

cp -r ......          移动文件,重命名。

3.写大浮点数相加的函数

char * add (char * d1, char * d2)

4.写一个函数,满足以下功能。给定一个2的倍数的整数n(不用考虑n是否错误了,假定n一定正常),比如n=8,那么对于数列1 2 3 4 5 6 7 8,函数调整一次后变为 1 5 2 6 3 7 4 8. 先写一次调整的,然后如果是k次调整呢?

5.使用grep命令。找出a.txt文件中每一行第一个字为数字的内容。
[]
匹配一个指定范围内的字符,如’[Gg]rep’匹配Grep和grep。
grep ^[1-9] a.txts
找出已u开头的行内容
[root@localhost test]# cat test.txt |grep ^u
ubuntu
ubuntu linux

输出非u开头的行内容
[root@localhost test]# cat test.txt |grep ^[^u]
hnlinux
peida.cnblogs.com
redhat
Redhat
linuxmint
[root@localhost test]#

输出以hat结尾的行内容
[root@localhost test]# cat test.txt |grep hat$
redhat
Redhat
[root@localhost test]#

6.显示文件最后100行

tail -100 fileName

7.查看本机的负载、性能等

9.做测试的话,是怎么个计划?钻研一个细方向?

测试的一个好处是可以了解整个系统的框架,模块交互,而不是局限于一个小模块的功能。在这个基础上,选择例如性能测试、压力测试作为主要专注领域吧。

1、两根不均匀分布的木棍,每根点完的时间都是一个小时,请问您如何确定一个45分钟的时间。
一根:两头同时烧
二根:和他一起烧,烧完后30分钟,一根剩一半,再两头同时烧,结束45分钟
2、TCP\IP五层结构,TCP、IP分别在哪层
传输层。网络层
3、HTTP中请求GET、POST的区别
4、软件测试的目的
5、对测试计划的理解,测试计划应包括哪些内容
6、缺陷跟踪系统是否了解,说明其中的bug流程
7、若早上上班发现上不了网了,如何定位解决

1 0