以下是一次典型的软件测试电话面试分享,答案仅为个人看法,非标准答案。希望对正在找软件测试工作的同学有所帮帮助。
1、自我介绍
我叫XXX,毕业于XX大学计算机科学与技术专业。毕业后进入XX公司做了X年的软件测试工作,主要从事XXX项目功能及性能测试的工作,熟悉TD/QTP/LoadRunner/SqlSever等,注重团队合作,工作认真负责,有强烈的责任心,喜欢专研新技术;同时带领过XX项目的管理工作,熟悉项目管理流程...
有些公司可能还需要准备一份英文的自我介绍。
2、测试流程
就说说最近的这次xxxx网站功能的测试流程。
首先:得到相关文档(需求文档和设计文档),理解需求和设计思想后,制定测试计划(需评审),拟定测试策略(需评审),需要考虑到测试环境,测试时间,测试风险等
第二步:设计测试用例,测试策略是:先完成网站部分的功能点测试,然后再进行系统测试(包括与其他模块的联调测试)。进行测试用例的设计时,需要覆盖到各种正常、异常处理情况。同时还包括界面测试、浏览器兼容性测试,易用测试及性能测试等。
第三步:搭建测试环境,执行测试,记录测试缺陷
第四步:进行测试缺陷分析,完成测试报告编写
3、LoadRunner 如何优化脚本
● 参数化(模拟真实的用户选择)
● 手动关联(服务器返回的信息,例如sessionid,key的值等)
● 添加相应事务的集合点(主要是用于控制并发情况)与检查点(主要用于检查文字是否正确和图片是否正常显示)
4、说一说工作中发现有价值的bug
拿xxx来说发现登录模块中,出现登录延时现象,服务器响应很慢,通过多次测试在分析与确认以及和开发人员的沟通发现是login的**有问题。
拿xxx来说,用于导航的树型菜单,加载数据延时,通过反复测试与确认,和开发人员沟通发现是算法和当初的设计加载数据导致的。
5、Bug管理流程
● 发现Bug,使用缺陷管理工具提交到Bug管理库,此时状态时New
● 测试TM审核缺陷,如果确认是问题,再分配给对应的开发人员,设置状态是Open
● 如果不是错误,则拒绝,设置为Declined(拒绝)状态
● 开发人员查询状态为Open的Bug,如果不是错误,则置状态为Declined;如果是Bug则修复并置状态为Fixed;不能解决的Bug,要留下文字说明及保持Bug为Open状态;对于不能解决和延期解决的Bug,不能由开发人员自己决定,一般要通过某种会议(评审会)通过才能认可
● 测试人员查询状态为Fixed的Bug,然后验证Bug是否已解决,如解决置Bug的状态为Closed,如没有解决置状态为Reopen
6、软件错误流程管理要点
● 为了保证错误的正确性,需要有丰富测试经验的测试人员验证发现的错误是否是真正的错误,书写的测试步骤是否准确,可以重复。
● 每次对错误的处理都要保留处理信息,包括处理姓名,时间,处理方法,处理意见,Bug状态。
● 拒绝或延期错误不能由程序员单方面决定,应该由项目经理,测试经理和设计经理共同决定。
● 错误修复后必须由报告错误的测试人员验证后,确认已经修复,才能关闭错误。
● 加强测试人员与程序员的交流,对于某些不能重复的错误,可以请测试人员补充详细的测试步骤和方法,以及必要的测试用例
7、谈谈个人软件测试职业发展计划
个人认为测试经验越多,测试能力越高。所以我的职业发展是需要时间累积的,一步一步向测试经理目标靠近。而且我也有初步的职业规划,前3年累积测试经验,不断的更新自己改正自己,做好测试任务,扩展更多的技术。做一个全面的测试人员,我希望能够在一个好的职位上待几年,而且最好有一次晋升,然后就期待着下一步。不管是向上提升,还是在企业内横向调动,对我个人来说,我希望找到一家企业,一家愿意做相互投入的企业。
8、你有哪些优点?
我的学习能力和适应环境的能力很强,和同事们的关系处理的非常融洽,工作中很细心,投入,一旦下定决心做某事,我就要把它做好。熟话说的好:细节决定成败,我觉得这句话在测试当中相当实用,往往是一个不起眼的小问题,引起了Bug.
9、你有哪些缺点?
我这人比较执着,认定的事情就不会放弃。在家的时候老妈也经常说我蛮固执的,在就是个性子有点急,分配给我的工作,我总想赶在第一时间尽快做好。
10、有没有意向去外地工作?
我一直以来都比较独立,不喜欢依赖于人,年轻人也需要多在外地多闯一闯。至于去哪里工作,我服从公司的调度和安排。
11、对于加班有什么看法?
有句话说的好加班是合理的,不加班也是合理,除特殊情况外,我都服从工作上的安排。
12、对自己的评价?
对于工作我比较有责任心和耐心,具备良好的职业素养。对于生活充满信心和爱心,怀着一颗感恩的心,努力做好每一件事情。
13、您所熟悉的测试用例设计方法都有哪些?
● 等价类划分
● 边界值分析法
● 错误推测法:基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法
● 因果图方法:输入条件之间的联系和相互组合情况,生成判定表。从而设计测试用例
● 比较法:比较每个版本 主要用于后期的用例
● 业务流程图分析和状态转换分析/业务逻辑分析
14、通过画因果图来写测试用例的步骤为:
● 分析软件规格说明描述中,哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。
● 分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的是什么关系?根据这些关系,画出因果图。
● 由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号标明约束或限制条件。
● 把因果图转换成判定表。
● 把判定表的每一列拿出来作为依据,设计测试用例。
15、您认为做好测试用例设计工作的关键是什么?
● 白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果
● 黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题
16、什么是安全性测试?
全测试是在IT软件产品的生命周期中,特别是产品开发基本完成到发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程 。
● 用户认证安全
● 系统网络安全
● 数据库安全
17、什么是集成测试?
在单元测试的基础上,将所有模块按照设计要求组装成为子系统或系统,进行集成测试。英文一些模块虽然能够单独工作,但并不能保证连接起来也能正常的工作。程序在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现。
集成测试应该考虑以下问题:
● 在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;
● 各个子功能组合起来,能否达到预期要求的父功能;
● 一个模块的功能是否会对另一个模块的功能产生不利的影响;
● 全局数据结构是否有问题;
● 单个模块的误差积累起来,是否会放大,从而达到不可接受的程度
18、你有什么问题要问的?
可以问一问该公司的测试流程,个人职业发展方向,公司产品项目等等。