软件测试面试大全

一 基础知识
1.0 基础面试题传送门
http://www.51testing.net/study/improve/64044.html
https://www.cnblogs.com/yinrw/p/10795210.html

1.1 http和https的区别

  HTTPS和HTTP的区别主要如下:
  
  1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
  
  2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
  
  3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
  
  4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
  
  扩展资料:
  
  HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。
  
  HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
  
  HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。

1.2 压力测试,负载测试和性能测试关系?

  链接:http://www.51testing.com/html/06/n-3721106.html
  性能测试是动力,负载测试载重,压力测试强度
  
  压力测试stresstest:是在一定的负荷条件下,长时间连续运行系统给系统性能造成的影响。
  
  负载测试Loadtest:在一定的工作负荷下,给系统造成的负荷及系统响应的时间。
   
  **1.3 web测试和手机测试有什么区别**
  
  WEB测试和App测试从流程上来说,没有区别。都需要经历测试计划方案,用例设计,测试执行,缺陷管理,测试报告等相关活动。从技术上来说,WEB测试和APP测试其测试类型也基本相似,都需要进行功能测试、性能测试、安全性测试、GUI测试等测试类型。
  
  他们的主要区别在于具体测试的细节和方法有区别,比如:性能测试,在WEB测试只需要测试响应时间这个要素,在App测试中还需要考虑流量测试和耗电量测试。
  
  兼容性测试:在WEB端是兼容浏览器,在App端兼容的是手机设备。而且相对应的兼容性测试工具也不相同,WEB因为是测试兼容浏览器,所以需要使用不同的浏览器进行兼容性测试(常见的是兼容IE6,IE8,chrome,firefox)如果是手机端,那么就需要兼容不同品牌,不同分辨率,不同android版本甚至不同操作系统的兼容。(常见的兼容方式是兼容市场占用率前N位的手机即可),有时候也可以使用到兼容性测试工具,但WEB兼容性工具多用IETester等工具,而App兼容性测试会使用Testin这样的商业工具也可以做测试。
  
  安装测试:WEB测试基本上没有客户端层面的安装测试,但是App测试是存在客户端层面的安装测试,那么就具备相关的测试点。
  
  还有,App测试基于手机设备,还有一些手机设备的专项测试。如交叉事件测试,操作类型测试,网络测试(弱网测试,网络切换)
  
  交叉事件测试:就是在操作某个软件的时候,来电话、来短信,电量不足提示等外部事件。
  
  操作类型测试:如横屏测试,手势测试
  
  网络测试:包含弱网和网络切换测试。需要测试弱网所造成的用户体验,重点要考虑回退和刷新是否会造成二次提交。弱网络的模拟,据说可以用360wifi实现设置。
  
  从系统架构的层面,WEB测试只要更新了服务器端,客户端就会同步会更新。而且客户端是可以保证每一个用户的客户端完全一致的。但是APP端是不能够保证完全一致的,除非用户更新客户端。如果是APP下修改了服务器端,意味着客户端用户所使用的核心版本都需要进行回归测试一遍。
  
  还有升级测试:升级测试的提醒机制,升级取消是否会影响原有功能的使用,升级后用户数据是否被清除了。

二 流程篇
2.1 主观篇

1、开发人员说不是bug时,你如何应付?
  答:首先把自己的见解告诉开发人员。在同开发人员沟通到底是不是bug,但是如果开发人员还是认为不是bug的话,就把这个问题提到项目经理处,同时附上自己的见解。由项目经理决定是否为bug。
  
