测试工程师面试(1)

  1. 编写测试用例有哪几种方法?

        等价类、边界值、因果图、流程分析、错误分析、正交法、场景法、大纲法

     2. 测试的六条基本法则是什么?

     一功二可三易四效五维六移,即一功能,二可维护性,三易用性,四效率,五可维护性,六可移植性

    3. 软件测试分类有哪些?(从是否关心软件内部结构的角度划分)

     黑盒、白盒、灰盒

   4. 软件测试的测试流程是什么?

    首先拿到需求文档》需求评审》编写测试计划》测试计划评审》编写测试用例》测试用例评审》开始测试》第一轮测试》第二轮测试》迭代》直至项目上线,提交测试报告。冒烟测试不属于测试流程,一般冒烟测试最多半天时间

   5. 编写测试用例的原则是什么?

    百分之百的覆盖需求

   6. 接口测试的功能?

      1) 请求参数、返回值

      2) 不仅可以测试返回值还可以测试等价类、边界值、必填项,包括逻辑、功能、场景,还可以测试逆向思维的流程,还可以测试错误的流程,也可以测试正确的流程

       3) 接口测试可以提高效率,缩短测试周期,在页面未出来之前也可以测试

       4) 接口测试可以测大部分功能,但是测不了ui、兼容性

       5) 接口只能测后端,用java写的

   7.自动化工具都有哪些?

     QTP既可以测B/S,也可以测C/S, 支持的脚本语言是vbscript, Selenium属于B/S工具,支持java,python语言,app自动化工具属于c/s架构

  8.软件测试过程中必须经历那些阶段?

  单元测试》集成测试》系统测试》验收测试

9. 黑盒测试包含那些测试内容?

  逆向思维测试、冒烟测试、易用性测试、接口测试、兼容性测试

10. 如何确定一个问题是不是bug呢?

根据需求,与需求不一致,就是bug

11. 缺陷严重程度分别是什么?并将每个严重程度进行简单的描述?

  致命、严重、一般、轻微、建议,致命级别指使系统崩溃、宕机,报404、500错误的,导致软件没有办法再使用下去,严重指该功能阻碍测试,影响测试,一般指等价类、边界值、ui、兼容性,不影响测试,轻微指一个字、一句话、不伤大雅的错误,建议其实不是bug,只是个人觉得不太合理,需求文档里面就没有。

12. 缺陷优先级有哪些?从高到低排列?

P1、p2、p3、p4、p5,p1优先级最高,p5优先级最低

13. 如何有效的记录缺陷?

保证该缺陷能复现出来,能记录该缺陷的每一个步骤是如何操作的

14.缺陷报告的准则规范是什么?

简洁、清晰、准确、完整、一致

15.写出下面个人资料页面的测试用例?

写的越多越好,常用方法:等价类、边界值、判定表法、流程分析、异常值

16.自我介绍?

我是谁、工作几年、你上家公司做什么、负责什么、你的优势、为什么适合这个职位、我想做什么、在这个职位上想得到什么

有自信、不能吞吞吐吐

遇到自己不会的,就说自己以前学习过,很长时间没用过了,可能有点忘记了

尽量少用了解,写了解等于不会, 写  熟练、掌握、精通

时间长度2-3分钟

17.基于过去行为的问题

比如你之前弄过的项目,出现的质量问题,你是怎么解决的

18.基于未来可能发生的行为问题

比如别的部门转过来一个岁数比较大的人,也不思进取,你怎么办

19.post和get有什么区别?

post是给服务器发送请求,get是从服务器获取请求

20.那个阶段做接口测试?

集成测试的时候做接口测试

21.集成测试的策略有哪些?

自顶向下  自底向上   广度优先  深度优先

22.接口测试能做哪些事或者接口是啥?

 软件里面的任何请求,任何方法,从服务器上传、下载数据都是通过接口完成的  

接口测试工具jmeter、soapui、postman,接口压测更适合用jmeter,适合单接口测试,而loadrunner更适合测试场景、流程

23.想要测试一个网站最多能容纳多少人?

用负载测试,看网站进到多少人的时候开始出错,开始卡了

24.想要测试网站上的一个商品在整点秒杀的时候,最多能承受多少人点击这个按钮?

测试并发,必须能承受大批量的并发

25.有一个网站在高强度的用户活跃量情况下能不能正常运行?

测试稳定性,稳定性指找到网站最多能承受的最大用户量,然后用最大用户量在系统上长时间运行,以测试稳定性

