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、测试角度:集成测试偏重于技术的角度进行测试,系统测试是偏重于业务的角度进行测试。