2、给你一个全新的软件,你就是负责人,你怎么去开展测试工作
参考回答:
第一步:需求分析:我会对这个全新的软件需求进行全面分析,主要的分析点有:1.软件的版本需求合理性,是否可测试;2.项目人员配置(遇到什么问题找谁,有多少人投入测试,测试环境,硬件,软件);3.要测试的软件的主流程,异常流程,测试重点;4。项目整体规划(发布时间

  第二步:指定测试策略、测试计划和bug定义标准,这一步主要是针对需求,在已有的和可协调到的资源上做出具体的,可执行的计划,这个阶段的输出是测试计划。测试计划中明确包含测试范围,测试策略,比如功能测试,性能测试,自动化测试,可用性测试,云测,mokey等
  
  第三步:按计划执行,编写测试用例,(编写测试用例的方法:等价类,边界值,错误猜测法,因果图,正交分解法等等)(编写测试用例需要注意的点,用例区分等级,特殊场景考虑:为空(接口空、数据空)、加载超时、网络异常、重复提交、异常中断、缓存冲突、系统兼容、流程迂回、流程中断;如果是PC,要注意浏览器(IE,chrome,火狐,苹果的),操作系统(xp,win7,win8,win10,linux,mac)的兼容,如果是手机,注意手机的品牌,操作系统,android版本,手机屏幕尺寸,手机网络等等场景),写完用例,如果有条件,就要评审测试用例
  
  第四步:执行用例,补充场景,记录bug,回归bug(注意开发提测的需求需要冒烟测试通过)
  
  第五步:功能合入,回归测试(各个功能点测试通过之后,再合入)
  
  第六步:提交验收(回归测试通过之后,提交给验收人员进行验收)
  
  第七步:发布上线(全新的软件,先是小范围内测,观察线上数

3. 面试题:如何测试登录模块

  注册登录在软件测试中是基础,但也会有漏测的情况出现,尤其是对于普通账户密码登录的情况,需要考虑账户密码的长度限制、字符类型、匹配判断等等。
  目前市场上常用的登录方式也有很多,账密登录里又支持邮箱、账号、手机号登录。对于同时支持多种登录方式,测试时除了考虑每种方式是否能够登录成功以外,特别需要考虑不同登录方式的优先级、对于用户习惯登录方式的设置和记忆、各种登录方式之间的切换、不同设备的不同方式登录等等。
  今天我与大家一起对登录方式及测试重点进行梳理,主要关注一些特殊点,以及容易出现漏测的情况。
  下面说一下测试点
  功能测试
  
  输入正确的用户名和密码登录成功
  输入错误的用户名密码登录失败
  用户名正确,密码错误,是否提示输入密码错误?
  用户名错误,密码正常,是否提示输入用户名错误?
  用户名和密码都错误,是否有相应提示?
  用户名密码为空时,是否有相应提示?
  如果用户未注册,提示请先注册,然后进行登录
  已经注销的用户登录失败,提示信息友好?
  密码框是否加密显示?
  用户名是否支持中文、特殊字符?
  用户名是否有长度限制?
  密码是否支持中文,特殊字符?
  密码是否有长度限制?
  密码是否区分大小写?
  密码为一些简单常用字符串时,是否提示修改?如:123456
  密码存储方式?是否加密?
  登录功能是否需要输入验证码?
  验证码有效时间?
  验证码输入错误,登录失败,提示信息是否友好?
  输入过期的验证能否登录成功?
  验证码是否容易识别?
  验证码换一张功能是否可用?点击验证码图片是否可以更换验证码?
  用户体系:比如系统分普通用户、高级用户,不同用户登录系统后可的权限不同。
  如果使用第三方账号(QQ,微博账号)登录,那么第三方账号与本系统的账号体系对应关系如何保存?首次登录需要极权等
  界面测试
  
  布局是否合理、美观,输入框是否对齐
  风格和提示信息用语是否符合语境
  登录页面显示是否正常?文字和图片能否正常显示,相应的提示信息是否正确,按钮的设置和排列是否正常
  页面默认焦点是否定位在用户名的输入框中
  首次登录时相应的输入框是否为空?或者如果有默认文案,当点击输入框时默认方案是否消失?
  相应的按钮如登录、重置等,是否可用;页面的前进、后退、刷新按钮是否可用?
  快捷键Tab,Esc,Enter 等,能否控制使用
  兼容性测试:不同浏览器,不同操作系统,不同分辨率下界面是否正常
  性能测试
  
  单用户登录系统的响应时间是否符合"3-5-8"原则
  用户数在临界点时并发登录是否还能符合"3-5-8"原则
  压力:大量并发用户登录,系统的响应时间是多少?系统会出现宕机、内存泄露、cpu饱和、无法登录吗?
  稳定性: 系统能否处理并发用户数在临界点以内连续登录N个时的场景?
  安全性测试
  
  1.登录成功后生成的Cookie,是否是httponly (否则容易被脚本盗取)
  2.用户名和密码是否通过加密的方式,发送给Web服务器
  3.用户名和密码的验证,应该是前端验证+服务器端验证, 而不能单单是在客户端用javascript验证
  4.用户名和密码的输入框,无SQL 注入攻击风险
  5.用户名和密码的的输入框,不能输入脚本 (防止XSS攻击)
  6.错误登录的次数限制(防止暴力破解)
  7.验证码不能被轻易破解、欺骗
  兼容性测试
  
  1.主流的浏览器下能否显示正常
  2.不同的操作系统是否能正常工作
  3.移动设备上是否正常工作
  4.不同的分辨率
  易用性测试
  
  1.根据场景,考试是否提供记住用户名密码、自动登录的功能
  2.输入账号后,回车登录
  连续输入3次或以上错误密码,用记是否被锁一定时间(如:15分钟)?时间内不允许登录,超出时间点是否可以继续登录。
  其他测试
  
  用户session过期后,重新登录是否还能重新返回这前session过期的页面?
  用户名和密码输入框是事支持键盘快捷键?如:撤销、复制、粘贴等等
  是否允许同名用户同时登录进行操作?考虑web和app同时登录
  手机登录时,是否先判断网络可用?
  手机登录时,是否先判断app存在新版本?
  是否支持单点登录?
  是否有埋点接口

4.支付模块的测试
链接:https://blog.csdn.net/jiangbqing/article/details/61917979
正常流程:
   正常使用支付宝、微信、银行卡(目前使用最多的第三方支付方式)支付(正常金额的支付),功能是否正常。
   异常流程:
   1、支付账号和密码错误,系统如何处理;
   2、余额不足,系统如何处理;
   3、取消支付,系统如何处理;
   4、重复支付,系统如何处理;
   5、微信或支付宝账号未登录时支付,系统如何处理;
   6、手机上没有支付宝APP时选择支付宝支付,系统如何处理;
   7、支付期间突然断网,系统如何处理;
   8、取消支付后再次支付,系统如何处理;
   9、金额上:最小值金额的支付,最大值金额的支付,错误金额的支付(如金额格式的错误、不允许使用的货币等等);

5.搜索功能的测试用例包括哪些?

  功能测试
  
  搜索内容为空,验证系统如何处理
  搜索内容为空格,查看系统如何处理
  边界值验证:在允许的字符串范围内外,验证系统的处理
  超长字符串输入,系统是否会截取允许的长度来检验结果
  合法的字符串长度后,加空格验证检索结果
  多关键字中间加入空格,逗号,tab验证系统的结果是否正确
  验证每种合法的输入,结果是否正确
  是否支持检索内容的复制、粘贴、编辑等操作
  是否支持回车键搜索
  多次输入相同的内容,查看系统的检索结果是否一致
  特殊字符、转义字符、html脚本等需要做处理
  敏感词汇,提示用户无权限等
  输入的内容是否支持快捷键操作等
  只能输入允许的字符串长度等
  输入链接是否正确跳转,
  搜索的历史纪录是否显示在下面
  搜索内容有没有联想功能
  界面测试
  
  查看UI是否显示正确,布局是否合理
  是否有错别字
  搜索结果显示的布局是否美观
  已查看的结果链接,链接的颜色要灰化处理,
  结果数量庞大时,页面的分页布局是否合理
  安全性测试
  
  脚本的禁用
  SQL的注入,检索SQL SELECT语句等
  敏感内容的检索是禁止的
  特殊字符的检索
  被删除、加密、授权的数据,不允许被查出来,是否有安全设计控制
  兼容性测试
  
  多平台Windows,mac
  移动平台android,ios
  多浏览器火狐、chrome、IE等
  性能测试
  
  搜索页面的链接打开速度是否满足设计要求
  搜索出结果消耗时间,是否满足设计要求

三 工具篇
3.1 jmeter
https://blog.csdn.net/u012111923/article/details/80705141
https://blog.csdn.net/sun12141214/article/details/102869119

3.2 selenium
https://blog.csdn.net/sun12141214/article/details/102983080

3.3 fillder

3.4 LR

3.5 TestNG
3.5.1 解释使用TestNG而不是JUnit框架的好处
TestNG相较于Junit的优势:
1)在JUnit中,我们必须声明@BeforeClass和@AfterClass,这是JUnit中的一个约束,而在TestNG中没有像这样的约束。
2)TestNG提供了更多的setUp / tearDown级别。1.@ Before/AfterSuite 2.@Before/AfterTest 3.@Before/AfterGroup
3)TestNG中不需要扩展任何类。
4)TestNG中没有方法名称约束,就像JUnit一样。
5)在TestNG中,我们可以告诉测试一个方法依赖于另一个方法,而在JUnit中这是不可能的。
6)测试用例的分组在TestNG中可用,而JUnit中则不可用。执行可以基于组完成。例如,如果你已经定义了许多案例,并通过将2个组分别定义为“离职“与”回归”隔离。如果你只是想执行“理智”的情况,那就告诉TestNG执行“理智”。TestNG将自动执行属于“离职”组的案例。
7)另外,TestNG支持并行测试用例执行。