26.你觉得你有哪方面优点,可以胜任这份工作?

本人比较细心认真,具有一定的计算机理论基础,良好的沟通能力,遇到问题及时沟通解决的能力

27.你觉得你有哪些缺点?

本人比较固执

28.如何进行用例设计?

等价类、边界值、判定表法、流程分析、异常值

29.回归测试

修改代码后,重新进行测试以确认修改没有引入新的错误,没有影响之前的功能,与本次修改有关系的部分也需要进行测试,保证以前版本功能正常

30.c/s与b/s架构的区别?

b/s架构用浏览器请求访问,是基于网页的系统,如一般的网站;c/s架构要有客户端和服务器端,如qq

31.http的URL包括哪些部分?

协议部分、域名部分、端口部分、虚拟目录部分、文件名部分、参数部分、锚部分,如:http://www.aspxfans.com:8080/news/index.asp?boardID=5&ID=24618&page=1#name

32.软件测试的目的是什么?

确认产品能工作、确保程序按预期结果执行、尽早尽可能多的发现不足、通过最少的资源,最大化的提高产品质量、测试是将软件质量化的过程、软件质量的度量和评估

33.测试计划包含那些内容?

概述、编写目的、项目背景、项目质量目标、预期读者、参考资料、测试环境、系统架构、软硬件环境要求、测试环境部署图、测试规划、测试范围、测试工具、人员、角色及职责、测试策略、系统测试、业务流程测试、功能点测试、UI界面测试、性能测试、兼容性测试、安全测试、测试进度安排、工作汇报

34.数据库常用sql语句

1)、创建数据库:create database database-name

2)、删除数据库:drop database database-name

3)、创建新表:create table depart(dept_id int (11) not null auto-increment,dept_name varchar(255) default null,primary key(dept_id))

4)、删除新表:drop table table_name

5)、表增加一列:alter table tabname add column column_name type

6)、查询语句:select * from table where 范围

7)、插入语句:insert into table(field1,field2) values(value1,value2)

8)、删除语句:delete from table where 范围

9)、更新语句:update table set field1=value1 where 范围

10)、查找语句:select * from table where field like '%value1%'

35.软件开发流程

可行性分析、需求分析、概要设计、详细设计、编码、测试、运行维护

36.白盒测试逻辑覆盖方法有哪些?

语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖

语句覆盖:每条语句至少执行一次

判定覆盖:每个判定的每个分支至少执行一次,也称为分支覆盖

条件覆盖:每个判定的每个条件应取到各种可能的值

判定/条件覆盖:同时满足判定覆盖条件覆盖,是判定条件覆盖的交集

条件组合覆盖:每个判定中各条件的每一种组合至少出现一次

37.白盒测试法的覆盖标准有哪些?

逻辑覆盖、循环路径覆盖、基本路径覆盖

基本路径覆盖:并不是测试所有路径的组合,仅保证每条基本路径被执行一次

38.查询数据库中指定行的方法

select * from table_name limit 5,10; 取数据库中从第5条开始的10条记录

或者 select top n * from(select top m * from table_name order by column_name) a order by column_name desc;查询第n到m条记录,也是常用分页方式

39. hosts原理

将一些常用的网址域名与其对应的ip地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从hosts文件中寻找对应的ip地址,一旦找到,系统会自动打开对应网页,若没有找到,系统会将网址提交dns域名解析服务器进行ip地址的解析。

40.alpha测试,beta测试

alpha测试:模拟用户环境测试,beta测试:真实用户环境测试

41.白盒测试方法

分为静态方法和动态方法两大类。静态分析是一种不通过执行而进行测试的技术;动态分析的特点是当软件系统在模拟的或者真实的环境中执行之前、之中和之后,对软件系统行为的分析,常用的六种覆盖测试方法属于动态分析方法。

42.白盒测试的重点是什么?

覆盖率测试为白盒测试的重点,一般可使用基本路径测试法达到语句覆盖标准

43.linux系统版本?

redhat系列、ubuntu

44.http协议

1)、http协议是无状态的

2)、http协议定义了很多与服务器交互的方法,最基本的有四种,分别是get、post、put、delete,对应着对这个资源的查、改、增、删4个操作,get一般用于获取/查询资源,post一般用于更新资源信息

3)、get和post的区别

a、get提交的数据会放在url之后,以?分割url和传输数据,参数之间以&相连,如:EditPosts.aspx?name=test1&id=123456,POST方法是把提交的数据放在http包的body中

