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题:自己创建薪水表:查找所有员工当前薪水情况。
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。