测试知识——测试开发基本面试知识

1.对测试开发的理解

测试开发首先离不开测试,而软件测试是指,在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

而且,现在不仅仅是通过手工测试来发现定位Bug,也会通过编写脚本、测试工具来完成自动化测试,因此,对于测试开发人员来说,他除了保证产品质量之外,还要编写脚本以及开发测试工具。这就是我对测试开发的一点理解。

2.为什么做测试而不是去做开发

首先,在近几年,国内对软件测试越来越重视,测试的前景是非常好的。

其次,测试在一个项目开发的过程中是非常重要的一环。开发人员很难在开发的时候又要全面兼顾产品的质量,测试人员就是项目内部的最后把关者,最大程度的保证项目上线不会出现问题。责任非常大,责任越大成就感就越大。我很喜欢这样的工作。

在网上看到一句话,说:写程序的人就像在造没有护栏的桥,自己去走那肯定安全无虞,那怕摸黑也不至于掉河里去;测试则像给桥修护栏的,让桥的普通使用者也能像开发那样来去自如。从这一点上说,可以体现出测试的重要性。

3.如何处理矛盾

我觉得做测试和程序员发生冲突是难免的,人与人之间在一起生活,难免会发生冲突。发生冲突不能用争吵解决,要坦诚相待,心平气和地与对方沟通,善于倾听对方的观点,并理解对方,然后向对方阐述自己的观点。。如果还是产生差异,我会请示上级。

4.职业发展

对于这一行来说,经验越多,能力就越高。前几年先积累经验,不断地更新自己、改正自己,然后一步一步朝着高级测试开发工程师走去。

5.你认为测试人员需要具备哪些素质。(你有哪些优点围绕这些来说)

良好的测试基础理论;首先要有一定的沟通协调能力,因为测试人员经常会与开发人员接触处理一些问题,需要心平气和地沟通。还需要有一定的耐心,不能放过每一个错误;要有责任感,要尽自己最大的能力,保证产品的质量。要有好奇心,保持一种怀疑的态度,测试人员的任务是找出缺陷,不是证明没有缺陷,所以需要保持怀疑。要细心;乐观;

6.你为什么能够胜任这个岗位

因为之前的实习是开发,接触的测试比较少,所以我的测试技术不是很成熟,但是开发能力得到了锻炼,而且是我相信自己的学习能力,可以快速上手,在入职之前会多学学,能更快的适应岗位。而且我还有良好的沟通能力,很有耐心,有责任感,我觉得这在测试中也是很重要的一些素质。

7.测试方法

测试用例是一组测试输入、执行条件和预期结果的集合。

软件测试一般分为黑盒测试和白盒测试。

黑盒测试

黑盒测试(black-box testing),测试应用程序的功能,而不是其内部结构或运作,将内部结构看成一个黑盒子。测试者只需知道什么是系统应该做的事,即当键入一个特定的输入,可得到一定的输出。测试者选择有效输入和无效输入来验证是否正确的输出。比如一个功能实现的测试。

此测试方法可适合大部分的软件测试,例如集成测试(integration testing)以及系统测试(system testing)。

黑盒测试主要设计方法:边界值分析法,等价类划分法、因果图法,错误推测法、流程分析法等

优点:容易实施,不需要关注内部实现;贴近用户需求。

缺点:覆盖率比较低,因为不知道内部逻辑

白盒测试

白盒测试,测试应用程序的内部结构或运作,而不是测试应用程序的功能(即黑箱测试)。在白盒测试时,以编程语言的角度来设计测试案例。测试者输入数据验证数据流在程序中的流动路径,并确定适当的输出,类似测试电路中的节点。

白箱测试可以应用于单元测试(unit testing)、集成测试(integration testing)和系统的软件测试流程,可测试在集成过程中每一单元之间的路径,或者主系统跟子系统中的测试。尽管这种测试的方法可以发现许多的错误或问题,它可能无法检测未使用部分的规范。

优点:可以检测代码的每条分支和路径;可以揭示隐藏在代码中的错误;对代码的测试比较彻底。

缺点:耗费比较大;不能检测到代码中遗漏的逻辑;不能直接验证需求的正确性