3.5.2 可以使用TestNG运行一组测试用例吗?
是的,TestNG框架支持在测试组的帮助下执行多个测试用例。
它提供了以下选项来运行特定组中的测试用例。
如果想基于回归测试或冒烟测试等其中一个组来执行测试用例,那么:
@Test(groups = {“regression-tests”, “smoke-tests”})

3.5.3 关于自动化测试报告生成?
TestNG原生就可以生成测试报告,也有第三方叫reportNG的插件

3.5.4 怎么提高用例执行速度
TestNG配置并行执行
parallel=“methods” thread-count=“3”
parallel:指定并行执行方式(是否多线程并发运行测试;可选值(false | methods | tests | classes | instances),默认 “false”)
thread-count:并行的值(并发执行时的线程池数量,默认为"5

3.5.5 web自动化测试报告怎么输出的
用TestNG生成报告,由于Testng生成的测试报告不够直观,可以使用reportng来生成
方法:
1)配置reportng依赖和监听
2)在Window–>Preferences中设置
(1)禁用默认监听器
(2)设置监听器:org.uncommons.reportng.HTMLReporter
3)xml文件配置使用的reportng方法

//testng的XML配置文件中添加这些内容



4)Html下的index.html 就是reportNg 生成的报告,另外TestNG-xslt也可以,但是没有用过

