A.测试基础
1、 白盒测试与黑盒测试的区别是什么?
白盒测试:测试程序内部结构,内部特征
黑盒测试:通过界面测试程序功能,查看输入输出结果
2、 什么是正交试验法,使用场景是什么?
研究多因素多水平的一种设计方法
场景:多因素多条件的情况下
3、 数据库中,游标是什么?其作用是什么?
游标:从多条数据中检索集中提取一条数据
作用:当做指针,保存查询结果,方便后续使用
4、 简述常用的Bug管理或者用例管理工具,并且描述其中一个工作流程。
常用:testlink,QC,mantis,禅道,TAPD,JIRA
TAPD:产品创建(需求,计划,模块)-->项目创建(PM排期、任务分解)-->研发(编码、单元测试等)-->测试(测试计划,用例,执行,bug,报告等)
基于敏捷开发
B.自动化测试
1、 自动化测试与测试自动化的区别。
自动化测试:利用工具录制或编写脚本进行功能以及性能测试
测试自动化:让测试过程脱离人工。对于控制成本,控制质量,回溯质量和减少测试周期都有积极影响的一种研发过程
2、 列举出你熟悉的自动化工具,并说明其实现原理。
Web应用类工具:selenium
客户端建立与 selenium-RC server 的连接。
Selenium RC Server 启动一个浏览器,并注入 JS 代码
将 Selenese 代码传到客户端的 Selenium-Core 中。
Selenium-Core 翻译并解析执行用户录制的操作。
让代理 Server 进行通讯
Remote Control Server 负责跟远程 Web 应用服务器进行通讯。
操作完成,显示结果,并执行下一指令。
3、 自动化测试的使用场景?
软件需求变更不是很快(尤其是UI自动化)},
项目周期长
自动化测试脚本重复使用
4、什么是关键字驱动?
功能自动化测试框架,表格驱动测试或者基于动作字的测试
5、高质量的自动化脚本应该具备哪些特性?
1、不需要深入的工作或计划
2、可以加快开始自动化
3、对实际执行操作可以审计跟踪
4、用户不必是编程人员
5、提供良好的(软件或工具)的演示
6、简述Slenium grid的作用。
在更多机器上面进行并行多个测试用例
7、简要说明下面api的使用方法
A
此API功能说明:
触发事件
C.开发能力
1、 描述==与equals的区别
==是一个运算符。
Equals是string对象的方法,可以.出来。
详细点的请参照 https://www.cnblogs.com/qianjinyan/p/10553414.html
2、 final, finally, finalize的区别
final修饰符
finally执行清除操作
Finalize 使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作
3、 说明Tomcat的server.xml中下列参数的作用:
enableLookups= "false " redirectPort= "8443 "
第一个是域名解析是否支持 第二个是修改端口号
4、 Java中sleep和wait的区别
5、 SSH是什么?每个框架扮演的角色是什么?
安全协议
6、 Linux系统下怎么查看和关闭名为jira的进程?
7、 Linux如何安装jdk、mysql请写出相关命令?
wegt 下载
tar 解压
cd 进入文件
groupadd mysql
useradd -r -g mysql mysql
chown -R mysql:mysql ./
./script/mysql_install_db —user=mysql
mkdir /usr/java
chmod 755 jdk-6u11-linux-i586.bin
./jdk-6u11-linux-i586.bin
vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.6.0_27
export JAVA_BIN=/usr/java/jdk1.6.0_27/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
. /etc/profile
Java -version
8、 HashMap和Hashtable的区别?
HashMap是Hashtable的轻量级实现,非线程安全的实现他们都实现了map接口,主要区别是HashMap键值可以为空null,效率可以高于Hashtable。
9、 编程题:
1:写一个Singleton模式
2:现在需要实现一个用户登录功能,需要不同的用户有不同的权限,请设计出开发思路,可以使用伪代码。