b、get提交的数据大小有限制,因为浏览器对url的长度有限制,而post方法提交的数据没有限制

c、get方式需要使用Request.QueryString来取得变量的值,而POST方式通过Request.Form来获取变量的值

d、get方式提交数据,会带来安全问题,如登录,用户名和密码将出现在url上,如果页面可以被缓存或其他人访问,可以从历史记录获得该用户的账号和密码

4)、http协议中的5类状态码:

1xx 提示信息,表示请求已被成功接收,继续处理

2xx 成功,表示请求已被成功接收,理解、接受,常见200,OK

3xx 重定向,要完成请求必须进行更进一步的处理。常见302 Found,新的URL会在response中的Location中返回,浏览器将会使用新的URL发出新的request. 304 Not Modofied,代表上次的文档已经被缓存,还可以继续使用。如果不想使用本地缓存,可以用ctrl+F5强制刷新界面。

4xx 客户端错误,请求有语法错误或请求无法实现。400 Bad Request,客户端请求有语法错误,不能被服务器所理解。403 Forbidden, 服务器收到请求,但是拒绝提供服务。404 Not Found,请求资源不存在

5xx 服务器端错误,服务器未能实现合法的请求。500 Internal Server Error 服务器发生了不可预期的错误。503 Server Unavailable ,服务器当前不能处理客户端的请求,一段时间后可能恢复正常。

5)从HTTP/1.1 起,默认都开启了Keep-Alive,保持连接特性,即当一个网页打开完成后,客户端和服务端用于传输HTTP的TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接。

45.软件测试的目的

1)为了发现错误而执行程序的过程

2)测试是为了证明程序有错,而不是证明程序无错,发现错误不是唯一目的

3)一个好的测试在于它发现至今未发现的错误

4)通过分析错误产生的原因和错误的分布特征,可以帮助项目管理者发现当前所采用软件过程的缺陷,以便改进

5)没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。一个经过测试而正常运行了n个小时的系统有继续正常运行n个小时的概率

46.做好测试用例设计工作的关键是什么?

以较少的用例覆盖模块输出和输入接口,以最少的用例在合理的时间内发现做多的问题

47.做好测试计划工作的关键是什么?

一个测试计划,核心的三个要素是时间、资源、范围,时间就是什么时候做以及要花多久做,资源就是你要协调的人力、机器等资源,范围是你要测试的东西以及测试重点,测试策略具体就是怎么测试,风险控制就是一旦有问题采取什么应急措施等。

48.bug生命周期

新建、已分配、已打开、提交测试、已关闭或者重新打开

49.软件生命周期

问题定义、可行性研究、需求分析、开发阶段、测试阶段、维护

50.软件开发流程

需求分析、概要设计、详细设计、编码、测试、维护

51.压测时请求的参数从哪里来?

get请求是在request.querystring,post请求是在request.form里

52.linux系统下的文件复制

cp 源文件  目标文件  ,如将test1目录下 的file1复制到test3目录下,并将文件名改为file2,命令为:cp  /test1/file1  test3/file2

53.linux下的文件移动命令

1)mv 源文件  目标文件, 如将test1目录下的file1复制到test3目录下,并将文件名改为file2,命令为:mv /test1/file1  test3/file2

2) linux当前目录所有文件移动到上一级目录,命令为:mv *../

54.文件删除命令

rm [fir] 文件或目录,如删除/test目录下的file1文件,可以输入以下命令:rm -i /test/file1

55.从本地上传文件至linux服务器,或从linux服务器下载文件至本地

首先服务器安装了rz、sz,命令为yum install lrzsz;

然后通过xshell连接服务器;

命令rz  文件名,将文件传至linux服务器;sz  文件名,将文件下载到windows本地

56.linux简介

1)linux基本思想:第一,一切都是文件。即命令、硬件和软件设备、操作系统、进程等对于操作系统内核而言,都视为拥有各自特性或类型的文件;第二,每个软件都有确定的用途

2)多用户、多任务:linux支持多用户,每个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务,是现在电脑的主要特点,linux可以使多个程序独立运行

3)支持多种平台:linux可以运行在多种硬件平台上,x86、680x0、SPARC、Alpha等处理器的平台,linux还是一种嵌入式操作系统

 

 

 

 

 

 

 

 

 

 

 

 

原文https://blog.csdn.net/u010414214/article/details/82290190

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值