TestNG xml参数文件详解
testng.xml文件节点属性说明:

suite属性说明:
@name: suite的名称,必须参数    
@junit:是否以Junit模式运行,可选值(true | false),默认"false"
@verbose:命令行信息打印等级,不会影响测试报告输出内容;可选值(1|2|3|4|5) 
@parallel:是否多线程并发运行测试;可选值(false | methods | tests | classes | instances),默认 "false"
@thread-count:当为并发执行时的线程池数量,默认为"5"
@configfailurepolicy:一旦Before/After Class/Methods这些方法失败后,是继续执行测试还是跳过测试;可选值 (skip | continue),默认"skip"
@annotations:获取注解的位置,如果为"javadoc", 则使用javadoc注解,否则使用jdk注解
@time-out:为具体执行单元设定一个超时时间,具体参照parallel的执行单元设置;单位为毫秒
@skipfailedinvocationcounts:是否跳过失败的调用,可选值(true | false),默认"false"
@data-provider-thread-count:并发执行时data-provider的线程池数量,默认为"10"
@object-factory:一个实现IObjectFactory接口的类,用来实例测试对象
@allow-return-values:是否允许返回函数值,可选值(true | false),默认"false"
@preserve-order:顺序执行开关,可选值(true | false) "true"
@group-by-instances:是否按实例分组,可选值(true | false) "false"

