亲身面试遇到的面试题

1、在Linux系统中一个文件的访问权限是755,其含义是什么?

答:首先是有四个数,4(可读),2(可写),1(可执行),0(无权限)。
而为什么访问权限是三个数,

  • 第一位数指代表文件所有者拥有的权限
  • 第二位数代表文件所有者同组用户的权限
  • 第三位数代表公共用户的权限
  • 755表示该文件所有者对该文件具有读、写、执行权限,且该文件所有者所在组用户及其他用户对该文件都具有读和执行权限。
  • linux文件权限一般都以8进制表示,格式为abc的形式,其中a,b,c各为一个数字,分别表示User、Group、及Other对该文件的操作权限;
    如果文件权限用二进制表示那么是9位bit,从左至右,1-3位数字代表文件所有者的权限,4-6位数字代表同组用户的权限,7-9数字代表其他用户的权限。
    这时候就是 rwx表示4+2+1

2、Linux中,如何从root用户切换到普通用户?

答:su

su user切换到user1,但切换后的当前目录还是root访问的目录

su -user1切换到user1,并且当前目录切换到user1的根目录下(/home/user1)

3、TCP和UDP有什么区别?

答:TCP有连接,所以握手过程会消耗资源,过程为可靠连接,不会丢失数据,适合大数据交换

     UDP一非可靠连接,会丢包,没有校验,速度快,无需握手过程

4、DNS是什么?它是如何工作的?

答:域名解析服务,用于将域名解析为IP或反和将IP解析为域名

客户机可指定DNS服务器来解析或用本机host文件进行解析

5、一条软件缺陷记录都包含哪些内容?

5.1.BUG对应的软件版本
5.2.开发的bai借口人员,测试人员
5.3.BUG的优先级du
5.4.BUG的严重程zhi度
5.5.BUG可能属于的模块
5.6.BUG的标题
5.7.BUG的描述dao
5.8.BUG的截图
5.9.BUG的状态
5.9.1.BUG的错误类型(数据,界面。。。。)

6、一套完整的测试应该由哪些阶段组成?

6.1,需求的评审,评审完成之后会根据这次的需求,

6.2,制定出测试范围(范围一般是把新增的功能和与之关联的功能都划在本次测试范围),范围确定之后,

6.3,制定测试计划,分配测试人员所需要负责的模块,

6.4,工作量的估算,

6.5,编写测试用例,

6.6,测试用例评审,

6.7,测试环境搭建

6.8,执行用例;

6.9,执行(可能一次迭代测试会有多轮测试的情况)完成之后输出功能报告;

6.9.1,测试整个过程的总结复盘;

6.9.2,监控上线之后的用户反馈;

7、您以往所从事的软件测试工作中,是否使用了一些工具来进行软件缺陷(bug)管理?如果有,请结合该工具描述软件缺陷(bug)跟踪管理流程。

答:禅道(个人是禅道所以回答是禅道)

8、你所熟悉的测试用例设计方法有哪些?分别以具体的例子说明在实际测试中的应用。

答:

1)等价类划分

 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.

2)边界值分析法

边界值分析方法是对等价类划分方法的补充。测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.

使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据.

3)错误推测法

基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法. 错误推测方法的基本思想就是: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例. 例如, 在单元测试时曾列出的许多在模块中常见的错误. 以前产品测试中曾经发现的错误等, 这些就是经验的总结。还有, 输入数据和输出数据为0的情况。输入表格为空格或输入表格只有一行. 这些都是容易发生错误的情况。可选择这些情况下的例子作为测试用例.

4)因果图方法

前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,未考虑输入条件之间的联系, 相互组合等. 考虑输入条件之间的相互组合,可能会产生一些新的情况. 但要检查输入条件的组合不是一件容易的事情, 即使把所有输入条件划分成等价类,他们之间的组合情况也相当多. 因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例. 这就需要利用因果图(逻辑模型). 因果图方法最终生成的就是判定表. 它适合于检查程序输入条件的各种组合情况.

5)正交表分析法

有时候,可能因为大量的参数组合而引起测试用例数量上的增加,同时,这些测试用例并没有明显的优先级上的差距,而测试人员又无法完成这么多数量的测试,就可以通过正交表来进行缩减一些用例,从而达到尽量少的用例覆盖尽量大的范围的可能性。

6)场景分析方法

指根据用户场景来模拟用户的操作步骤,这个比较类似因果图,但是可能执行的深度和可行性更好。

9、为管理业务培训信息,建立3个表:

