面试问题(林老师)
软件测试工程师面试问题汇总
目录
一、
1.
二、
1. Linux知识: ..................................................................................................................... 2 基本的常用操作 ............................................................................................................... 2 Oracle/Mysql知识 ............................................................................................................ 2 MySql,什么是数据引擎? ............................................................................................. 2
Innodb: ...................................................................................................................... 2
myisam: ..................................................................................................................... 2
memory: .................................................................................................................... 2
相关命令: ............................................................................................................... 2
三、 测试相关知识: ............................................................................................................... 2
1. 系统测试策略: ............................................................................................................... 2
2. 集成测试: ....................................................................................................................... 2
3. 功能测试注意要点 ........................................................................................................... 2
表单提交非空判断: ............................................................................................... 3
文本框、文本域输入: ........................................................................................... 3
下拉框选择: ........................................................................................................... 3
日期文本框: ........................................................................................................... 3
邮编、电话等数字文本框 ....................................................................................... 3
邮箱文本框 ............................................................................................................... 3
复选框 ....................................................................................................................... 3
数据导出 ................................................................................................................... 3
常规查询 ................................................................................................................... 3
时间段查询 ............................................................................................................... 3
时间段 ....................................................................................................................... 3
下拉框的关联性 ....................................................................................................... 3
权限 ........................................................................................................................... 3
四、 C语言 ............................................................................................................................... 4
五、 测试工具 ........................................................................................................................... 4
六、 项目经验 ........................................................................................................................... 4
1. 你原来的公司开发部门和测试部门一共有多少人呢? ............................................... 4
2. 你所从事的项目一共耗时多久呢? ............................................................................... 4
3. 能说说你们的项目流程吗? ........................................................................................... 4
4. 能说说你在以前公司所取得的成就吗? ....................................................................... 4
5. 你们公司用了哪些操作系统? ....................................................................................... 4
6. 你能和我说一下你们公司的技术吗? ........................................................................... 4
7. 你们公司的缺陷管理流程是怎么样的? ....................................................................... 4
8. 原来公司的测试用例有分等级吗? ............................................................................... 5
9. 你是怎么去搭建测试环境的? ....................................................................................... 5
10. 谈谈你对随机测试和探索性测试的理解 ................................................................... 5
一、 Linux知识:
1. 基本的常用操作
ls,cd,pwd,df,mount,umount,vi(文本模式,文本编辑模式,末行模式),touch,mkdir,rm,mv,>>,>,
Useradd,groupadd,chmod,chown,ll,sort,gzip,tar,等等
二、 Oracle/Mysql知识
1. MySql,什么是数据引擎?
Innodb:
innodb引擎的优点是支持事务、外键约束和自增列;缺点是占用空间在,读写相对较慢。 innodb类型的表的定义存储在系统参数datadir指定的目录中,以frm作为扩展名。实际数据及索引存储在参数innodb_data_home_dir和innodb_data_file_path指定的位置,其中innodb_data_home_dir指定的位置,innodb_data_file_path指定文件名及一些文件属性。
myisam:
myisam的优点是占用空间小,处理速度快;缺点是不支持事务。
myisam的数据存储在系统参数datadir指定的目录中,每一个表包括3个文件,文件名都是表名:frm扩展名的文件包含表定义,myd扩展名的文件包含实际数据,myi扩展名的文件存储索引数据。
memory:
memory引擎只在磁盘上存储表的定义,实际数据都存储在内存。优点自然是快,但缺点是掉电后,所有数据都将丢失,而且表的大小受限于:max_rows, max_heap_table_size。
相关命令:
show engines \G;查看系统支持的引擎
show variables like 'storage_engine';查看当前系统的默认引擎
1)
a) show create table [tablename];
b) select table_name, engine from information_schema.tables where
table_name='tablename'
2) 备份方式:完成备份,增量备份,差异备份
3)
(avg,count,sum,max,min)等等
三、 测试相关知识:
1. 系统测试策略:
功能测试、性能测试、压力测试、容量测试、安全性测试、GUI测试、可用性测试、安装测试、配置测试、异常测试(恢复性测试)、备份测试、健壮性测试、文档测试、在线帮助测试、网络测试、稳定性测试
2. 集成测试:
增殖式组装,非增殖式组装,混合增殖式组装
3. 功能测试注意要点
在做功能测试时我们唯一能做的就是保证这个业务逻辑的正确性以及各个功能的尽可能的正确。业务和功能的正确性就要你自己去判断了,我只是简单写下输入、输出方面功能的测试。
表单提交非空判断:
不输入任何信息直接提交,查看会不会有非空提示,根据提示进行填写(注意查看提示信息是否正确),直到不有提示能够提交表单,能提交了再查看还有那些标有必填符号(一般以“*”标识)是否都已填写,那些填写的字段没有标识必填。
文本框、文本域输入:
先查看表结构看看各个文本框(文本域)的长度,然后试着输入超过字段的长度的信息,然后进行提交查看是否会出错,当然也有些文本框做了长度限制所以无法输入过长的字段,也有些做了本地判断无法提交。
下拉框选择:
下拉框一般最不容易出错,当样式上会有错误,维护一个下拉框的值,字段尽可能的长,然后查看下拉框是否会自适应,自适应后是否会影响页面布局;如果不会自适应是否能查看到所有信息。
日期文本框:
首先查看日期文本框是否可以直接输入,如果不能直接输入则尝试通过右击粘贴的办法粘贴不合法的日期,和按TAB键进入文本框,能够进入文本框这输入不合法的日期进行提交。
邮编、电话等数字文本框
是否能输入汉字、字母、符号等信息(长度也算);
邮箱文本框
是否能够输入非邮箱信息进行提交。
复选框
复选框是否有全选功能,功能是否正确,特别是在全选控件也为复选框时,先全选后取消全选,查看各记录的复选框是否都已非选择状态。特别要注意的是全选后取消记录记录的选择状态后再进行取消全选看看有什么结果。
数据导出
对数据小批量的导出也许不会出错,但是进行大批量的导出时也许就会出错了,一般4000条记录都是没问题的,但是超过了6000条就很容易出错了。你可以尝试10000条的。
常规查询
输入特殊字符去测试入英文状态下的单引号“’”(sql语句的分隔符)进行查询是否会出错。
时间段查询
是否能查询到设置的时间的信息,特别是开始时间=结束时间的时候。
时间段
保证开始时间不能晚于结束时间。
下拉框的关联性
如有省(市)、地区2个下拉框,查看2个下拉框是否存在关联,如:省(市)下拉框选择了“广东省”后地区下拉框中是否只能选择广东省下属的地区。
权限
如:计算机学院软件0621班班主任-文化,登录系统后只能查询和操作计算机学院软件0621班的学生信息。在查询页面上则学校、班级字段必须锁定不能修改。
四、
五、
六、 C语言 测试工具 项目经验
1. 你原来的公司开发部门和测试部门一共有多少人呢?
答:根据你的项目大小,你可以说自己开发部门20个人,开发部门10个人
2. 你所从事的项目一共耗时多久呢?
答:我们公司项目一个耗时半年,因为客户要求我们不断进行版本升级,因此除了开发过程进行的测试活动以外,用户另外要求我们对系统版本进行升级,我们为此进行了10轮的版本测试。
3. 能说说你们的项目流程吗?
4. 能说说你在以前公司所取得的成就吗?
答:在我进入公司头一个星期的时候,我还记得我自己编写测试用例的时候感到很困难,因为考虑到项目的风险、进度、质量的情况,我不断地询问身边的同事,用了3天时间我能够独立编写出良好的测试用例,并且得到上司的表扬,另外在工作半年的时候,我发现了一个致命的缺陷,收到主管的给我的奖励,个人的工作经验也不断地提升。
5. 你们公司用了哪些操作系统?
答:Linux、Solaris、Windows xp、Windows 2000、Windows 2003、Windows 2008、Suse等
6. 你能和我说一下你们公司的技术吗?
答:不能,因为我和原来公司签订了保密协议。如果在笔试卷子上有这道题目的话最好是空白。
7. 你们公司的缺陷管理流程是怎么样的?
答:根据以往老师所教授的
8. 原来公司的测试用例有分等级吗?
答:有,分为1,2,3,4等级。
9. 你是怎么去搭建测试环境的?
答:部门安排给我光盘,第一次搭建测试环境对照着安装手册,在往后几次都是自己独立搭建测试环境。
10. 谈谈你对随机测试和探索性测试的理解
答:1随机测试:除了根据测试样例和测试说明书进行测试外,还需要进行随机测试(Ad-hoctesting),主要是根据测试者的经验对软件进行功能和性能抽查。
2 探索性测试:在进行测试时,同时探索开发更多不同型态的测试方式,以便改善测试流程。当软件开始测试流程后,一般测试者会使用预先设立好的测试案例来进行程式测试,而探索性测试就是为了弥补传统的案例测试的缺点而产生。
适用时机 1) 当测试者是新手,可以一边训练一边测试
2) 需要快速的对程式进行评估
3) 在传统的测试脚本(Test Script)中发现新的问题需要快速验证
4) 当有需要去确认另一位测试者的工作状况
5) 当团队内有熟悉相关领域知识(Domain Knowledge)的测试者
6) 当需要做烟雾测试
7) 当程式设计完后并没有预先规划并准备好测试脚本
8) 当专案使用敏捷软件开发
9) 专案很复杂并且难以了解
10) 当测试者并没有权限去创建测试案例
11) 当想要针对某个程序错误进行深入调查
12) 当专案尚未稳定到可以执行脚本测试(Script Test)
13) 当想要扩大脚本测试的多样性时
使用时机
专案初期 o 在专案的初期,测试案例的建立并不完整,可以借由探索性测试来协助测试案例的建立以及修正。 专案中后期
o 当专案接近中后期时花点时间利用探索性测试可以探索更多软件的可能性
与找出潜藏的程式缺陷,也可以对原本的测试脚本进行改善与评估。
优点与缺点
优点
o 鼓励创造性。
o 可增加机会找到新的、未知的程式缺陷。
o 允许测试者花较多的时间去测试一些有趣或复杂的状况。
o 可较快速的对受测的系统做出快速的评量。
o 可让你知道系统是否容易使用。
o 可变通的,有弹性的。
o 它比脚本测试有趣,因为它不会一成不变。
缺点
o 不容易被协调及调整。
o 无法对系统作全面性的测试。
o 提供有限的测试可信度。
o 非常的依靠测试者的领域知识(domain knowledge)以及技术。
o 无法保证最重要的程序错误一定被发现。
o 并不适用要执行很久的测试(例如执行一整个晚上的测试)。
差异
探索性测试常与即兴测试混淆,基本上探索性测试使用即兴测试的观念,而将测试的结果用于提升测试人员的水平与改善脚本测试流程,即兴测试未必会将测试结果用来改善脚本测试的流程。