test属性说明:
@name:test的名字,必选参数;测试报告中会有体现
@junit:是否以Junit模式运行,可选值(true | false),默认"false"
@verbose:命令行信息打印等级,不会影响测试报告输出内容;可选值(1|2|3|4|5) 
@parallel:是否多线程并发运行测试;可选值(false | methods | tests | classes | instances),默认 "false"
@thread-count:当为并发执行时的线程池数量,默认为"5"
@annotations:获取注解的位置,如果为"javadoc", 则使用javadoc注解,否则使用jdk5注解
@time-out:为具体执行单元设定一个超时时间,具体参照parallel的执行单元设置;单位为毫秒
@enabled:设置当前test是否生效,可选值(true | false),默认"true" 
@skipfailedinvocationcounts:是否跳过失败的调用,可选值(true | false),默认"false"
@preserve-order:顺序执行开关,可选值(true | false) "true"
@group-by-instances:是否按实例分组,可选值(true | false) "false"
@allow-return-values:是否允许返回函数值,可选值(true | false),默认"false"

四 开发基础篇
java基础
1、equals与==的区别

使用==比较原生类型如:boolean、int、char等等,使用equals()比较对象。
1)==是判断两个变量或实例是不是指向同一个内存空间。 equals是判断两个变量或实例所指向的内存空间的值是不是相同。
2)==是指对内存地址进行比较。 equals()是对字符串的内容进行比较。
3)==指引用是否相同。 equals()指的是值是否相同

2、成员变量与局部变量的区别有那些?
① 成员变量是输入类的,局部变量是在方法中定义的变量或是方法的参数
② 成员变量可以被public等修饰,局部变量不行
③ 成员变量是属于对象的一部分,对象存在于堆内存中;局部变量存在于栈内存中
④ 成员变量值声明不赋值的话,会自动以类型的默认值赋值;局部变量不会自动赋值;
⑤ 成员变量随着对象的创建而存在;局部变量随着方法的调用也消失

3、.讲讲对static的理解?
静态变量:
① 一个类只有一份被类的所有实例共享
② 能在没有生成任何类的实例时就被访问到
③ 直接使用类名来访问
静态方法:
① 可以在没有任何实例时调用
② 不能在static方法内部访问非static成员
③ 不能被重写

4、抽象类和interface的区别
① 抽象类可以有构造方法,接口中不能有构造方法
② 抽象类中可以有普通成员变量,接口中没有普通成员变量
③ 抽象类中可以包含非抽象普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的方法。
④ 一个类可以实现多个接口,用逗号隔开,但只能继承一个抽象类,接口不可以实现接口,但可以继承接口,并且可以继承多个接口,用逗号隔开。
⑤ 抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问权限可以是任意的,但接口中定义的变量只能是 public static final 类型的,并且默认即为 public static final 类型

5、Java支持多继承么?如果不支持,如何实现?
不支持,Java不支持多继承。每个类都只能继承一个类,实现多继承有两种方式,一是接口,而是内部类

6、构造器(constructor)是否可被重写(override)?
构造方法是不能被子类重写的,但是构造方法可以重载
简单的讲,就是说一个类可以有多个构造方法。

7、Array和ArrayList有什么区别?
可以将 ArrayList想象成一种“会自动扩增容量的Array”。
① Array类型的变量在声明的同时必须进行实例化(至少得初始化数组的大小),而ArrayList可以只是先声明
② Array对象的初始化必须只定指定大小,且创建后的数组大小是固定的,ArrayList的大小可以动态指定,其大小可以在初始化时指定,也可以不指定,也就是说该对象的空间可以任意增加

9、简述Java中实现多态的机制是什么?
答:重载(overloading)、重写(overriding)
1.重载(overloading):是一个类中多态的表现,比如一个类中定义多个同名的方法,但它们具有不同的参数或不同参数类型都称之为重载。
2.重写(overriding):子类定义一个方法和父类的方法名称参数都相同,那么父类的方法被重写。

10、.简述java中super()和this()、super和this的区别?
答:①.super()和this()区别:
super():调用父类无形参的构造方法;
super(形参):调用父类中某个带形参的构造方法;
this(形参):调用本类中另一种形式的构造方法
注意:放在方法的首行;
② .super和this的区别:
super.父类的成员变量;
super.父类的方法;
super:当子类中的成员变量、方法和父类的相同时,实现调用父类的成员变量和方法;
this:代表当前的对象;
使用的地方:若函数的形参和成员变量同名时,需要用this.成员变量名

