2021-04-07笔试题3(缺少 二)
一、计算机知识
1、在Linux系统中,一个文件的访问权限是755,其含又是什么?
Linux权限详解(chmod、600、644、666、700、711、755、777、4755、6755、7755)
拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
2、Linux中,如何从root用户切换到普通用户?
如果当前是root用户,那么切换成普通用户test用以下命令:
su - test
root@ubuntu:~# su - test
[sudo] password for test:
test@ubuntu:~$
如果要切换回root用户,那么用以下命令:su或su -用户名root可以省略不写。切换回root用户时要输入root密码。一般直接输入exit命令来切换回root用户,这样就不用输入密码。
test@ubuntu:~$ exit
logout
root@ubuntu:~#
3、说出4种及以上常用的操作系统及其主要的应用范围(微软的操作系统除外)。
Linux:主要用于搭建各类服务器
MAC OS:苹果机的操作系统,用于图像处理
Unix:(AIX:IBM服务器的专用操作系统
Solaris:Sun操作系统;FreeBSD、NetBsd
4、一套完整的测试应该由哪些阶段组成?
一套完整的测试应该由五个阶段组成:
1.测试计划
首先,根据用户需求报告中关于功能要求和性能指标的规格说明书,定义相应的测试需求报告,即制订黑盒测试的最高标准,以后所有的测试工作都将围绕着测试需求来进行,符合测试需求的应用程序即是合格的,反之即是不合格的;同时,还要适当选择测试内容,合理安排测试人员、测试时间及测试资源等。
2.测试设计
将测试计划阶段制订的测试需求分解、细化为若干个可执行的测试过程,并为每个测试过程选择适当的测试用例(测试用例选择的好坏将直接影响到测试结果的有效性)。
3.测试开发
建立可重复使用的自动测试过程。
4.测试执行
执行测试开发阶段建立的自动测试过程,并对所发现的缺陷进行跟踪管理。测试执行一般由单元测试、组合测试、集成测试、系统联调及回归测试等步骤组成,测试人员应本着科学负责的态度,一步一个脚印地进行测试。
5.测试评估
结合量化的测试覆盖域及缺陷跟踪报告,对于应用软件的质量和开发团队的工作进度及工作效率进行综合评价。
二、数据库
Student(S#,Sname,Sage,Ssex)学生表
Course(C#,Cname,T#)课程表
SC(S#,C#,score)成绩表
Teacher(T#,Tname)教师表
1、查询“001”课程比“002”课程成绩高的所有学生的学号;
2、查询所有课程成绩小于60分的同学的学号、姓名:
三、问答题
1、测试人员在软件开发过程中的任务是什么?
发现软件的缺陷与漏洞,对软件的质量进⾏评估,提升软件质量
2、黑盒测试和白盒测试是软件测试的两种基本方法,请分别说明各自的优点和缺点。
一、黑盒功能测试法
所谓黑盒功能测试法,就是把要测试的软件看成一个黑盒子,不管其内部结构如何以及用什么算法实现需求提供的功能,而是按照需求的功能化要求,设计相应的测试用例,包括测试的输入数据与条件设置和所预期的软件运行输出结果,通过软件运行后所给出的输出(包括字符形式的输出与图象输出)与所预期的结果进行人工或者自动化比较,来验证被测试软件是否能给出正确的结果,从而判断该软件是否满足功能需求。
优点:
(1) 能最直观、最直接地反映出所设计的软件是否满足需求;
(2) 即使没有任何测试工具支援,也能靠人工测试的方法完成;
缺点:
(1) 难以找出某些特殊类型的错误。例如: 当对应于某组输入该被测软件并不提供任何输出信息时,可能只是改变了某种工作状态,如果其中的源代码处理部分有错误,就比较难找出来;
(2) 无法确定哪些测试用例有效或者无效 (所谓无效,并不是说单独使用某个测试用例时不能收到任何测试效果,而是在于它和前面已经使用过的测试用例一起使用时,毫无贡献,只是重复了前面的测试用例已经完成的测试);
(3) 具有无可避免的盲目性。当软件被修改后,由于不知道哪些测试用例能测试到被直接修改过的模块或者受修改过的模块影响的模块,于是只好将所有测试用例再从头运行一遍,而且是动态运行,非常费时费力。
二、白盒结构测试法
与黑盒子功能测试方法相反,白盒结构测试法不管所被测试的软件是否满足需求,是否实现了所设计的功能,而只注重该软件内部的结构,以便设计足够多的测试用例,使得百分百或者尽可能多的程序组成要素能被测试到最少一次,从而尽可能地将其中的软件错误暴露出来。
优点:
(1) 能够找出许多用功能测试方法找不出来的软件错误;
(B) 可以在整个软件系统还未完成之前就分别对各个单元进行测试;
(C) 可以通过测试用例的有效性分析而实现测试用例的最小化,以便大大地缩短软件修改后的回复测试时间和费用;
(D) 可以同时进行内存泄漏分析;
(E) 可以同时进行分支执行频度分析;
(F) 可以同时进行软件复杂度分析;
(G) 可以同时进行数据和变量分析;
(H) 可以同时进行性能分析;
(I) 可以同时进行动态运行错误定位与执行路径追溯等。
缺点:
(1)必须通过专门的测试工具来进行,需要在用户的软件的拷贝上进行插桩(插入纪录点)记录各分支/条件是否被执行过或者执行过多少次的信息;
(2)会使被测试的软件的运行速度减慢;
(3)需要增加被测试软件运行时的资源开销等。
3.根据自己的理解回答什么是软件测试,软件测试分为哪几个阶段。
软件测试(Software Testing),其经典定义或是标准定义:在规定的条件下对程序进行操作,以发现程序错误
单元测试、集成测试、系统测试、验收测试
4、什么是软件质量保证?软件质量保证人员与开发人员的关系如何?
软件质量是指软件产品满足基本需求及隐式需求的程度。软件产品满足基本需求是指其能满足软件开发时所规定需求的特性,这是软件产品最基本的质量要求;其次是软件产品满足隐式需求的程度。例如,产品界面更美观、用户操作更简单等。
软件质量保证人员也就是测试人员
四、编程题
编程输出1/1+1/3+1/5+·...···+1/99的和。
public class demo1 {
public static void main (String[] args) {
int i = 1;
int sum = 0;
for (i=1; i<100; i+=2) {
if(i% 2 != 0){//不是偶数
sum=sum+1/i;
}
}
System.out.println(“1+3+5+…+99=”+sum);
}
}