Ⅰ 软件测试面试题
Dotest测试学堂--董浩整理回答
题目一:怎么样组织测试人员高效率完成测试工作,来确保产品质量?
1:前期测试计划,按照产品经理、研发经理提供的文档:原型图、需求说明书、设计稿等项目相关的文档,先大概评估下测试范围、工作量、需要人数、进度、使用设备、难度(测试类型)和风险评估;如果哪里遇到问题,提前解决,不影响项目的完成时间和进度;比如说:工作量:按照目前的人手可能完不成,那么需要考虑加班和团队的情绪,加班也完不成的情况下需要及时反馈给产品经理\项目经理协调人手或者调整项目的上线时间。
2:测试过程:分配更熟悉系统的人员书写测试用例,指导测试并及时组织项目参与者评审用例,及时发现测试覆盖率不全的问题,查漏补缺。更好的覆盖全面。保证产品测试质量。
3:过程配合:及时反馈遇到的问题;比如由于其他原因研发修改可能不及时也会造成进度的耽误,这时需要及时向研发经理说明情况,商讨目前手上项目的优先级,看看先修复哪个项目为好。
4:即将上线:无遗留bug(部分延期修改等问题,需讨论是否本次修改完成)上线前要进行灰度测试,再次进行确认测试\回归测试,确保线上不会出现问题。
5:线上跟踪:真正上线到生产环境的话需要再次进行线上跟踪测试,整体回归(确认测试),app的话直接测试渠道包;确保生产环境无问题。如果有问题及时下线修改再次上线。
6:整体完成后总结本次测试过程和上线的过程,发现问题,下次避免;比如:人员熟悉系统程度、问题集中点、遗漏测试点。为了下次更快速、更好的完成项目的测试。
======
题目二:如何控制测试质量和测试进度,怎么评判本次的测试质量?和上面的那道题类似了
控制测试质量:提前计划、把控过程、审核结果;
评估好前期计划:比如:测试计划,充分考虑测试范围、工作量、需要人数、进度、使用设备、难度(测试类型)和风险评估。
把控过程:评审测试用例、查漏补缺;多次反复测试,需在测试环境测试、灰度测试、UAT测试,最后线上的跟踪测试来确保质量。
审核结果:bug的修改情况、遗留问题、线上出现的问题;从而分析问题集中点,下次避免。
测试进度:提前计划、评审计划。过程中需要及时反馈影响进度的问题,及时解决。
评判测试质量:我们一般是从灰度测试和线上回归测试来评判;上线一段时间(一周、一个月)出现的问题总数,也就是线上出现的问题除以测试过程中的问题==测试问题遗漏比。通过这种方式来判断。
当然测试面试过程也不仅仅是这个问题,还有很多其他的,以下供参考:
---
软件测试中面试问题整理-v2.0【根据真实学生面试过程总结的问题】
适合人群:零基础转岗、跳槽(1-6年)
注意:首先理解,然后会答\组织语言。前提是要会做项目,不然试用期可就过不了
会不断更新该文档,可以加我们进行讨论。面试中部分问题会深挖,就不再多写
1:个人介绍
2:项目介绍
3:流程逻辑介绍
4:职责介绍
5:项目人数,分别负责的是什么
6:每日工作介绍
7:接口如何测试的?用例如何设计?
8:一个项目中大概有多少个接口
9:get\post的区别
10:常见的状态码是什么
11:postman、Jmeter\soapui的区别
12:公司流程
13:需求评审是怎么进行的
14:测试计划怎么写的?重点是什么?
15:测试用例的思路?
16:如果我们没有原型图、需求的话,你怎么写用例
17:给你个app\web你能快速说下用例的设计思路吗?
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:你从上家公司离职已经有好几天了,是刚开始找工作吗?\为什么一直没找工作
希望对你有所帮助!
Ⅱ 如何面试软件测试
对于软件测试这一块来说,考官基本都是注重文案一点。对IT代码这一方面并不是太看重,所以在面试的时候可以展示自己的文案特色以及自己的资历方面的特点。
不过对于大多数公司来说肯定不会选择小白来做测试,一般会看一点专业或者是否对IT了解,特别是编程,如果学过某些语言但是不精通也没关系。比如我曾经学习过Java、数据库、H5等,只要是自己学过的都写上去。
这上面是最基本的测试用例内容,当然只可能比它多,稍微多一点自己的想法和特色。
在面试的时候最有说服力和最打动面试官的就是一份项目的测试文档,你拿一份项目的测试文档比说千百个优点都有用,所以做一个这样的文档就相当于一份最好的简历。
对软件测试可深可浅,讲深了不一定能看懂!
Ⅲ 求软件测试面试问题
Dotest测试学堂--董浩整理
---
自我介绍:无论转行还是本专业的,你就直说没关系:
您好,我叫**我来自于****毕业于**,直到目前从事软件测试***年,在***公司,主要做过**项目,这个项目的主要功能****,主要负责***(多个项目的话,由近及远的说;在这里要注意简洁介绍项目和职责即可,下面面试官会挑选项目问你,这时候再仔细回答即可)
还有面试的时候可能会被问到为什么选择软件测试行业?怎么回答比较好。【因为你是中间转行过来的,这个问题也是必问的】
首先分析下面试官为什么要问这种“半残”的问题?
Hr:虽然我们也知道是个傻乎乎的问题,但是我们就是要问你,问你的原因是想看看你怎么回答我的问题;你可能拒绝回答,OK,直接pass(你不懂得尊重);你也可能按照事实回答:因为挣钱多,不知道自己还能做什么,OK,你不懂得沟通。……等其他的回答!
这就是考你怎么说,怎么做与怎么别人沟通…
换位思考,企业招人的时候,要不要你其实不仅仅取决于你的技能方面,企业要综合判断的;从反应能力+沟通能力+技能(硬知识+软技能)。
知识好学,不就是摆在那里,你自己多练习、多背(自觉性是个很大的问题);但是软技能,别人不说你,你还会感觉很良好……所以要注意加强这方面的能力!
最后明白了面试官想问的原因,那么咱们就好解答了:
答:我上学(或者我身边的人)有在做这一行的,有时候一起吃饭也会聊到工作内容,我挺感兴趣的,后来自己查资料,通过同学辅导(或同事辅导)感觉越来越喜欢。所以就通过自学(或者报班)转到这一行业!就一直做到了现在。大概就是这样(一定要注意:回答完成后要说下结束语)。
最后说明的是:面试官都不傻,你回答真实与否我们都能判断出来,但我们就是想看看你的反应和沟通!
【我也当过面试官,也问过。诸如此类的问题还很多,可以多看下我们班学生总结的面试题,可以跟我要下,你就会知道】
也可参考下面的面试题:
软件测试中面试问题整理-v2.0【根据真实学生面试过程总结的问题】
适合人群:零基础转岗、跳槽(1-6年)
注意:首先理解,然后会答\组织语言。前提是要会做项目,不然试用期可就过不了
会不断更新该文档,可以加我们进行讨论,了解行业目前情况。面试中部分问题会深挖,就不再多写
答案每个人说的不一样,比如:
1:个人介绍
2:项目介绍
3:流程逻辑介绍
4:职责介绍
5:项目人数,分别负责的是什么
6:每日工作介绍
7:接口如何测试的?用例如何设计?
8:一个项目中大概有多少个接口
9:get\post的区别
10:常见的状态码是什么
11:postman、Jmeter\soapui的区别
12:公司流程
13:需求评审是怎么进行的
14:测试计划怎么写的?重点是什么?
15:测试用例的思路?
16:如果我们没有原型图、需求的话,你怎么写用例
17:给你个app\web你能快速说下用例的设计思路吗?
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:你从上家公司离职已经有好几天了,是刚开始找工作吗?\为什么一直没找工作
希望对你有所帮助!
Ⅳ 软件测试面试题:你之前在公司用什么测试工具,结合你项目的某个模块讲,然后测试用例是怎么设计的
面试官想听的不是项目管理工具,而是性能、功能、接口等的测试工具,比如专loadrunner、jmeter等,禅道是属于项目属管理工具;
结合模块讲的话,就是说你具体是怎么使用这个工具的,比如用loadrunner进行性能测试,可以说是录制脚本,然后对数据进行参数化,之后对服务器进行加压,然后分析生成的结果文件。
Ⅳ 性能测试loadrunner薪资待遇
这个,从毕业时间开始才算是工作经验,你这个,如果跟我说的话,我肯定不信你有这么长时间的工作经验。
而且,工资主要还得看是在哪里,反正测试的话,8k左右,开发嘛,你也知道人很多的,我一个朋友干了三年开发才7k。10k的话,也能拿到,就是看你的面试官对你的评价了。
Ⅵ 应届生在软件测试的面试
软件测试面试题大全-最真实的面试题
以下为童鞋去面试整理的面试问题。--真实软件测试面试题、真实公司所问的
适合人群:零基础学习软件测试、多年跳槽的人员
面试过程中也会有深挖的,这些就不在多写。还有些待整理的,慢慢补上、完善。
希望对各位有所帮助!!!来源--Dotest
1:个人介绍
2:项目介绍
3:流程逻辑介绍
4:职责介绍
5:项目人数,分别负责的是什么
6:每日工作介绍
7:接口如何测试的?用例如何设计?
8:一个项目中大概有多少个接口
9:get\post的区别
10:常见的状态码是什么
11:postman、Jmeter\soapui的区别
12:公司流程
13:需求评审是怎么进行的
14:测试计划怎么写的?重点是什么?
15:测试用例的思路?
16:如果我们没有原型图、需求的话,你怎么写用例
17:给你个app\web你能快速说下用例的设计思路吗?
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:你从上家公司离职已经有好几天了,是刚开始找工作吗?\为什么一直没找工作
Ⅶ 软件测试面试一般都问什么问题
必然会问软件测试的基础知识,比如黑盒、白盒测试都是什么,区别等;专性能测试、压力测试等各属种测试都是什么含义?测试用例是什么?怎么设计?然后可能会举个案例问你怎么设计测试用例,怎么着手测试。差不多就这样吧。你可以看看这本书,《软件测试面试突击——为自己赢得一份测试工程师职位》,里面说了面试会问什么问题,怎么回答。
Ⅷ 性能测试面试题,求正确答案
1.什么是负载测试?什么是性能测试?
负载测试是一种性能测试指数据在超负荷环境中运行,程序是否能够承担 在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。此外,负载测试还要评估性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面。
性能测试主要使用场景测试软件系统的性能是否满足生产性能的要求,包括负载测试,强度测试,数据库容量测试,基准测试以及竞争(并发,用户)测试2.性能测试包含了哪些测试(至少举出3种) 包括负载测试,强度测试,数据库容量测试,基准测试以及竞争测试
3.简述性能测试的步骤 第一步:需求分析、计划测试,设计测试用例 第二步:测试设计和开发(测试脚本录制及调试,测试场景设计) 第三步:测试执行(测试环境搭建,场景部署,场景执行,监视场景) 第四步:测试结果分析,性能问题定位,测试报告评估
4.简述使用Loadrunner的步骤 制定性能测试计划-》使用Vuser录制调试脚本VuGen-》用Loadrunner Controller设置场景-》运行场景-》监视场景by Loadrunner online runtime等-》分析测试结果
5.什么时候可以开始执行性能测试? 功能测试通过;一般需要进行性能测试的系统,都是用户量比较大、业务使用比较频繁、比较重要的功能模块。 6.LoadRunner由哪些部件组成? Virtual User Generator-生成用于“Controlier”部署的Vusers LoadRunner Controlier-产生压力和搜集测试结果数据 LoadRunner Analysis-通过图表分析工具来编译和显示测试结果
7.你使用LoadRunner的哪个部件来录制脚本? 使用Virtual User Generator录制测试脚本
8.LoadRunner的哪个部件可以模拟多用户并发下回放脚本? LoadRunner的Controller组件。
9.什么是集合点?设置集合点有什么意义?Loadrunner中设置集合点的函数是哪个? 在性能测试过程中,需要模拟大量用户在同一时刻,访问系统并同时操作某一任务,可以通过配置集合点来实现,多个用户同时进行某操作; 集合点可以在服务器上创建密集的用户负载,使LoadRunner能够测试服务器在负载状态下的性能。 设置集合点函数:lr_rendezvous("Meeting"); // Meeting是集合点名称
10.什么是场景?场景的重要性有哪些?如何设置场景? 场景用于模拟用户实际业务操作; LoadRunner中场景有手工场景和面向目标的场景。 设置场景:选择场景类型、设置运行时设置、模拟用户数、加减压方式、持续时间,配置负载生成器。
11.请解释一下如何录制web脚本? 利用Virtual User Generator录制测试脚本,录制步骤:
1、选择合适的协议-Web(Http/Html),
2、设置录制选项(HTML-based Script/URL-based Script)
3、开始录制
12.为什么要创建参数?如何创建参数?
A12:LoadRunner在录制脚本的时候,只是忠实的记录了所有从客户端发送到服务器的数据,而在进行性能测试的时候,为了更接近真实的模拟现实应用,对于某些信息需要每次提交不同的数据,或者使用多个不同的值进行循环输入。这时,在LoadRunner中就可以进行参数化设置,以使用多个不同的值提交应用请求。 【参数化】:使用指定数据源中的值来替换脚本录制生成的语句中的参数。 【参数化好处】 ● 减少脚本的大小 ● 提供使用不同的值执行脚本的能力,更加真实的模拟现实应用。 【参数化步骤】 ● 用参数替换Vuser脚本中的常量值 ● 为参数设置属性和数据源 13.什么是关联?请解释一下自动关联和手动关联的不同。
A13:【关联的定义】简单的说:就是把脚本中某些写死(固定)的数据,转变成动态的数据,或者说将前面语句的结果数据保存下来,然后在后面的语句提交请求时使用这些数据。 【需要关联的前提条件】: 客户端需要从服务器端返回数据中获取部分数据,并将这些部分数据处理后作为自己下一次请求的一部分发出。 【自动关联与手工关联的不同】:自动关联是在脚本录制过程中,VuGen会根据已经制定好的规则,自动找出需要关联的值或脚本录制完成后,执行脚本一次,通过Correlation Studio自动找出需要关联的数据,并建立关联;而手动关联是需要录制两份相同业务流程的脚本,输入的数据要相同,利用WinDiff工具,找出两份脚本之间不同之处,也就是需要关联的数据,再通过web_reg_save_param函数手动建立关联,将脚本中用到关联的数据参数化。
14.你如何找出哪里需要关联?请给一些你所在项目的实例。
A14: 1、录制两份相同业务流程的脚本,输入的数据要相同
2、利用WinDiff工具,找出两份脚本之间不同之处,也就是需要关联的数据
3、通过web_reg_save_param函数手动建立关联,将脚本中用到关联的数据参数化。 通过录制两份脚本,进行对比,可知jsessionid、sap-ext-sid、sap-wd-cltwndid、sap-wd-tstamp需要进行关联。
15.你在哪里设置自动关联选项? 录制选项中进行设置
16.哪个函数是用来截取虚拟用户脚本中的动态值?(手工管联)
A16:Web_reg_save_param函数主要根据需要做关联的动态数据前面和后面的固定字符串来识别、提取动态数据,所以在做关联时,需要找出动态数据的左、右边界字符串。
1.函数原型: int web_reg_save_param (const char *ParamName, <List of Attributes>, LAST);
2.参数说明: ParamNam:存放动态数据的参数名称 List of Attributes:其它属性,包含Notfound、LB、RB、RelFrameID、Search、ORD、SaveOffset、Convert、SaveLen。
17.你在VUGen中何时选择关闭日志?何时选择标准和扩展日志? 在脚本运行调试成功后应关闭日志。创建发送函数和消息日志时用标准日志,创建警告和其他信息是用扩展日志。
18.你如何调试LoadRunner脚本? 在VuGen设置断点breakpoints,然后使用单步跟踪Run Step by Step,输出调试日志
19你在LR中如何编写自定义函数?请给出一些你在以前进行的项目中编写的函数。 Give me few functions you wrote in your previous project? - Before we create the User Defined functions we need to create the external library (DLL) with the function. We add this library to VuGen bin directory. Once the library is added then we assign user defined function as a parameter. The function should have the following format: __declspec (dllexport) char* <function name>(char*, char*) lr_load_dll("user32.dll"); Examples of user defined functions are as follows:GetVersion, GetCurrentTime, GetPltform are some of the user defined functions used in my earlier project.
20.在运行设置下你能更改那些设置? pacing: 每个虚拟用户脚本包括三个部分:vuser_init, Run (Actions), vuser_end. 当你运行脚本的时候你能通知,虚拟用户重复执行run部分,每一个重复做为一个iteration. 注意: vuser_init 和vuser_end 部分是不被重复的。Think Time Settings: 虚拟用户think time仿效一个真实用户在活动中等待的时间,例如:当一个用户从服务器接受数据的时候,在响应前这个用户需要等待数秒来接受数据,这个被耽搁的时间就是think time。 Error Handling:你能指定一个虚拟用户在脚本执行期间如何处理错误,默认的,当一个虚拟用户发现一个错误的时候,它会随着下一次重复继续下去,你能使用这个设置来通知虚拟用户当发生错误的时候是否继续执行脚本。 Run Logic:迭代次数
21.你在不同的环境下如何设置迭代? A21:在“Run Time Settings”中设置
22.你如何在负载测试模式下执行功能测试? A22:在负载测试模式下,可以通过同时运行数个虚拟用户,通过增加虚拟用户数,确定服务器在多大的负载量下,仍然可以正常运行,我一般进行核心功能操作,验证核心功能运行是否正常。
23.什么是逐步递增?你如何来设置? A23:虚拟用户数随着负载时间逐渐增加,可以帮助确定系统响应时间减慢的准确时间点。 可以在“加压”选项卡中进行设置:如下图所示,将设置更改为:“每 30 秒启动 2 个 Vuser”
24.以线程方式运行的虚拟用户有哪些优点?
A24:以线程方式运行的虚拟用户,在默认情况下,Controller为每50个用户仅启动一个mmdrv进程,而每个用户都按线程方式来运行,这些线程用户将共享父进程的内存,这就节省了大量内存空间,从而可以在一个负载生成器上运行更多的用户。
25.当你需要在出错时停止执行脚本,你怎么做? 取消运行设置中的“Continue on error”复选框。 或者使用lr_abort函数。
26.响应时间和吞吐量之间的关系是什么? A26:当系统吞吐量未达到系统处理极限时,系统性能不会衰减,交易平均响应时间一般也不会递增,当系统达到吞吐量极限时,客户端交易会在请求队列中排队等待,等待的时间会记录在响应时间中,故交易平均响应时间一般会递增。
27.说明一下如何在LR中配置系统计数器? A27:以windows资源监控为例,可右键点“添加度量”,输入系统IP、选择平台类型,确定即可,详细参加LR自带操作手册^_^。 对于监控不同类型的操作系统,需要做一些准备工作,可参见监控操作系统资源部分。
28.你如何识别性能瓶颈? A28:性能瓶颈分为:硬件瓶颈和软件瓶颈性能瓶颈可以通过监控器来分析发现,这些监控器包括应用服务器监控、web服务器监控、数据库服务器监控器和网络监控器;它们可以帮助分析导致响应时间增加的原因;性能度量一般包括响应时间、吞吐量、每秒点击率、网络延迟等等。
29.如果web服务器、数据库以及网络都正常,问题会出在哪里?
A29:问题可能出在系统本身或应用服务器、或为应用编写的代码编写中。
30.如何发现web服务器的相关问题?
A30:可以利用web资源监控器发现web服务器相关问题,在场景执行过程中,可以利用监控器分析web服务器吞吐量、每秒点击率、每秒HTTP响应数、每秒页面下载数,以及web服务器硬件资源使用情况等。
31.如何发现数据库的相关问题?
A31:可以通过数据库监控器和数据资源图发现数据库相关的问题,例如在运行Controller之前,可以指定需要度量的资源,之后可以根据监控的数据,分析数据库相关的问题
32.解释所有web录制配置?
A32:选择录制协议、设置录制选项、选择浏览器、选择存放路径、开始录制。
33.解释一下覆盖图和关联图的区别?
A33:覆盖图:合并两个图的内容,使用同一个X轴,合并图左Y轴显示当前图的值,合并图右Y轴显示被合并图的值。 关联图:当前活动图的Y轴变为合并图的X轴,被合并图的Y轴变成合并图的Y轴。
34.你如何设计负载?标准是什么?
A34:负载测试计划多少用户数量、使用什么类型的机器、以及在什么环境下进行。主要基于两个重要的文档,任务分布图和事务信息,任务分布图告诉我们在负载时间段内,某一个事务使用的用户数,高峰使用率及低峰使用率均来自该文档; 事务信息告诉我们事务名及优先级,在设计场景时可以参考。
35.Vuser_init中包括什么内容?
A35:Vuser_init中包含在脚本执行过程中只需执行一次的脚本。一般来说,所有需要初始化的都可以放在vuser_init里面,比如登录。
36. Vuser_end中包括什么内容?
A36:vuser_end中一般包含退出的过程,比如退出系统,主要在脚本执行完成或停止时运行,在设置了迭代次数时,vuser_end和vuser_int均只执行一次。
37.什么是think time?think_time有什么用?
A37:思考时间:用户在各步骤之间停下来进行思考的时间,由于用户基于其经验水平和目标而与应用程序进行交互操作,因此技术水平更高的用户工作起来可能会比新用户要快。 通过启用思考时间,可以使 Vuser在负载测试期间更准确地模拟其对应的真实世界用户。
38.标准日志和扩展日志的区别是什么?
A38:标准日志:脚本执行过程中,将函数集及信息发送到日志文件中 扩展日志:可以将详细的脚本执行信息输出到日志文件中,可以选择以下三种扩展日志信息: ● 参数替换:脚本运行过程中,可以将参数及当前参数值输出到日志文件中 ● 服务器返回的数据:将服务器返回给客户端的数据输出到日志文件中 ● 高级跟踪:所有的虚拟用户信息和函数调用输出到日志文件中
39.解释以下函数及他们的不同之处。
A39:lr_debug_message:发送调试信息到输出窗口或业务监控日志文件中 lr_output_message:发送日志信息到输出窗口或业务监控日志文件中 lr_error_message:发送错误信息到输出窗口或业务监控日志文件中 lrd_stmt:赋予一个SQL语句用于处理 lrd_fetch:获取结果集中的下一行数据
40.什么是吞吐量?
A40:客户端每秒从服务器接收到的数据,或系统服务器每秒能处理通过的交易数。一般随着虚拟用户数的增加,吞吐量也增加,说明网络带宽比较充足,反之,吐过随着虚拟用户数的增加,吞吐量比较平稳,呈直线状态,则说明网络带宽成为瓶颈,限制了数据传输。
41.场景设置有哪几种方法?
A41:面向目标的场景设置和手动场景
Ⅸ 中科软科技股份有限公司 软件测试工程师 求面试笔答题,面试问题.急急急~~~
1.谈谈你对测试的理解
2.你三年的职业规划
3.你对加班的看法?是否可以加班?
4.你心目中理想的公司怎么样?理想的工作环境?理想的同事关系?
5.你觉得这笔试答的如何?优势在哪?劣势在哪?
6.如果初面没成功,你怎么说服我给你复试机会?
7.你认为激励你努力工作的因素都有哪些?
8.你的最大的优点是什么?缺点是什么?有什么专业特长?爱好是什么?
9.给你辆自行车,你认为最需要检查的是哪些地方?为什么?若要保证质量必须要检查三个部件,是什么?为什么?
技术题
数据库
1.咖啡厅,咖啡不同种类不同价格,有大杯小杯,食物不同种类不同价格,消费时间令算钱,结账可以用会员卡,
会员卡根据等级不同打折不同,画出E-R图
2.给出两个表,成绩表和课程表
说明主键、外键的作用,索引的好处和不足?
创建表
查询成绩小于60分的学生姓名和学号
查询成绩小于60分的学生姓名和课程名
查询平均成绩并排序
3.两个表设计的有哪些缺陷,应该如何改动
程序题
1.给段代码,用白盒测试方法设计用例覆盖
2.给段JAVA代码,类的互相调用,写出显示结果,并说明过程,主要考察的是类以及私有变量的生命周期
3.写出一个类,调用另一个类的函数
测试题
1.什么是信息管理系统?最重要的是哪部分?
2.什么是数据库?是什么关系型数据库?描述主键、外键
3.TD中BUG处理过程
4.测试计划的内容
5.一个有广告的花杯子,尽可能多的设计测试用例
6.你会使用的测试工具
7.测试题太多,具体想不起来了,总之把老师总结的测试技术题全背下来就成了,考的也就是那些东西
初面
1.自我介绍
2.谈谈你做过的一个项目,担当什么职责
3.谈谈你做过项目的一个模块,具体都设计了哪些用例
4.使用QTP、Loadrunner多长时间?分别叙述使用过程
5.给出一个QTP的场景,问怎么设计,问的根本听不懂,所以也没记住
6.Loadrunner中都可以修改插入哪些东西?检查点是插在事务的里面还是外面?集合点是插在事务的前面还是后面?
7.是否参与过性能分析,都需要看哪些地方
8.QTP适合哪些系统?不适合哪些系统
9.你为什么离职
10.你的三年职业规划是什么
11.是否可以加班
12.原公司有多少人,测试团队有多少人,开发团队有多少人
复试(全是结合具体工作谈的)
1.谈谈以前的工作
2.测试计划都怎么写的
3.讲讲QTP和LR的如何使用
4.如何回归的
5.介绍一下TD的流程
6.结合你做过的一个系统的一个模块,设计用例
7.LR并发用户是如何确定的
8.LR的分析需要看哪些方面
9.如何写测试分析报告
10.什么是冰冻测试
11.是否统招
12.三年职业规划
13.用过哪些管理工具,如何使用
看看能不能帮你
Ⅹ 性能测试进阶指南——LoadRunner11实战的前 言
性能测试并不是一个很新的名词,但自从LoadRunner进入国内并流行起来,带动了性能测试的潮流,一时间测试人员的口边已经离不开这个HP的性能测试神器。如果你不会使用它进行性能测试,出门都不好意思和同行打招呼,似乎掌握了该工具就成为了测试的资深专家。可以说性能测试的流行从某些角度也反映了国内软件测试技术的进步,从过去的手工化功能测试逐步开始涉及通过编程的方式对系统进行功能测试,从而进一步地开展性能测试。
为什么写这本书
在游戏中身为一个DPS总是不断地在天赋、装备属性、输出手法、站位、技能优先级等问题上反复琢磨调优,力争成为该职业的高手。在不同的论坛会参考别人的推荐来选择BIS(最优配置装备)、合适的天赋、最佳的重铸属性,熟悉和计算各种技能的优先级,在战斗的过程中动态监控各种BUFF和DEBUFF来让自己的核心技能能够在最合理的时间爆发并且获得最大利益。当每次实战时都能看到自己的DPS牢牢地处于榜首,那种感觉是妙不可言的。与职业玩家的互相交流,探讨心得可以更好地选择不同技能应对不同的战斗,性能测试及调优就这样在游戏中淋漓尽致地闪耀着光芒。当去指导朋友如何玩好这复杂的职业时,需要使用很多策略来让他了解游戏的逻辑本质,掌握技能的意义及优先级排列,并在战斗中合理应用。
而另一方面对于软件来说,性能测试、调优又是如此雷同而又复杂。看过很多性能测试方面的书,也在论坛上不断地解决各种问题,但总会发现新手问题反复发,高手问题无人解的问题,而企业中的各种问题也大同小异,仔细一看其实在很多书中都有介绍。在上一本《性能测试进阶指南——LoadRunner 9.1实战》中介绍了LoadRunner 9.1,后两年中并没有看到市面上有关LoadRunner 11的图书,而这两年中自己也有很多新的理解和对于部分章节描述的补充,在老婆的鼓励和支持下这本书就诞生了。限于作者的经验和水平,书中的不足和纰漏之处在所难免,恳请广大读者批评指正。
疑问和建议可以访问笔者的BLOG
本书面向的读者
本书并不是完全为初学者设计的,因为性能测试本来就不是一个新人能够涉及的内容,想要掌握性能测试需要多年的测试基础及广泛的知识面。这里需要读者具备一定的动态页面开发基础及Linux系统和数据库基本操作能力。
对于一个刚刚涉及性能测试的朋友来说,这本书可以解答你遇到的所有问题,虽然刚开始看会稍显吃力,但随着逐步的深入会越发轻松。对于已入门的朋友,在简单地了解性能测试基础及LoadRunner的实现原理后,本书的深度会让你进一步看透一些朦胧的东西。而对于高手来说,项目的实施策略、扩展工具的辅助及特殊的脚本开发可以帮助你进一步扩展思路。
相对于上一本《性能测试进阶指南》来说本书做了大量篇幅的修改,强化了很多细节的知识,将部分基础知识进行了精简。对于基础较差的入门级读者,建议先阅读笔者的上一本《性能测试进阶指南——LoadRunner 9.1实战》以熟悉基础知识,从而降低阅读中的困难。
本书作者
陈霁,51Testing论坛中ID为云层,集上海人和四川人的优缺点于一身,常常被朋友指责为典型处女座。自认公司内皮肤最白,经常被学员笑称“云版”或“棉花糖”老师,现任51Testing高级讲师,主攻性能测试。
2001年至2004年在多家软件公司任职测试工程师,在底层摸爬滚打多年,对各种类型的软件测试都有所涉及。
2004年至2007年在Gameloft上海部曾任测试经理、SQA及SCM。
2007年中加入51Testing任职高级讲师,负责软件测试培训、咨询、企业应用解决方案等工作。
本书结构
本书分为8章、5个,其内容如下表所示。
从本书能收获什么
对于读者来说,通过本书的学习可以完全掌握LoadRunner 11的各种功能,并了解性能测试的实施过程,做到理论联系实际。本书中所有的例子都可以在本地或者权威网站进行实践,包括项目实践的所有内容也可在本地完成,从而真正实现自学成材。虽然本书是介绍如何使用LoadRunner这一性能测试工具来进行性能测试的,但是书中还穿插了大量的辅助工具,从而弥补了LoadRunner自身工具的不足;在实战阶段提供了详尽的性能需求分析方法、测试数据构造方式、性能测试分析方法及性能测试团队构建方式,让菜鸟迅速成长为高手。
致谢
测试做久了总习惯挑别人毛病或者具备一点完美主义精神,看了很多论坛上的提问和市面上的书籍后,我自信地认为能写本“比别人好点的书”。当开始执笔时,一本“完美”的书一直压迫得我喘不过气来,经过多次辗转,最终这个相对“完美”的版本没有胎死腹中,这里不得不感谢那些在这些年中和我互相学习分享知识的朋友。
对我来说最幸福的事情是在进入高中时拥有了一台小小的学习机,当第一次接触到键盘,第一次编写BASIC小程序时仿佛失了魂,按照现在的说法也就是“宅”了。这里要感谢我的父母,他们并没有阻止我沉迷于计算机之中,从而让我找到了自己的兴趣,并进一步将兴趣转化为了职业。
第一次接触软件测试是在2001年,作为一名刚毕业、自我感觉良好的大学生,我只身来到了上海。四处碰壁后“委身”于一家软件公司任职测试工程师,就这样误打误撞地进入软件测试行业,多亏当时面试我的原IBM测试经理田芳女士给了我这样的机会。“师傅领进门,修行靠个人”,待我明白这个道理并奋发努力后,在Wang Sheng和Steven Ye的栽培下我逐渐成为了独当一面的测试经理。
加入51Testing对我来说是个不小的转变,作为原Etang的SQA和Gameloft的测试经理,游戏测试及管理和软件测试还有一条不小的鸿沟,而性能测试以前并不是我的主攻方向,期间受到Sincky、海龙、老朴、徐林林的细心指点,使我对性能测试的理解逐步加深,也逐渐接过了性能测试培训的教鞭。
在本书的编写过程中,宋锋、徐林林、田威峰、刘德宝、邓强等老师都在各个方面给予了我很多支持。为了给我更多的闭关写书的时间,小师妹和师弟不得不帮忙顶了很多课程,在此表示感谢。网上的很多朋友给了我很多知识点和参考案例,这里需要感谢一下QQ群中的Fin、Mike、土匪、千里、友船、一个人、Yettie等几大版主和热心网友帮助我完成了Beta版本的测试工作,并在校稿中做了很多的工作,包括内容的收集、评审和整理,在此表示感谢。
参与本书编写的人员有王威、王琰、朴春龙、邓强、周峰、周春江、徐林林、商莉、宋锋、宋光照、刘德宝、李波等。
最后还是要感谢一下亲爱的老婆,写书这段时间让你多费心了,这是一本为你而写的书。
陈 霁