11、Java中有哪些基本数据类型?String是基本数据类型吗?String类是否能够继承?
答:
①.java定义了4中类8种基本类型:
整型:byte、short、int、long
浮点型:float、double
布尔型: boolean
字符型: char
②.String不是基本数据类型,String属于引用类型。
③.String类是一个final类,因此不能被继承。

12、.Integer和int的区别?
答:Integer是一个封装int类型的封装类,默认值为null,int是Java中8中数据类型之一,默认值为0.

13、String s=new String(“xyz”)创建了几个对象?
答:创建2个String对象,
首先,根据我们实例bean对象过程知道,String s仅是声明了一个类对象的引用变量,s并不是一个对象,类的对象是通过 new来创建的。
所以,String s …中s并不是一个对象,而是一个string类型的引用变量。
另外, 对于string字符串来讲,字符串文字本身是一个对象,如 “xyz”,则 xyz就是一个对象。

14、Java中堆和栈有什么不同?
每个线程都有自己的栈内存,用于存储本地变量,方法参数和栈调用,一个线程中存储的变量对其它线程是不可见的。而堆是所有线程共享的一片公用内存区域。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、什么是兼容性测试?兼容性测试侧重哪些方面? 5 2、我现在有个程序,发现在Windows上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题? 5 3、测试的策略有哪些? 5 4、正交表测试用例设计方法的特点是什么? 5 5、描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程? 5 6、你觉得bugzilla在使用的过程中,有什么问题? 5 7、描述测试用例设计的完整过程? 6 8、单元测试的策略有哪些? 6 9、LoadRunner分哪三部分? 6 10、LoadRunner进行测试的流程? 6 什么是并发?在lordrunner中,如何进行并发的测试?集合点失败了会怎么样? 6 12、使用QTP做功能测试,录制脚本的时候,要验证多个用户的登录情况/查询情况,如何操作? 6 13、QTP中的Action有什么作用?有几种? 6 14、TestDirector有些什么功能,如何对软件测试过程进行管理? 7 15、你所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……)? 7 16、条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录? 8 17、Beta测试与Alpha测试有什么区别? 8 18、软件的评审一般由哪些人参加?其目的是什么? 8 19、测试活动中,如果发现需求文档不完善或者不准确,怎么处理? 8 20、阶段评审与项目评审有什么区别? 8 21、阐述工作版本的定义? 8 22、什么是桩模块?什么是驱动模块? 8 23、什么是扇入?什么是扇出? 8 24、你认为做好测试计划工作的关键是什么? 8 25、你认为做好测试用例工作的关键是什么? 9 26、简述一下缺陷的生命周期? 9 27、软件的安全性应从哪几个方面去测试? 9 28、软件配置管理工作开展的情况和认识? 9 29、你觉得软件测试通过的标准应该是什么样的? 10 30、引入测试管理的含义? 10 31、一套完整的测试应该由哪些阶段组成? 10 32、单元测试的主要内容? 10 33、集成测试也叫组装测试或者联合测试,请简述集成测试的主要内容? 10 34、简述集成测试与系统测试关系? 10 35、软件测试的文档测试应当贯穿于软件生命周期的全过程,其中用户文档是文档测试的重点。那么软件系统的用户文档包括哪些? 10 36、软件系统中除用户文档之外,文档测试还应该关注哪些文档? 10 37、简述软件系统中用户文档的测试要点? 11 38、单元测试主要内容是什么? 11 39、如何理解强度测试? 13 40、如何理解压力、负载、性能测试测试? 13 41、什么是系统瓶颈? 13 42、文档测试主要包含什么内容? 13 43、功能测试用例需要详细到什么程度才是合格的? 14 44、配置和兼容性测试的区别是什么? 14 45、软件文档测试主要包含什么? 15 46、没有产品说明书和需求文档地情况下能够进行黑盒测试吗? 15 47、测试中的“杀虫剂怪事”是指什么? 15 48、在配置测试中,如何判断发现的缺陷是普通问题还是特定的配置问题? 15 49、为什么尽量不要让时间有富裕的员工去做一些测试? 16 50、完全测试程序是可能的吗? 16 51、软件测试的风险主要体现在哪里? 16 52、发现的缺陷越多,说明软件缺陷越多吗? 16 53、所有的软件缺陷都能修复吗?所有的软件缺陷都要修复吗? 17 54、软件测试人员就是QA吗? 17 55、如何减少测试人员跳槽带来的损失? 17 56、测试产品与测试项目的区别是什么? 17 57、和用户共同测试(UAT测试)的注意点有哪些? 18 58、如何编写提交给用户的测试报告? 18 59、测试工具在测试工作中是什么地位? 18 60、什么是软件测试软件测试的目的? 18 61、简述负载测试与压力测试的区别。 19 62、写出bug报告流转的步骤,每步的责任人及主要完成的工作。 19 63、写出bug报告当中一些必备的内容。 19 64、开发人员老是犯一些低级错误怎么解决? 20 65、画出软件测试的V模型图。 20 66、为什么要在一个团队中开展软件测试工作? 20 67、您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作? 20 68、您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……) 20 69、您认为做好测试用例设计工作的关键是什么? 21 70、请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。 21 71、测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要的? 22 72、您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。 22 73、请以您以往的实际工作为例,详细的描述一次测试用例设计的完整的过程。 23 74、您以往是否曾经从事过性能测试工作?如果有,请尽可能的详细描述您以往的性能测试工作的完整过程。 23 75、你对测试最大的兴趣在哪里?为什么? 23 76、你以前工作时的测试流程是什么? 24 77、当开发人员说不是BUG时,你如何应付? 24 78、软件的构造号与版本号之间的区别?BVT(BuildVerificationTest) 24 79、您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录? 25 80、您以往所从事的软件测试工作中,是否使用了一些工具来进行软件缺陷(Bug)的管理?如果有,请结合该工具描述软件缺陷(Bug)跟踪管理的流程。 25 81、您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么? 25 82、单元测试、集成测试、系统测试的侧重点是什么? 25 83、集成测试通常都有那些策略? 25 84、一个缺陷测试报告的组成 25 85、基于WEB信息管理系统测试时应考虑的因素有哪些? 25 86、软件测试项目从什么时候开始,?为什么? 26 87、需求测试注意事项有哪些? 26 88、简述一下缺陷的生命周期 26 89、你在你所在的公司是怎么开展测试工作的?是如何组织的? 26 90、你认为理想的测试流程是什么样子? 26 91、您在从事性能测试工作时,是否使用过一些测试工具?如果有,请试述该工具的工作原理,并以一个具体的工作中的例子描述该工具是如何在实际工作中应用的。 26 92、软件测试活动的生命周期是什么? 26 93、请画出软件测试活动的流程图? 26 94、针对缺陷采取怎样管理措施? 26 95、什么是测试评估?测试评估的范围是什么? 26 96、如果能够执行完美的黑盒测试,还需要进行白盒测试吗?为什么? 26 97、测试结束的标准是什么? 26 98、软件验收测试除了alpha ,beta测试以外,还有哪一种? 26 99、做测试多久了?以前做过哪些项目?你们以前测试的流程是怎样的?用过哪些测试工具? 27 100、请就如何在开发中进行软件质量控制说说你的看法 27 101、一套完整的测试应该由哪些阶段组成?分别阐述一下各个阶段。 27 102、软件测试的类型有那些?分别比较这些不同的测试类型的区别与联系。 27 103、测试用例通常包括那些内容?着重阐述编制测试用例的具体做法 27 104、在分别测试winform的C/S结构与测试WEB结构的软件是,应该采取什么样的方法分别测试?他们存在什么样的区别与联系? 27 105、在测试winform的C/S结构软件时,发现这个软件的运行速度很慢,您会认为是什么原因?您会采取哪些方法去检查这个原因? 27 106、描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程 27 107、你都用什么测试方法 针对不同的产品或者系统或者模块,有不同的测试方法。总体而言有白盒测试和黑盒测试。 27 108、怎么编写案例 案例的编写与测试阶段的定义有很大的关系。系统测试和unit测试的案例可能不同。总体而言测试案例根据系统的需求而定。 27 109、怎么才能够全面的测试到每一个点 测试的全面性主要需要在设计测试计划的时候考虑,从测试策略,产品需求等等多个角度考虑从而定义全部的测试点。 27 110、谈谈软件测试技术,以及如何提高 27 111、谈谈软件测试职业发展,以及个人的打算 27 112、谈谈软件测试在企业的地位,也可以结合软件生命周期来谈 27 113、一般公司里实际的软件测试流程是什么样的?你们公司又是怎样的? 27 114、软件工程师要具有那些素质? 27 115、你会哪些测试工具?怎么操作? 27 116、你能不能说下你的3到5年的职业计划(规划) 27 117、你觉得你来应聘有那些优势? 27 其他问题:(有可能清晰的思路比确切的答案更重要) 27 开发及环境搭建类面试题 28 1、描述软件产生内存泄露的原因以及检查方式。(可以结合一种开发语言进行描述) 28 2、简述什么是值传递,什么是地址传递,两者区别是什么? 28 3、结构化程序设计和面向对象程序设计各自的特点及优缺点是什么? 28 4、简述什么是存储过程和触发器? 28 5、使用C语言编写一个函数,用于交换两个变量的值(地址传递)。 29 6、请简述DNS、活动目录、域的概念。 29 7、描述TCP/IP协议的层次结构,以及每一层中重要协议。 29 8、简述子网掩码的用途。 29 9、说出4种以上常用的操作系统及其主要的应用范围(微软的操作系统除外)。 29 10、在Linux系统中,一个文件的访问权限是755,其含义是什么? 29 11、Windows操作系统中PATH环境变量的作用是什么? 30 12、Ghost的主要用途和常用方法? 30 13、在RedHat中,从root用户切到userl用户,一般用什么命令? 30 14、Linux中,一般怎么隐藏文件? 30 15、如何将自己的本地磁盘(D)做成FTP供远端主机使用? 30 16、对RUP.CMM,CMMI,XP,PSP.TSP的认识? 30 17、DNS是什么,它是如何工作的? 31 18、防火墙如何保证安全的?主要有哪些? 31 19、目前流行的操作的系统有哪些?请举例说明安装操作系统的注意事项? 33 20、简述一下c/s模式或者b/s模式? 33 21、TCP/UDP有哪些区别? 34 22、ISO模型?HUB、tch、Router是ISO的第几层设备? 34 23、内存有哪几种存储组织结构.请分别加以说明? 34 人力资源面试题 34 1、你的测试职业发展是什么?你自认为做测试的优势在哪里? 34 2、你为什么想离开目前的职务? 34 3、你对我们公司了解有多少? 34 4、你找工作时,最重要的考虑因素为何? 34 5、为什么我们应该录取你? 34 6、请谈谈你个人的最大特色。 34 7、一个测试工程师应具备那些素质和技能? 35 8、您认为在测试人员同开发人员的沟通过程中,如何提高沟通的效率和改善沟通的效果?维持测试人员同开发团队中其他成员良好的人际关系的关键是什么? 35 9、在您以往的测试工作中,最让您感到不满意或者不堪回首的事情是什么?您是如何来对待这些事情的? 35 10、在即将完成这次笔试前,您是否愿意谈一些自己在以往的学习和工作中获得的工作经验和心得体会?(可以包括软件测试、过程改进、软件开发或者与此无关的其他方面) 35 11、为什么选择测试这行? 35 12、你的工作通常能在时限内完成吗.(我想问一下就是她问这个问题的动机是什么) 35 13、通常你对于别人批评你会有什么样的反应 35 14、如果明知这样做不对,你还会依主管的指过去做吗? 35 15、如果你接到一个客户抱怨的电话,你确知无法解决他的问题,你会怎么处理? 35 16、请就软件测试人员应该具备什么样的基本素质说说你的看法。 36 17、你在五年内的个人目标和职业目标分别是什么? 36 18、你怎样做出自己的职业选择? 36
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值