一、计算机知识(30分)
1、 在Linux系统中,一个文件的访问权限是755,其含义是什么?
参考答案: 755表示该文件所有者对该文件具有读、写、执行权限,该文件所有者所在组用户及其他用户对该文件具有读和执行权限。
2、 Linux中,如何从root用户切换到普通用户?
参考答案:su
su user1 切换到user1,但切换后的当前目录还是root访问的目录
su – user1 切换到user1,并且当前目录切换到user1的根目录下(/home/user1/)
3、 简述一下C/S模式和B/S模式的区别?
参考答案:
c/s 是客户端/服务器 架构 b/s 是浏览器/服务器 架构
C/S模式有以下特点:
1.C/S模式将应用与服务分离,系统具有稳定性和灵活性
2.C/S模式配备的是点对点的结构模式,适用于局域网,有可靠的安全性
3.由于客户端实现与服务器端的直接连接,没有中间环节,因此响应速度快
4.在C/S模式中,作为客户机的计算机都要安装客户机程序,一旦软件系统升级,每台客户机都要安装客户机程序,系统升级和维护较为复杂 B/S模式有以下特点:
1.系统开发、维护、升级方便 每当服务器应用程序升级时,只要在服务器上升级服务应用程序即可,用户计算机上的浏览器软件不需要修改,系统开发和升级维护方便2.B/S模式具有很强的开放性
在B/S模式下,用户通过通用的浏览器进行访问,系统开放性好 3.B/S模式的结构易于扩展 由于Web的平台无关性,B/S模式的结构可以任意扩展,可以从包含一台服务器和几个用户的小型系统扩展成为拥有成千上万个用户的大型系统 4.用户使用方便
B/S模式的应用软件都是基于Web浏览器的,而Web浏览器的界面是类似的。对于无用户交换功能的页面。用户接触的界面都是一致的,用户使用方便
4、 Windows操作系统中PATH环境变量的作用是什么?
参考答案:
PATH是Windows操作系统环境变量,PATH作用是用户在命令行窗口执行一个命令,则在PATH变量设置的目录下依次寻找该命令或对应的执行文件,若找到,则执行,若没有找到,则命令行窗口返回无效命令。
5、 TCP和UDP有什么区别?
参考答案:
TCP-有连接,所以握手过程会消耗资源,过程为可靠连接,不会丢失数据,适合大数据量交换 UDP-非可靠连接,会丢包,没有校验,速度快,无须握手过程
TCP UDP
6、 DNS是什么?它是如何工作的?
参考答案:
域名解析服务。用于将域名解析为IP,或反和将IP解析为域名。 客户机可指定DNS服务器来解析,或用本机hosts文件进行解析。
7、 说出4种及以上常用的操作系统及其主要的应用范围(微软的操作系统除外)。
参考答案:
Linux(Red Hat、SUSE、Debian、Trubo Linux):主要用于搭建各类服务器 MAC OS:苹果机的操作系统,用于图像处理 Unix(AIX:IBM服务器的专用操作系统; Solaris:Sun操作系统;FreeBSD、NetBSD)
8、面向对象程序设计有哪些特点?
参考答案:
面向对象程序设计以需求当中的数据作为中心,来进行设计,具有良好的代码重用性。 封装性:也叫数据隐藏,用户无需知道内部工作流程,只要知道接口和操作就可以的,C++中一般用类来实现封装。
继承性: 一种支持重用的思想,在现有的类型派生出新的子类,例如新型电视机在原有型号的电视机上增加若干中功能而得到,新型电视机是原有电视机的派生,继承了原有电视机的属性,并增加了新的功能。
多态性:指在一般类中定义的属性或行为,被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。
动态联编:指一个计算机程序自身彼此关联的过程,按照联编所进行的阶段不同,可分为两种不同的联编方法:静态联编和动态联编。
9、一条软件缺陷记录都包含哪些内容?
参考答案:
Bug标识、 bug发现人、bug发现时间、bug类型
bug严重程度、 bug优先级
bug所属版本 、程序名称、 bug所属模块、 bug简单描述、 bug重现步骤 、 出现bug的配置环境信息
bug 结果对比
bug相关附件
bug初步分析
bug解决方案
10、一套完整的测试应该由哪些阶段组成?
参考答案:
需求分析、测试计划设计、测试方案设计、测试用例设计与开发、测试执行、测试评审与测试结论,其中不可或缺的是缺陷管理流程以及缺陷分析报告
二、测试知识(50分)
1、您以往所从事的软件测试工作中,是否使用了一些工具来进行软件缺陷(Bug)的管理?如果有,请结合该工具描述软件缺陷(Bug)跟踪管理的流程。(10分)
参考答案:
1.拿到软件新版本 。
2.测试人员进行测试发现BUG后提交SUBMIT 给项目经理,此时bug为新建(NEW)状态 。
3.项目经理确定是否是问题,若是问题分配给开发人员修改BUG,若不是问题则返回给测试人员关闭bug 。
4.开发人员修改bug,并完成自测(附带自测报告),将bug走给测试人员进行回归验证。
5.测试人员进行回归测试,若验证通过则close缺陷,若回归不通过则返回开发继续修改。
备注:以上是较为简单的缺陷管理流程,其中角色只有测试人员、项目经理、开发人员三个角色,具体项目组不同,缺陷管理流程不尽相同。可以根据项目组实际情况,划分测试人员 测试经理、开发人员、开发经理和评审委员会等角色,那么对应的缺陷管理流程会略微复杂些。
2、请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。(10分)
参考答案:
黑盒测试:把测试对象当成一个黑盒子,测试人员完全不考虑逻辑结构和内部特性,只依据程式的需求说明书来检查程式的功能是否满足它的功能说明。
白盒测试:把测试对象当成一个透明的盒子,允许测试人员利用程序内部逻辑结构及相关信息,设计或选择测试用例,对程式所有逻辑路径进行测试。
单元测试:白盒测试的一种,对软件设计中的单元模块进行测试。
集成测试:在单元测试的基础上,对单元模块之间的连接进行测试。
系统测试:系统测试是将已经集成好的软件系统作为计算机系统的一部分,与计算机系统硬件、某些支持软件、数据和人员等系统元素结合起来,在实际运行环境下对计算机系统进行一系列严格有效的测试
系统测试对测试环境的要求是在集成测试完成后,系统已经完全组合起来后进行,应该在尽可能和目标运行环境一致的情况下进行
统测试的目的是确认整个系统是否满足了系统需求规格说明中的功能和非功能需求,以及满足程度
常见系统测试包括
压力测试、容量测试、性能测试、安全测试、容错测试等
验收测试:第三方进行的确认软件满足需求的测试
验收测试通常由使用系统的用户来进行测试
验收测试的主要测试类型有
• 根据合同的验收测试
• 用户验收测试
• 运行(验收)测试
• 现场测试
4、画出软件测试的V模型图。(5分)
三、数据库(10分)
为管理业务培训信息,建立3个表:
S(S#,SN,SD,SA) S#,SN,SD,SA分别代表学号,学员姓名,所属单位,学员年龄 C(C#,CN) C#,CN分别代表课程编号,课程名称
SC(S#,C#,G) S#,C#,G分别代表学号,所选的课程编号,学习成绩
(1) 使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名?
答:select s# ,sn from s where S# in(select S# from c,sc where c.c#=sc.c# and cn=’税收基础’
(2) 使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位?
答:select sn,sd from s,sc where s.s#=sc.s# and sc.c#=’c2’
(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)
四、编程题(10分)
编程输出1/1+1/3+1/5+……+1/99的和。
参考答案:
public class Sum {
public static void main(String[] args) { float sum = 0.0f;
for(float i=1.0f;i<=99.0f;i=i+2) {
sum = 1/i + sum;
}
System.out.println(sum); } }