以下面试题为个人在面试过程中所遇到的,仅供参考!如有错误,望指出。
1.软件测试方法有哪些分类?各有什么特点?
1)白盒、黑盒、灰盒
2)单元测试、集成测试、系统测试、验收测试、回归测试、Alpha 测试、Beta 测试
3)静态测试和动态测试
2.设计测试用例的主要方法有哪些?
1)等价类划分
2)边界值分析法
3)因果图法
4)场景法
3.系统测试是什么?需要考虑哪些方面?
1)系统测试是将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试,其目的是通过与系统的需求相比较,发现所开发的系统与用户需求不符或矛盾的地方,从而提出更加完善的方案.。
2)它的的任务是尽可能彻底地检查出程序中的错误,提高软件系统的可靠性,其目的是检验系统"做得怎样?"。这阶段又可分为三个步骤:模块测试,测试每个模块的程序是否有错误;组装测试,测试模块之间的接口是否正确;确认测试,测试整个软件系统是否满足用户功能和性能的要求。该阶段结束应交付测试报告,说明测试数据的选择,测试用例以及测试结果是否符合预期结果。
3)测试发现问题之后要经过调试找出错误原因和位置,然后进行改正。是基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件。
4)系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不相符合或与之矛盾的地方。
系统测试的对象不仅仅包括需要测试的产品系统的软件,还要包含软件所依赖的硬件、外设甚至包括某些数据、某些支持软件及其接口等。因此,必须将系统中的软件与各种依赖的资源结合起来,在系统实际运行环境下来进行测试
4.怎样才能成为一个合格的软件测试工程师?
1)计算机专业技能
2)测试专业技能
3)软件编程技能
4)网络、操作系统、数据库、中间件等知识
5)较强的责任心,对待测试工作要有不厌其烦的态度,与需求人员、研发人员多交流多沟通
5.您是否了解以往所工作的企业的软件测试过程?如果了解,请试述在这个过程中都有哪些工作要做?分别由哪些不同的角色来完成这些工作?
测试计划->测试设计(测试用例,测试数据)->测试执行(单元测试,集成测试,系统测试,回归测试)
6.请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。
黑盒/白盒:主要区别在是否了解系统或程序的内部结构和代码
单元测试:关注某一个单元,函数,模块的正确性,一般需要编写相关测试代码。
集成测试:模块或模块直接的集成接口测试,单个模块测试
系统测试:一个完整功能的完全测试。
7.测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要的?
提前安排出测试工具选择,测试类型选择,人员需求,保证和项目开发协调一致,保证测试工作顺利进行。
08.您认为做好测试用例设计工作的关键是什么?
对业务和软件需求非常清楚,可以根据需求不同选择不同的测试用例设计
09.您以往的工作中是否曾开展过测试用例的评审工作?如果有,请描述测试用例评审的过程和评审的内容。
评审计划->预审->评审;
评审内容主要是测试用例对软件需求的覆盖程度,对于相关边界是否考虑,是否针对复杂流程准备多套测试数据,是否有专门针对非功能性需求的测试。
10.您以往是否曾经从事过性能测试工作?如果有,请尽可能的详细描述您以往的性能测试工作的完整过程。
制订计划->选择测试功能->选择测试工具->录制脚本->运行测试->分析结果
11.您在从事性能测试工作时,是否使用过一些测试工具?如果有,请试述该工具的工作原理,并以一个具体的工作中的例子描述该工具是如何在实际工作中应用的。
微软WAS,LoadRunner
12.您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么?
关键是测试脚本的录制,测试时候测试环境的干净。
13.在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?
缺陷名词/描述/缺陷等级/严重程度/发现模块/发现步骤和过程/是否可以重现
14.您以往所从事的软件测试工作中,是否使用了一些工具来进行软件缺陷(Bug)的管理?如果有,请结合该工具描述软件缺陷(Bug)跟踪管理的流程。
CQ,也可以使用BugFree等免费工具。
15.您如何看待软件过程改进?在您曾经工作过的企业中,是否有一些需要改进的东西呢?您期望的理想的测试人员的工作环境是怎样的?
将先进的经验或思想固化到过程中,通过过程改进和能力提高来改进软件质量。
测试技术面试题
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、描述测试用例设计的完整过程?
需求分析 + 需求变更的维护工作;
根据需求 得出测试需求;
设计测试方案,评审测试方案;
方案评审通过后,设计测试用例,再对测试用例进行评审;
7、单元测试的策略有哪些?
逻辑覆盖、循环覆盖、同行评审、桌前检查、代码走查、代码评审、景泰数据流分析
8、什么是并发?在lordrunner中,如何进行并发的测试?集合点失败了会怎么样?
在同一时间点,支持多个不同的操作。
LoadRunner中提供IP伪装,集合点,配合虚拟用户的设计,以及在多台电脑上设置,可以比较好的模拟真