1.用图画出产品研发周期中软件测试的不同阶段,并加以适当描述。请画出自己所在公司/上家公司的项目流程图。
2.请阐述Bug的生命周期,请阐述所在公司所用的Bug管理工具,阐述大致流程。
1.new:新发现的Bug,未经评审决定是否指派给开发人员进行修改
2.open:确认是bug,并且认为需要修改,指派给相应的开发人员。
3.Fixed:开发人员进行修改后标识成修改状态
4.Rejected:如果认为不是bug,则拒绝修改
5.Delay:如果认为暂时不需要修改或不能修改,则延后修改
6.Closed:修改状态的Bug经测试人员的回归测试验证通过,则关闭bug。
7.Reopen:如果经验证bug仍存在,则需重新打开bug,开发人员重新修改
bug的管理工具有禅道,jair,bugfree这些都是bug管理工具。
3.测试接口应从哪方面考虑。请写出接口测试用例的框架。
主要考虑接口的功能,业务,异常,性能,安全进行测试
接口的功能
测试接口的功能正确,确实符合接口文档中对接口的功能描述。
接口的业务逻辑
测试接口的业务依赖,某个接口执行需要依赖上一个接口成功请求的cookie
接口的异常
测试接口的入参参数名异常,参数数据异常。
参数名异常:参数名称错误,参数多一个,参数少一个,参数为空。
参数数据异常:数据类型错误,数据有效值错误,数据为空错误,数据长度错误
入参值校验
参数必填校验,参数长度校验,参数数据类型校验,参数数据有效值校验,参数
是枚举值,要覆盖所有枚举值。参数数据默认值校验,参数与参数组合数据校验
接口请求超时
接口处理大量测试数据,数据库读写能力
接口的性能
测试接口并发数,响应时间,吞吐量,服务资源使用情况(cpu,内存)
接口的安全
测试接口的敏感信息加密
请求时传输的参数数据加密
cookie,session有效时间
重要的信息存session,其他信息存cookie,有效时间设定。
4.三个随机数,用熟悉的面向对象语言对他们进行排序。
5.请简单阐述下列语句的结果
Null
6.Delete.drop.truncate区别
delete属于数据库DML操作语言,只删除数据不删除表的结构,会走事务,执行时会触发trigger;delete执行过程是 每次从表中删除一行,并将该操作作为事务记录保存在日志,便于回滚操作。
truncate:属于数据库DDL定义语言,不走事务,原数据不放到 rollback segment 中,操作不触发 trigger。执行后立即消除,无法恢复
drop:属于数据库DDL定义语言,同Truncate;不小心删除了只能跑路了。
7.sql作业数据代码
select * from(select a.id,avg(b.score)as avg_score
fromstudent a
join sc b on a.sno-b.sno
GROUP By a.id)
where w.avg_score>60:
8.详细写出搜索功能的测试用例
1.搜索内容为空,验证系统如何处理
2.搜索内容为空格,查看系统如何处理
3.边界值验证:在允许的字符串长度内外,验证系统的处理
4.超长字符串输入,系统是否会截取允许的长度来检验结果
5.合法的字符串长度后,加空格验证检索结果
6.多个关键字中间加入空格,逗号,tab验证系统的结果是否正确
7.验证每种合法的输入,结果是否正确
8.是否支持检索内容的复制、粘贴、编辑等操作
9.是否支持回车键搜索
10.多次输入相同的内容,查看系统的检索结果是否一致
11.特殊字符、转义字符、html脚本等需要做处理
12.敏感词汇,提示用户无权限等
13.输入的内容是否支持快捷键操作等
14.只能输入允许的字符串长度等
9.用jmeter对接口A进行性能测试,A接口依赖于登录接口,请写出思路
jmeter测接口根据是否调用请求分为http请求和java接口之间的调用
http请求直接就通过请求调用;
java接口之间调用要封装,通过jmeter的java请求,自己写java承AbstractJavaSamplerClient
Apache Jmeter是开源、易用的性能测试工具,之前工作中用过几次对http请求进行性能测试,对jmeter的基本操作有一些了解。最近接到开发的对java请求进行性能测试的需求,所以需要写java请求的脚本。
Java 请求的性能测试与http请求的性能测试类似,都是给远程应用提供的服务发送请求并施压,得到响应结果及性能数据。不同的是,http调用的是应用提供的 http协议的服务,而java请求调用的是应用提供的接口服务,且需要通过编写代码来实现java请求的调用。
本 次压测的java请求是以RMI方式调用的,Java RMI 指的是远程方法调用 (Remote Method Invocation)。使用这种机制能够让一台java虚拟机上的对象调用另一台java虚拟机上的对象的方法来获取远程数据,可以实现不同java虚 拟机上对象之间的通信。引用网上对RMI的一句通俗的介绍:远程调用就像将一个class放在A机器上,然后在B机器中产生一个代理对象来调用这个 class的方法。下面详细介绍一下用jmeter对java请求进行性能测试的过程。
10.如何查找名为‘A.log’的日志,且输出到控制台,服务器系统为linux。
1.进程所属日志
由用户进程或其他系统服务进程自行生成的日志,比如服务器上的access_log与error_log日志文件。
2.syslog消息
系统syslog记录的日志,任何希望记录日志的系统进程或者用户进程都可以给调用syslog来记录日志。