表1:S(S#,SN,SD,SA),其中S#,SD,SA分别代表学号,学员姓名,所属学员年龄

表2:C(C#,CN),其中C#,CN分别代表课程编号,课程名称

表3:SC(S#,C#G),其中S#,C#,G分别代表学号,所选的课程编号,学习成绩

(1)使用标准SQL嵌套语句查询选修课程名称“税收基础”的学员和姓名?

答:select s.s#,s.sn from s join sc on s.s#=sc.s# join c on sc.c#=c.c# where c.cn='税收基础'

(2)使用标准SQL嵌套语句查询选修课程编号‘C2’的学员姓名和所属单位?

答:SELECT SNO,SDD FROM S WHERE SNO IN(select sno from(
SELECT SNO,COUNT(sc.cno)as countC FROM SC right JOIN C ON SC.CNO=C.CNO
GROUP BY SNO having COUNT(sc.cno)=(select COUNT(distinct c.cno) from c)) a);

(3)使用标准SQL嵌套语句查询不选修课程编号为‘C5’的学员姓名和所属单位

答:Select SN,SD FROM S

Where [S#] NOT IN(

Select [S#] FROM SC

Where [C#]='C5')

(4)查询选修了课程的学员人数

答:select 学员人数=count(distinct)[S#]from SC;

(5)查询选修课程超过5门的学员学号和所属单位?

答:SELECT SN,SD FROM S WHERE [S#] IN(SELECT [S#] FROM SC GROUP BY [S#] HAVING COUNT(DISTINCT [C#])>5)

 

 

 

 

1、一般一个测试用例由哪些部分组成?

2、测试用例设计的原则是什么?

3、缺陷记录应包含的内容?

答:bug标题、bug描述步骤、bug的优先级、bug的严重程度、bug的指派人、发现bug日期、bug所属模块

4、一台客户端有三百个客户与三百个客户端对服务器施压,有什么区别?

答:资源上考虑:300个用户在一个客户端上,会占用客户机更多的资源,而影响测试的结果。线程之间可能发生干扰,而产生一些异常

带宽上考虑:300个用户在一个客户端上,需要更大的带宽。

IP:IP地址的问题,可能需要使用IP Spoof来绕过服务器对于单一IP地址最大连接数的限制。

5、黑盒测试和白盒测试各自的优点和缺点有哪些?

答:黑盒测试的优点有:比较简单,不需要了解程序内部的代码及实现;与软件的zhi内部实现无关; 从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;在做软件自动化测试时较为方便。
黑盒测试的缺点有:不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;自动化测试的复用性较低。
白盒测试的优点有:帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐 藏的问题。
白盒测试的缺点有:程序运行会有很多不同的路径,不可能测试所有的运行路径;测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求;系统庞大时,测试开销会非常大。

6、白盒测试和黑盒测试都有哪些测试方法?

答:

黑盒测试方法:

1)等价类划分: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.

2)边界值分析法:是对等价类划分方法的补充。测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.

使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据.

3)错误猜测法:基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法.

错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例. 例如, 在单元测试时曾列出的许多在模块中常见的错误. 以前产品测试中曾经发现的错误等, 这些就是经验的总结. 还有, 输入数据和输出数据为0的情况. 输入表格为空格或输入表格只有一行. 这些都是容易发生错误的情况. 可选择这些情况下的例子作为测试用例.

4)因果图方法:前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等. 考虑输入条件之间的相互组合,可能会产生一些新的情况. 但要检查输入条件的组合不是一件容易的事情, 即使把所有输入条件划分成等价类,他们之间的组合情况也相当多. 因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例. 这就需要利用因果图(逻辑模型). 因果图方法最终生成的就是判定表. 它适合于检查程序输入条件的各种组合情况.

5)正交表分析法:可能因为大量的参数的组合而引起测试用例数量上的激增,同时,这些测试用例并没有明显的优先级上的差距,而测试人员又无法完成这么多数量的测试,就可以通过正交表来进行缩减一些用例,从而达到尽量少的用例覆盖尽量大的范围的可能性。

6)场景分析方法:指根据用户场景来模拟用户的操作步骤,这个比较类似因果图,但是可能执行的深度和可行性更好。 

7)状态图法:通过输入条件和系统需求说明得到被测系统的所有状态,通过输入条件和状态得出输出条件;通过输入条件、输出条件和状态得出被测系统的测试用例。

8)大纲法:大纲法是一种着眼于需求的方法,为了列出各种测试条件,就将需求转换为大纲的形式。大纲表示为树状结构,在根和每个叶子结点之间存在唯一的路径。大纲中的每条路径定义了一个特定的输入条件集合,用于定义测试用例。树中叶子的数目或大纲中的路径给出了测试所有功能所需测试用例的大致数量。

7、黑盒测试的测试用例常见设计方法都有哪些(提示:比如等价类划分,边界值分析法)?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用

8、假设有一个文本框要求输入10个字符的邮政编码,对于该文本框应该怎样划分等价类?

9、什么是回归测试?

10、你认为一个测试工程师应具备哪些素质?

11、你所了解的软件测试类型都有哪些(比如按测试策略分类、按测试阶段分类等),简单介绍一下?

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值