某大厂软件测试面试(真实面试真题)附带答案

2644 篇文章 26 订阅
2563 篇文章 2 订阅

1.你认为怎样写测试用例?

答:

在测试面试的过程中大多都会问到你是怎么来设计测试用例的刚开始的时候都会被问懵。我们从两个方面来看怎么设计测试用例:

(1)对于新手来说最简单的是从用户的角度来设计测试用例,即使之前没有接触过软件测试但是每个人的生活中都离不开”APP”。从用户的角度来讲,一个产品首先关注的当然是产品的功能,其次是兼容性和稳定性,最后是容错能力。翻译成测试用户就是,首先写功能测试用例然后写兼容性测试用例和稳定性测试用例,最后想想在测试过程中会遇到哪些异常,针对这些异常设计一些用例,来检验产品的容错能力。

(2)常用的用例编写的方法有边界值法、等价类划分法、功能图法、因果图等常用的编写测试用例的方法。

2.描述测试用例设计的完整过程?

答:

首先根据需求文档、概要设计、测试计划、测试方案细分出各功能模块的测试项。

其次再根据各测试项,按照概要设计、详细设计以及测试方案中测试的覆盖率细分出测试子项。

最后按照测试子项、根据测试用例的设计方法(因果图、边界值、等价类等的设计方法)书写测试用例。期间要注意以下事项:

1、选用适合的用例管理工具(如 word,excel)

2、测试用例一定要及时更新(补充新的想法,删除过时的需求)

3、做好测试用例分级

4、做好测试用例评审,写用例之前可以征询相关人员的意见,如果评审通过可以参考其执行测试,如果未 通过,需要继续修改直到通过为止。

5、可以考虑结对编写测试用例,这个是不错的主意。

6、要全面,包括功能、性能、兼容性、安全性、易用性、容错性等等

7、注意把握适当的颗粒度

3.SQL题:自己创建薪水表:查找薪水记录超过15条的员工号emp_no以及其对应的记录次数t。

 答:1.创建薪水表:

drop table if exists  `salaries` ; 
CREATE TABLE `salaries` (
`emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`from_date`));

2.往薪水表中插入数据:

INSERT INTO salaries VALUES(10001,60117,'1986-06-26','1987-06-26');
INSERT INTO salaries VALUES(10001,62102,'1987-06-26','1988-06-25');
INSERT INTO salaries VALUES(10001,66074,'1988-06-25','1989-06-25');
INSERT INTO salaries VALUES(10001,66596,'1989-06-25','1990-06-25');
INSERT INTO salaries VALUES(10001,66961,'1990-06-25','1991-06-25');
INSERT INTO salaries VALUES(10001,71046,'1991-06-25','1992-06-24');
INSERT INTO salaries VALUES(10001,74333,'1992-06-24','1993-06-24');
INSERT INTO salaries VALUES(10001,75286,'1993-06-24','1994-06-24');
INSERT INTO salaries VALUES(10001,75994,'1994-06-24','1995-06-24');
INSERT INTO salaries VALUES(10001,76884,'1995-06-24','1996-06-23');
INSERT INTO salaries VALUES(10001,80013,'1996-06-23','1997-06-23');
INSERT INTO salaries VALUES(10001,81025,'1997-06-23','1998-06-23');
INSERT INTO salaries VALUES(10001,81097,'1998-06-23','1999-06-23');
INSERT INTO salaries VALUES(10001,84917,'1999-06-23','2000-06-22');
INSERT INTO salaries VALUES(10001,85112,'2000-06-22','2001-06-22');
INSERT INTO salaries VALUES(10001,85097,'2001-06-22','2002-06-22');
INSERT INTO salaries VALUES(10001,88958,'2002-06-22','9999-01-01');
INSERT INTO salaries VALUES(10002,72527,'1996-08-03','1997-08-03');

3.思路讲解

思路:同一员工的一条记录为一次薪水变动,按照题意根据emp_no分组,组内记录大于15条即满足条件。

 参考答案1

SELECT s.emp_no, COUNT(*) AS t
FROM (
  SELECT emp_no
  FROM salaries
) s
GROUP BY s.emp_no
HAVING COUNT(*)>15;

参考答案2

select emp_no, count(*) t
from salaries
group by emp_no
having t > 15;

题目隐含:
1.一条记录就算一次涨幅(严格意义上,从第二条记录算起才算一次涨幅)

 从上边可以看出输出结果才是题目中要的答案。

参考答案

select emp_no, count(distinct from_date)-1 as t
from salaries
group by emp_no
having t>15;

2.任何一条记录都算一次涨幅(严格意义上,必须比上一条记录的工资高才算一次涨幅)

 从上边看出15次为空,修改成10次后,统计是15次。

参考答案

select a.emp_no, count(*) t
from salaries a inner join salaries b
on a.emp_no=b.emp_no and a.to_date=b.from_date
where a.salary < b.salary
group by a.emp_no
having t>15;

(这一期笔试测试理论题)

1.测试用例制定的原则?

2.简单描述内连接、左连接和右连接的区别?

3.SQL题:自己创建薪水表:查找所有员工当前薪水情况。

最后:下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

在这里插入图片描述

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

整套资料获取

  

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值