主要测试方法:代码检测法,逻辑覆盖法,基本路径测试法,静态结构分析法等;

8.测试的阶段

测试应该尽早进行。越早就可以花越少的消耗得到越大的回报。

单元测试(如J unit)

单元测试是对软件组成单元进行测试,其目的是检验软件基本组成单位的正确性,测试的对象是软件设计的最小单位:函数、或者类。

项目中的测试类就是测试接口类的,属于单元测试,一般由开发人员测试。

集成测试

集成测试也称综合测试、组装测试、联合测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。其主要目的是检查软件单位之间的接口是否正确,集成测试的对象是已经经过单元测试的模块。

系统测试

系统测试是对整个系统的测试,将硬件、软件、操作人员看作一个整体,检验它是否有不符合系统说明书的地方,主要包括功能测试、界面测试、可靠性测试、易用性测试、性能测试。 功能测试主要针对包括功能可用性、功能实现程度(功能流程&业务流程、数据处理&业务数据处理)方面测试。在集成测试之后。

验收测试 
也称交付测试,是针对用户需求、业务流程进行的正式的测试,以确定系统是否满足验收标准,由用户、客户或其他授权机构决定是否接受系统。

验收测试包括alpha测试和beta测试,alpha测试是由开发者进行的软件测试,beta测试是由用户在脱离开发环境下进行的软件测试。

单元测试(Unit Testing)

单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位:模块。Findyou又称为模块测试

测试阶段:编码后

测试对象:最小模块

测试人员:白盒测试工程师或开发工程师

测试依据:代码和注释+详细设计文档

测试方法:白盒测试

测试内容:模块接口测试、局部数据结构测试、路径测试、错误处理测试、边界测试

 

√ 集成测试(Integration Testing)

集成测试也称联合测试、组装测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。阿旺主要目的是检查软件单位之间的接口是否正确。

测试阶段:一般单元测试之后进行

测试对象:模块间的接口

测试人员:白盒测试工程师或开发工程师

测试依据:单元测试的模块+概要设计文档

测试方法:黑盒测试与白盒测试相结合

测试内容:模块之间数据传输、模块之间功能冲突、模块组装功能正确性、全局数据结构、单模块缺陷对系统的影响

 

√ 系统测试(System Testing)

将软件系统看成是一个系统的测试。包括对功能、性能以及软件所运行的软硬件环境进行测试。时间大部分在系统测试执行阶段

测试阶段:集成测试通过之后

测试对象:整个系统(软、硬件)

测试人员:黑盒测试工程师

测试依据:需求规格说明文档

测试方法:黑盒测试

测试内容:功能、界面、可靠性、易用性、性能、兼容性、安全性等

 

√ 验收测试(Acceptance Testing)

验收测试是部署软件之前的最后一个测试操作。它是技术测试的最后一个阶段,也称为交付测试。阿旺总结验收测试的目的是确保软件准备就绪,按照项目合同、任务书、双方约定的验收依据文档,向软件购买都展示该软件系统满足原始需求。

测试阶段:系统测试通过之后

测试对象:整个系统(包括软硬件)。

测试人员:主要是最终用户或者需求方。

测试依据:用户需求、验收标准

测试方法:黑盒测试

测试内容:同系统测试(功能...各类文档等)

集成测试和系统测试之间的比较: 
1、测试内容:集成测试是测试各个单元模块之间的接口,系统测试是测试整个系统的功能和性能; 
2、测试角度:集成测试偏重于技术的角度进行测试,系统测试是偏重于业务的角度进行测试。

9.测试的类型

功能测试:关注功能正常(包含兼容性测试),除了下面分类都测;
性能测试:关注(比如前端性能、后端性能);
安全测试:关注传输、存储等安全;
特性测试:特性指平台差异(即部分兼容性测试),如PC端鼠标,键盘操作特性(Tab键等);如手机触屏操作,横竖屏,中断恢复(来电)等
 
对个人很适用,喜欢 转自:https://www.cnblogs.com/xiaolovewei/p/9516989.html
爱生活,更爱给我带来生活的人
原文地址:https://www.cnblogs.com/chenyq/p/12213685.html