1. 软件测试sql面试题
数据库,无外乎增删改查:
增:
insert into A表 values (value1,value2,value3......)向A表中新增数据
删:
delete from A表 ( where id=1) 删除A表(删除A表id=1的数据)如果删除某个测试数据,记得加where条件,否则整张表的数据都被删除,防止误操作!不过,数据可以回滚找回。
truncate A表:清除表数据,数据无法回滚。
drop A表:整表结构删除,即,这张表不存在了。
改:
update A表 set name='test' where id=1 修改id为1的name值为test
查:
1:左关联和右关联的区别?
答:左关联( left join )左表为主,左表数据全部显示,右表显示关联数据,无关联显示null,右关联( right join )相反。
2:模糊查询?
select * from A表 where name like ' %a% ' (name包含a字母)
查询结果: a , a bc,b a c,bc a
select * from A表 where name like ' a% ' (name值以a字母开头)
查询结果: a , a bc
select * from A表 where name like ' %a ' (name值以a字母结尾)
查询结果: a ,bc a
3:统计:count和sum
count统计表的 记录数 ,sum统计某列数值 总和 。
select count(*) from A表
select count(1) from A表
select count(列名) from A表
区别:
count( * ): 所有记录,包括null值
count( 1 ):所有记录,包括null值
count( 列名 ):列名有值得记录, 不包括null值
执行效率:
以前是count(1)比count(*)快,但现在count(*)底层算法优化,查询更快,所以推荐count(*)
统计有效数据的记录,count(列名)
select sum(列名) from A表 计算列名数值总和。
举例:
查询A表中,姓王的用户量
select count(*) from A where name like '王%'
Plus版
1:去重distinct,查询不重复记录的数据
必须放开头
select distinct 列名 from 表名(查询所有列名数据,去掉重复数据)
举例:
表A,查询考核等级grade,有哪些值
select distinct grade from A
2:分组group by,根据某个字段分组
select 列名 from 表名 group by 列名,一般会配合聚合函数一起使用
举例:
表A中,查询考核等级grade字段,不同值各多少人
select grade,count(*) from A group by grade
3:limit,查询结果返回的数量,多用于分页查询
select * from 表名 limit i,n i代表查询结果的索引值,默认从0开始,n返回查询的结果数。
举例:
订单表A,查询第21条到30条数据
select * from A limit 20,10
可能会问为什么不能直接用id查询?因为id不准确,可能存在id不连续的情况。如果某条数据被物理删除了呢?
何为物理删除和逻辑删除?
物理 删除 ,直接将某条数据,从表中删除。
逻辑 删除,仅通过某个字段标记删除,实际表中还存在。(比如:is_delete=1代表已删除,is_delete=0未删除)
4:排序order by 列名 asc(列名值升序排列)和order by 列名 desc(列名值降序排列)
举例:
用户表A,按照用户id升序(select查询默认根据主键升序,所以升序,不加order by也可以)
select * from A order by id asc同select *from A
用户表A,按照新建时间倒序
select * from A order by create_time desc
5:in和between查询某个范围的数值
举例:
in:查询指定数值的数据
between:查询某个范围内的数据
举例:
查询表A中,id=1和id=10的数据
select * from A where id in(1,10)
查询表A中,1月份新增的数据
select * from A where create_time between '2022-01-01' and '2022-01-31 23:59:59'
已知有如下4张表:
学生表:student(学号,学生姓名,出生年月,性别)
成绩表:score(学号,课程号,成绩)
课程表:course(课程号,课程名称,教师号)
教师表:teacher(教师号,教师姓名)
准备练习数据
1)创建学生表(student)
2)创建成绩表(score)
3)创建课程表(course)
4)教师表(teacher)
1)学生表添加数据
2)成绩表添加数据
3)课程表添加数据
4)教师表添加数据
简单查询
查询姓“猴”的学生名单
查询姓名中最后一个字是“猴”字的学生名单
查询姓名中带“猴”字的学生名单
查询姓“孟”老师的个数
汇总分析
1.汇总分析
查询课程编号为“0002”的总成绩
查询选了课程的学生人数
2.分组
查询各科成绩的最高分和最低分, 以如下的形式显示:课程号,最高分,最低分
查询每门课程选修的学生数
3.分组结果的条件
查询至少选修两门课程的学生学号
查询同名同姓学生名单并统计同名人数
分析:条件:怎么算姓名相同?按姓名分组后人数大于等于2,因为同名的人数大于等于2,分析出这一点很重要
查询不及格的课程并按课程号从大到小排列
查询每门课程的平均成绩,结果按平均成绩升序排序,平均成绩相同时,按课程号降序排列
检索课程编号为“0004”且分数小于60的学生学号,结果按按分数降序排列
统计每门课程的学生选修人数(超过2人的课程才统计),要求输出课程号和选修人数,查询结果按人数降序排序,若人数相同,按课程号升序排序
查询两门以上不及格课程的同学的学号及其平均成绩
第2步:再加上限制条件:
1)不及格课程
2)两门以上[不及格课程]
4.查询结构排序,分组的指定条件
查询学生的总成绩并进行排名
查询平均成绩大于60分的学生的学号和平均成绩
复杂查询
查询课程成绩小于60分学生的学号、姓名
【知识点】子查询
1.翻译成大白话
1)查询结果:学生学号,姓名
2)查询条件:所有课程成绩 < 60 的学生,需要从成绩表里查找,用到子查询
第1步,写子查询(所有课程成绩 < 60 的学生)
第2步,查询结果:学生学号,姓名,条件是前面1步查到的学号
查询没有学全所有课的学生的学号、姓名
查询出只选修了两门课程的全部学生的学号和姓名
查找1990年出生的学生名单
查询本月过生日的学生
工作中会经常遇到这样的业务问题:
如何找到每个类别下用户最喜欢的产品是哪个?
如果找到每个类别下用户点击最多的5个商品是什么?
这类问题其实就是常见的:分组取每组最大值、最小值,每组最大的N条(top N)记录。
分组取每组最大值,按课程号分组取成绩最大值所在行的数据
分组取每组最小值,按课程号分组取成绩最小值所在行的数据
每组最大的N条记录,查询各科成绩前两名的记录
第1步,查出有哪些组
我们可以按课程号分组,查询出有哪些组,对应这个问题里就是有哪些课程号
第2步:先使用order by子句按成绩降序排序(desc),然后使用limt子句返回topN(对应这个问题返回的成绩前两名)
第3步,使用union all 将每组选出的数据合并到一起
多表查询
查询所有学生的学号、姓名、选课数、总成绩
查询平均成绩大于85的所有学生的学号、姓名和平均成绩
查询学生的选课情况:学号,姓名,课程号,课程名称
2. 软件测试面试宝典“Linux 数据库 测试工具 自动化 性能测试”
1.介绍一下测试流程(重点,常见!)
2.介绍一下测试方法
3.介绍一下测试用例设计方法(用例设计方法&测试方法需要分清楚)
4.设计一个登录页面的用例(提供某个场景的设计用例,重点!)
5.举例说明项目推进的能力(针对个人评价的举例说明)
6.考悉历数试中遇到的比较难的一个项目是?(掌握自己简历上的项目)
7.印象深刻的一个bug?
8.你们公司是不是敏捷开发?介绍一下敏捷开发?
9.复盘会议的主要内容有哪些?
10.App 的兼容性怎么测,App 的接口测试怎么测?
11.Web 端测试和 App 端测试有何不同(常见)
1. 工作中常使用的 SQL 语法有哪些?
2.数据库存储过程
3.SQL 常见查询语句编写(此处仅举例常见的查询语句,如有更多坑,希望补充)
a.查询所有学生的数学成绩,显示学生姓名 name, 分数, 由高到低。
b.统计每个学生的总成绩(由于学生可能有重复名字),显示字段:学生 id,姓名,总成绩。
c.列出各门课程成绩最好的学生, 要求显示字段: 学号,姓名,科目,成绩
4.慢查询是什么意思?
5.导致数据库性能差的可能原因有哪些?
6.Redis 缓存应用场景
7.怎么定位 Redis 缓存失效问题(缓存坏了)
1. 工作中常用的 Linux 命令有哪些?
2.什么命令可以帮助 Linux 执行 Windows 上传的脚本?
3简述 Linux 三剑烂埋客
4.如何通命令定位 Linux 服务器下的日志?
5.简述项目中的环境搭建和维护
1. 自动化代码中,用到了哪些设计模式?
2. 什么是断言?
3. UI 自动化测试中,如何做集群?
4. 怎么对含有验证码的功能进行自动化测试?
5. 如何优化和提高 Selenium 脚本的执行速度?
6. 接口测试能发现哪些问题?
7. Selenium 中隐藏元素如何定位?
8. 如何判断一个页面上元素是否存在?
9. 如何提高脚本的稳定性?
10. 如何定位动态元素?
11. 如何通过子元素定位父元素
12. 平常遇到过哪些问题? ?如何解决的
13. 一个元素明明定位到了,点击无效(也没报错),如果解决?
14. 测试的数据你放在哪?
15. 什么是数据驱动,如何参数化?
16. 其他接口都需要登录接口的信息,怎么去让这个登录的接口只在其他接口调用一次?
17. 接口产生的垃圾数据如何清理?
18. 怎么用接口案睁首例去覆盖业务逻辑?
1. 性能测试指标包括哪些
2. 如果一个需求没有明确的性能指标,要如何开始进行性能测试?
3. 介绍 JMeter 聚合报告包括哪些内容?
4. 如果有一个页面特别卡顿,设想一下可能的原因?
5. 说一说项目中的实际测试内容
6. 介绍一下 JMeter 进行性能测试的过程
7. 介绍一下 JMeter 和 LoadRunner 的区别
全套【软件测试/自动化测试】海量资料免费领取
3. 应届生在软件测试的面试
软件测试面试题大全-最真实的面试题
以下为童鞋去面试整理的面试问题。--真实软件测试面试题、真实公司所问的
适合人群:零基础学习软件测试、多年跳槽的人员
面试过程中也会有深挖的,这些就不在多写。还有些待整理的,慢慢补上、完善。
希望对各位有所帮助!来源--Dotest
1:个人介绍
2:友碰项目介绍
3:流程逻辑介绍
4:职责介绍
5:项目人数,分别负责的是什么
6:每日工作介绍
7:接口如何测试的?用例如何设计?
8:一个项目中大概有多少个接口
9:getpost的区别
10:常见的状态码是什么
11:postman、Jmetersoapui的区别
12:公司流程
13:需求评审是怎么进行的
14:测试计划怎么写的?重点是什么?
15:测试用例的思路?
16:如果我们没有原型图、需求的话,你怎么写用例
17:给你个appweb你能快速说下用例的设计思路吗?
18:app与web的不同点是什么?
19:测试报告的重点
20:什么是灰度测试
21:上线后的跟踪如何做的?
22:为什么要做上线后的回归测试
23:上线后发现的问题如何处理
24:什么是UAT测试,为什要做UAT测试
25:bug怎么描述的
26:用例怎么描述的
27:优先级和严重程度如何划分
28:如果和开发有歧义的话怎么办
29:你映像bug是什么?
30:你发现一个bug如何定位的
31:自动化测试如何进行的?用的什么框架
32:常用的定位方法是什么?
33:功能测试与自动化的区别
34:什么样的项目适合自动化
35:自动化的好处是什么
36:自动冲肢化的劣处是什么
37:你感觉你写的用例覆盖全面吗
38:上线后发现的问题如何处理
39:linux常用的命令
40:linux常用的文件
41:linux环境搭建的步骤
42:常用sql语句
43:你们公司用sql吗,怎么用的
44:兼容测试你怎么做的
45:手机是如何考虑的
46:兼容测试的重点是什么
47:如果手机不够的话你怎么解决
48:真机和模拟器的区别是什么
49:你如何保证兼容的覆盖率
50:怎么抓手机的数据包的?如何设置
51:通过抓取数据包主要测试什么
52:性能测试做吗?怎么做的
53:python的遍历是什么
54:随意丢个软件说下具体的用例
55:你们公司多长时间迭代一次
56:迭代测试需要注意什么
57:你映像最深的bug是什么
58:你的期望薪资
59:你看比预期低2k,你能接受吗
60:我们公司加班多,能接受吗
61:能接受出差吗?
62:路程有点远
63:你为什么要离职
64:你感觉你的优势在哪?
65:你未来的规划是什么
66:你对下一个工作岗位有什么期望或要求吗
67:对你的领导有什么要求吗
68:你感觉你上家公司怎么样;能说下优缺点吗?好判谈
69:你感觉你上家领导怎么样;能说下优缺点吗?
70:有女朋友男朋友吗?
71:打算什么时候要孩子
72:你看你有什么想问的吗
73:你大概什么时候能入职
74:最近面试多吗?
75:手上有offer吗?
76:你是什么时候开始找工作的?
77:你从上家公司离职已经有好几天了,是刚开始找工作吗?为什么一直没找工作
4. 软件测试面试题
第一题:我认为需要在测试前需要先写好测试计划,其中最重要的是本次测试使用的测试方法、使用的测试工具、测试环境。人员方面需要进行人员及进度的安排,每个测试阶段后的输出工件,还要有风险评估。在测试前将这些准备工作做到位,这样在测试的时候就会比较有条理。
第二题:控制测试质量,我认为最好是做好测试用例的设计,这样可以对测试的覆盖率进行控制。
补充:如果时间充裕的话可以在设计用例后对其进行评审,这样可以提高测试质量。不过这个在实际的工作当中一般实现不了。。。。
下面列出的是网上的一个软测笔试题,好多单位在笔试的时候都会下来作为笔试题,我至少遇到两次了,其他的笔试题还有,但不一一列出了。
一、判断题(每题1分,12 分,正确的√,错误的╳)
1.软件测试的目的是尽可能多的找出软件的缺陷。()
2.Beta 测试是验收测试的一种。()
3.验收测试是由最终用户来实施的。()
4.项目立项前测试人员不需要提交任何工件。()
5.单元测试能发现约80%的软件缺陷。()
6.代码评审是检查源代码是否达到模块设计的要求。()
7.自底向上集成需要测试员编写驱动程序。()
8.负载测试是验证要检验的系统的能力最高能达到什么程度。()
9.测试人员要坚持原则,缺陷未修复完坚决不予通过。()
10.代码评审员一般由测试员担任。() 1
11.我们可以人为的使得软件不存在配置问题。()
12.集成测试计划在需求分析阶段末提交。()
二、不定项选择题(每题2 分,10分)
1.软件验收测试的合格通过准则是:()
A. 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。
B. 所有测试项没有残余一级、二级和三级错误。
C. 立项审批表、需求分析文档、设计文档和编码实现一致。
D. 验收测试工件齐全。
2.软件测试计划评审会需要哪些人员参加?()
A.项目经理
B.SQA 负责人
C.配置负责人
D.测试组
3.下列关于alpha 测试的描述中正确的是:()
A.alpha 测试需要用户代表参加
B.alpha 测试不需要用户代表参加
C.alpha 测试是系统测试的一种
D.alpha 测试是验收测试的一种
4.测试设计员的职责有:()
A.制定测试计划
B.设计测试用例
C.设计测试过程、脚本
D.评估测试活动
5.软件实施活动的进入准则是:()
A.需求工件已经被基线化
B.详细设计工件已经被基线化
C.构架工件已经被基线化
D.项目阶段成果已经被基线化
三、填空题(每空1分,24 分)
1.软件验收测试包括(正式验收测试)、(非正式验收测试和Alpha测试)、(Beta测试)三种类型。
2.系统测试的策略有功能测试、(性能测试)、(负载测试)、(压力测试)、易用性测试、(容量测试)、(强度测试)、 (兼容性测试又称)、(本地化测试)、(BVT测试)、(裸机测试)、(安全性测试)、()、(容错性测试)、(恢复测试)、()等15 种方法。
3.设计系统测试计划需要参考的项目文档有(需求规格说明书)、()和迭代计划。
4.对面向过程的系统采用的集成策略有()、()两种。
5.通过画因果图来写测试用例的步骤为、、、及把因果图转 换为状态图共五个步骤。
四、简答题(共37分)
1. 阶段评审与同行评审的区别。(4 分)
2 . 什么是软件测试。(3 分)
答:通过人工或自动化手段对系统进行测试,目的是为了验证系统是否满足预定功能或者是为了弄清楚实际结果与预期结果之间的差别。
3 . 简述集成测试的过程。(5 分)
答:将通过单元测试的单元模块按照设计要求组合起来再进行测试。重点检查程序接口处是否有问题。
过程:首先进行集成测试的测试计划测试设计测试开发测试用例执行测试评估,并且进行全程的缺陷跟踪。
4 . 怎样做好文档测试?(4 分)
答:文档测试要注意一下几点:文档的读者群、文档的术语、文档的正确性、文档的完整性、文档的一致性、文档的易用性、样例与示例、文档的语言
5. 白盒测试有那几种方法?(6 分)
答:白盒测试方法分为:静态测试和动态测试
静态测试方法:①编码标准与准则 ②走查 ③审查 ④评审
动态测试方法:①语句覆盖 ②判定覆盖 ③条件覆盖 ④判定-条件覆盖 ⑤条件组合覆盖 ⑥路径覆盖
⑦条件组合+路径覆盖
6. 系统测试计划是否需要同行评审,为什么?(4 分)
答:系统测试计划需要进行同行评审,因为如果对一个系统长时间进行测试可能会出现测试疲劳甚至出现
对系统的免疫现象,因此可以进行同行评审,减少对相同系统的疲劳测试。
7. Alpha 测试与beta 测试的区别。(4 分)
8 . 比较负载测试、容量测试和强度测试的区别。(6 分)
9 . 测试结束的标准是什么?(3 分)
5. “了解软件工程学思想和方法,了解基本数据库系统及网络知识” 软件测试面试要求中的一条要求怎么准备。
这个条件意思桥正是几个方面的
首先软件工程学思想就是你懂得软件工程的整个过程是哪些,他们具体做什么,一般会有什么产物会被生成,产物的作用,而作为测试工程师你在这些阶段中所需要做的工作,一般会提到W或者V模型,随便一本软件工程书上面都有的写。
其次 数据库系统 应该就是能够知道基本的SQL语句、数据库系统种类、它们的特点、基本的使用,其实相对而言面试会考核的是SQL的使用
最后所谓的网络知识,晌滚我觉得你要是手边有一本3级软考的书的话(要有上午基础考题的讲解的书)那基本没什么问题了,上面的知识你知道了,就够面对面试了
其实真敏谨悔正面试的时候,有可能不会问那么细,不过好好准备也没错,祝你好运吧
6. 面试软件测试 主要提问哪些问题
1、 说说你们公司测试的一个基本测试流程是什么?
答:首先会召开需求分析会议,参加人员有产品、开发和测试,主要是探讨需求主要的一些功能点,完了之后,开发就排期进行开发,我们就根据主管写出来的计划、分配到的任务编写测试用例,写完之后会进行用例评审,有评审修改的就修改整理形成最终的用例版本,之后开发人员版本编译完成后,我们会依据测试用例来执行测试,测试过程中,提交bug,跟踪bug,直至关闭,测试完后编写测试报告。
2、 你们项目主要是做什么的,有些什么功能,业务逻辑是怎样的?
答:这个主要就是看公司具体的项目是什么,了解清楚功能模块,对主要功能模块做业务逻辑的一个描述就行。
3、 测试的过程中,还用过一些什么工具吗?
答:有就有,没有就没有,一定要如实回答!比如在测试接口或者简单施压的时候用到了 jmeter。
4、 如果简历上写了,MySQL、Linux等,一般会问,掌握的程度怎么样?
答:如实回答,对于测试人员来说,mysql基本的增删改查都会,Linux基本命令都会,也会linux环境的项目部署。
5、 你们需求分析会议主要目的是什么?
答:讲解此次项目主要是做什么的,达到一个什么样的目的,探讨项目功能点,针对不清楚的及时提问。
6、 如果需求过少,你应该怎么办?
答:首先我会有所疑问,然后再问问老大,看看到底是怎么回事,如果确实是需求少,那就进一步的分析这个业务。如果确定有一些需求。
7、 编写测试用例的时候,会用到什么方法?
答:等价类、边界值、错误推测法、场景法等。
接着又问了一个:你觉得你在写用例的时候用到了吗?
我的回答是用到了,比如边界值,随便列举一个例子,比如:项目中某个标题输入框,长度是1-16个汉字。会设计测试用例数据为输入标题为空、标题字数为1、标题字数为2、标题字数为15、标题字数是16、标题字数为17
8、 会写测试计划吗、包含哪些内容?
答:一般说:没有写过,是我们主管写的,但我们会接触这个文档。大概包含有:目的、背景、测试范围、测试开始结束时间、测试策略、测试人员安排、测试环境、风险评估等等。
7. 软件测试面试题
1、软件测试就是在软件开发的过程中,对软件各阶段产品检验的过程,其目的是保证软件产品的质量
2、需求分析--编写测试计划--编写测试方案--编写测试用例--执行测试用例--提交缺钱报告--缺陷跟踪--回归测试--测试通过
3、黑盒主要是功能测试、性能测试、兼容性测试这些是主要的,还包括一些安全性,GUI测试,压力测试,易用性,容量测试,异常测试,安装性测试等 白盒主要的就是静态和动态两种测试
4、select* from a where ...;查找
insert ito a ()values();添加
delete from a;删除表中信息
update a set ...from..;更改表中信息
create table a ();建表
drop table();删除表
5、不清楚你问的内容是什么。给你两方面的回答
(1)缺陷的状态 :新建 打开 修复 关闭 拒绝 重复 丢弃 推迟 重新打开
(2)缺陷报告的内容:标题、详细描述(描述、前提条件、步骤重现、预期结果、实际结果)、状态、发现人、负责人、项目、版本、严重度、优先级
6、回归测试通过
7、先做集成测试,结束之后系统测试包括功能测试和性能测试,系统测试结束之后,缺陷也修改完成,拿给用户做验收测试!
9、发现缺陷不要直接就提交,和开发沟通后再做结论,如果沟通时发生歧义,查看需求决定是否是缺陷,如果不能决定咨询项目经理。对于一些字段上的缺陷,比如说套用的框架,有的按钮没有更改标识,最好是和开发说一声当场改掉。就不要提交缺陷。开发和测试的矛盾是一致存在的我们没有办法杜绝,只能尽量的降到最低。
10、细心、耐心、自我调节能力强、学习能力强。有很好的全局意识,和观察力!
11、界面--功能(自己要有一个网站功能的概括!先按照单个功能去测,之后按照系统的流程去测。最后是按照各个总能之间的联系去测试!)
8. 软件测试面试题有哪些
07. 您认为做好测试计划工作的关键是什么?
1. 明确测试的目标,增强测试计划的实用性
2.坚持“5W”规则,明确内容与过程
3.采用评审和更新机制,保证测试计划满足实际需求
4. 分别创建测试计划与测试详细规格、测试用例
36. 你以前工作时的测试流程是什么?
需求评审->需求确定->开发设计文档->想好测试策略,写出测试用例->发给开发人员和测试经理看看->接到测试版本->执行测试用->提交bug->开发人员修改->回归测试
测试类型有:功能测试,性能测试,界面测试功能测试也叫黑盒测试,测试软件产品的功能,黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,通过 负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者 不能接收的性能点,来获得系统能提供的最大服务级别的测试。界面测试,界面是软件与用户交互的最直接的层,界面的好坏决定用户对软件的第一印象。而且设计良好的界面能够引导用户自己完成相应的操作,起到 向导的作用功能测试关注产品的所有功能上,要考虑到每个细节功能,每个可能存在的功能问题。性能测试主要关注于产品整体的多用户并发下的稳定性和健壮性。 界面测试更关注于用户体验上,用户使用该产品的时候是否易用,是否易懂,是否规范,是否美观,是否安全,做某个性能测试的时候,首先它可能是个 功能点,首先要保证它的功能是没问题的,然后再考虑该功能点的性能测试
3.怎么才能够全面的测试到每一个点测试的全面性主要需要在设计测试计划的时候考虑,从测试策略,产品需求等等多个角度考虑从而定义全部的测试点
集成测试划分为4个阶段:计划阶段,设计阶段,实现阶段,执行阶段
流程:需求分析、测试点、编写测试计划、编写测试用例、测试、缺陷记录、回归测试、判定测试结束、测试报告提交、操作手册
BUG生命周期:新建、打开、已修改、拒绝、重开、延期、关闭
9. 求软件测试面试问题
测试技术面试题
1、什么是兼容性测试?兼容性测试侧重哪些方面?
参考答案:
兼容测试主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行,即是通常说的软件的可移植性。
兼容的类型,如果细分的话,有平台的兼容,网络兼容,数据库兼容,以及数据格式的兼容。
兼容测试的重点是,对兼容环境的分析。通常,是在运行软件的环境不是很确定的情况下,才需要做兼容。根据软件运行的需要,或者根据需求文档,一般都能够得出用户会在什么环境下使用该软件,把这些环境整理成表单,就得出做兼容测试的兼容环境了。
兼容和配置测试的区别在于,做配置测试通常不是Clean OS下做测试,而兼容测试多是在Clean OS的环境下做的。
2、我现在有个程序,发现在Windows上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题?
参考答案:
1、检查系统是否有中毒的特征;
2、检查软件/硬件的配置是否符合软件的推荐标准;
3、确认当前的系统是否是独立,即没有对外提供什么消耗CPU资源的服务;
4、如果是C/S或者B/S结构的软件,需要检查是不是因为与服务器的连接有问题,或者访问有问题造成的;
5、在系统没有任何负载的情况下,查看性能监视器,确认应用程序对CPU/内存的访问情况。
3、测试的策略有哪些?
参考答案:
黑盒/白盒,静态/动态,手工/自动,冒烟测试,回归测试,公测(Beta测试的策略)
4、正交表测试用例设计方法的特点是什么?
参考答案:
用最少的实验覆盖最多的操作,测试用例设计很少,效率高,但是很复杂;
对于基本的验证功能,以及二次集成引起的缺陷,一般都能找出来;但是更深的缺陷,更复杂的缺陷,还是无能为力的;
具体的环境下,正交表一般都很难做的。大多数,只在系统测试的时候使用此方法。
5、描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程?
参考答案:
就是Bugzilla的状态转换图。
6、你觉得bugzilla在使用的过程中,有什么问题?
参考答案:
界面不稳定;
根据需要配置它的不同的部分,过程很烦琐。
流程控制上,安全性不好界定,很容易对他人的Bug进行误操作;
没有综合的评分指标,不好确认修复的优先级别。
7、描述测试用例设计的完整过程?
参考答案:
需求分析 + 需求变更的维护工作;
根据需求 得出测试需求;
设计测试方案,评审测试方案;
方案评审通过后,设计测试用例,再对测试用例进行评审;
8、单元测试的策略有哪些?
参考答案:
逻辑覆盖、循环覆盖、同行评审、桌前检查、代码走查、代码评审、景泰数据流分析
9、LoadRunner分哪三部分?
参考答案:
用户动作设计;
场景设计;
测试数据分析;
10、LoadRunner进行测试的流程?
参考答案:
1、 测试测试
2、 创建虚拟用户脚本
3、 创建运行场景
4、 运行测试脚本
5、 监视场景
6、 分析测试的结果
以上,最好是结合一个案例,根据以上流程来介绍。
什么是并发?在lordrunner中,如何进行并发的测试?集合点失败了会怎么样?
参考答案:
在同一时间点,支持多个不同的操作。
LoadRunner中提供IP伪装,集合点,配合虚拟用户的设计,以及在多台电脑上设置,可以比较好的模拟真实的并发。
集合点,即是多个用户在某个时刻,某个特定的环境下同时进行虚拟用户的操作的。集合点失败,则集合点的才操作就会取消,测试就不能进行。
12、使用QTP做功能测试,录制脚本的时候,要验证多个用户的登录情况/查询情况,如何操作?
参考答案:
分析用户登录的基本情况,得出一组数据,通过性测试/失败性测试的都有(根据TC来设计这些数据),然后录制登录的脚本,将关键的数据参数化,修改脚本,对代码进行加强,调试脚本。
13、QTP中的Action有什么作用?有几种?
参考答案:
Action的作用
用Action可以对步骤集进行分组
步骤重组,然后被整体调用
拥有自己的sheet
组合有相同需求的步骤,整体操作
具有独立的对象仓库
Action的种类
可复用Action
不可复用Action
外部Action
14、TestDirector有些什么功能,如何对软件测试过程进行管理?
参考答案:
需求管理
定义测试范围
定义需求树
描述需求树的功能点
测试计划
定义测试目标和测试策略。
分解应用程序,建立测试计划树。
确定每个功能点的测试方法。
将每个功能点连接到需求上,使测试计划覆盖全部的测试需求。
描述手工测试的测试步骤
指明需要进行自动测试的功能点
测试执行
定义测试集合。
为每个测试人员制定测试任务和测试日程安排。
运行自动测试。
缺陷跟踪
记录缺陷
查看新增缺陷,并确定哪些是需要修正的
相关技术人员修改缺陷
回归测试
分析缺陷统计图表,分析应用程序的开发质量