测试面试基础(一)

为什么要在一个团队中开展软件测试工作? 

为了验证软件是否可用,是否可上线,同时避免此问题线上发生,避免公司发生损失

 

您是否了解以往所工作的企业的软件测试过程?如果了解,请试述在这个过程中都有哪些工作要做?分别由哪些不同的角色来完成这些工作? (对于软件测试部分,可以简述) 

1产品开发测试共同参与进行测试需求的分析:确定测试的资源和技术需求

2测试人员根据需求制定相应的测试计划 (包括测试环境,着重测试点)并进行评审

3根据测试计划指定详细的测试用例,并评审,查漏补缺 ,补全之后在禅道上写好测试用例

4bug进行跟踪管理

5、总结测试报告并实时更新

您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作? 
金融类测试,催收后台管理测试,二手车后台管理的测试等类似的B/S架构的csm管理系统以及基本的核心接口测试

最擅长根据需求以及测试思维导图编写完善的测试用例。这种类型的功能测试


您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……) 

功能测试 主要是黑盒测试为主,白盒测试辅助进行回归测试

安全测试 以测试工具检测测试漏洞以及系统是否存在sql注入,xss攻击等安全隐患。

兼容测试 不同的硬件平台上、不同的应用软件之间、不同的操作系统中、不同的网络环境中是否可以正常的运行 可以通过人工测试或者是以webdirverwebdirverseleium里面的一个包是驱动 from  selenium import webdriver)脚本来驱动各平台的兼容情况

性能测试 :并发测试和压力测试为主,通过jmter或者loadluner等工具

请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。 

黑盒测试一般是无需了解代码以盒子原理进行的测试

白盒测试是以代码为突破口的测试,主要通过逻辑构建业务场景来测试系统

单元测试是最小的测试单位,可能是某一个方法或者某一个类,一般由开发进行测试

集成测试(也叫组装测试,联合测试)是单元测试的逻辑扩展。实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作

系统测试是是对已经集成好的软件系统进行彻底的测试目的是发现软件潜在的问题,保证系统的正常运行

验收测试(回归测试)部署软件之前的最后一个测试,操作目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的功能和任务。

测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要的? 
测试计划的目的是为了完善自己对项目需求的认识和理解,理清测试思路和测试重点

测试计划工作的内容包括:设计文档的编写和用例的编写,都是测试核心


您认为做好测试计划工作的关键是什么? 

理解业务需求,整理清楚业务流程


您所熟悉的测试用例设计方法都有哪些?及方法的应用场景

1、等价类划分  一般功能都需要等价类,比如说用户登录,用户名密码输入,支付金额输入

2、边界值法 一般用于支付类输入

3、因果图设计法 主流业务都需要

4、判定表设计法(判定表只是因果图里面的一部分) 3 4一般是一起出现  比如说财务系统工资评审

5、正交试验法、场景法 用例是浏览器兼容性测试


您认为做好测试用例设计工作的关键是什么? 

理解业务需求,整理清楚业务流程做好测试计划,记录好前置条件,准备合理的测试数据。

请以您以往的实际工作为例,详细的描述一次测试用例设计的完整的过程。 
以二手车后台为例:

制作测试计划,导图,大致分为权限管理,数据运营,外呼管理,营销管理,客户管理,组员管理,然后分别针对每个菜单下的子模块进行细分业务测试梳理,对各模块做业务流程分析,制作测试用例。并梳理数据库功能模块与数据库表的关系。并继续完善用例,进行审查,做到查漏补缺


您以往的工作中是否曾开展过测试用例的评审工作?如果有,请描述测试用例评审的过程和评审的内容。 
1、首先测试以邮件的形式发给相关项目的人员,(参与项目人有项目经历,产品,开发,测试小组人员。

2、然后申请会议室来发起用例评审

3、先从冒烟用例进行评审,告诉开发将以这些功能点作为主流程,如果不全可以补充

4、接着按模块进行详细用例描述的讲解,让产品和开发讨论是否符合需求以及是否有遗漏点

5、如果有遗漏点简单记下,会后补充完整。

6、如果问题过多并遗漏重要流程,发起第二次评审,根据实际情况为准

7、如果所有用例评审完成,开发产品未补充,一起确定此用例为接下来使用的用例,出现问题提交bug管理工具。

一个项目:开发3-4个,测试2个人。


您以往是否曾经从事过性能测试工作?如果有,请尽可能的详细描述您以往的性能测试工作的完整过程。 
做过金融产品支付系统的压力测试

1、申请生产环境是否可做压力测试

2、根据需求梳理测试思路

3、根据测试思路编写测试用例,主要是以模拟多人同时支付的场景。

4、根据性能测试工具jmter的组件编写测试脚本,设计多人虚拟数

5、把编写好的测试脚本分别发到多台测试服务器上,同时启动jmter集群测试,进行压力测试并记录支付系统服务器的运行情况,产生性能测试报告,找出系统瓶颈,方便运维开发人员调试优化系统。(为什么要多台服务器:这样能排除本身机器的瓶颈,一台服务一般压不坏。我的服务器作为主节点,其他服务器作为分节点,一般会让其他测试人员协助测试)

6、通过cokkie伪登录,构建支付接口参数,设一个基数,陆续增加虚拟人数。

并发情况:设计集合点(在同一个时刻发送请求)压力是陆续发送

 

对金融支付接口测试流程:

1、以真实支付接口先进行冒烟测试,测试通过以后通过挡板来进行各业务场景的测试,模拟真实系统返回情况,主要以mock数据的形式进行测试(就是假数据)


您在从事性能测试工作时,是否使用过一些测试工具?如果有,请试述该工具的工作原理,并以一个具体的工作中的例子描述该工具是如何在实际工作中应用的。

jmter 可以设置虚拟数达到测试目的

loadRunner 

您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么? 
优化系统,提升用户体验

性能测试的关键:合理设计场景,真实达到测试目的,压测测出系统的承受能力,并发测试出最多并发能力并发一千左右


在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录? 
bug标题:详细描述

场景复现流程


您以往所从事的软件测试工作中,是否使用了一些工具来进行软件缺陷(Bug)的管理?如果有,请结合该工具描述软件缺陷(Bug)跟踪管理的流程。 
禅道

发现问题-提交禅道-指派给开发-开发解决问题并更改状态为已修改-测试进行复测-问题解决关闭bug,未解决重新激活并提示开发更改bug-复测之后关闭bug

 


您如何看待软件过程改进?在您曾经工作过的企业中,是否有一些需要改进的东西呢?您期望的理想的测试人员的工作环境是怎样的? 
软件改进是不断优化的过程,可以减少bug出现,减少损失,提升用户体验

期待工作环境是团队齐心协力共同为项目出力


您认为在测试人员同开发人员的沟通过程中,如何提高沟通的效率和改善沟通的效果?维持测试人员同开发团队中其他成员良好的人际关系的关键是什么? 

面对面的沟通,对 BUG 有准确的描述

在团队中建立测试人员与开发人员良好沟通中注意以下几点:

一真诚、

二是团队精神、

三是在专业上有共同语言、

四是要对事不对人,工作至上;

当然也可以通过直接指出一些小问题,而不是进入BUG 跟踪系统来增加对方的好感;

 

你对测试最大的兴趣在哪里?为什么?

1、感觉这是一个有挑战性的工作;工作越久越能感觉到做好测试的难度和乐趣

2、通过自己的测试,能使软件产品越来越完善,感觉很快乐

 

你自认为测试的优势在哪里?

有韧性、有耐心、做事有条理性、喜欢面对挑战、有信心做好每一件事情、较强的沟通能力、从以前的经理处都得到了很好的评价表明我做的很好

 

软件测试项目从什么时候开始?为什么?

软件测试应该在需求分析阶段就介入,因为测试的对象不仅仅是程序编码,应该对软件开发过程中产生的所有产品都测试,

并且软件缺陷存在放大趋势,缺陷发现的越晚,修复它所花费的成本就越大

 

什么是回归测试?

1用例回归是过一段时间以后再回头对以前使用过的用例在重新进行测试,看看会重新发现问题。  

2bug回归就是在新版本中,对以前版本中出现并修复的缺陷进行再次验证,并以缺陷为核心,对相关修改的部分进行测试的方法。

 

原创作品转载请注明出处 https://www.cnblogs.com/wangxuetest/p/13233497.html

写作不易,如果能帮助到你可以给点个赞哦

posted @ 2020-07-04 01:40  搬砖小天使  阅读(357)  评论(0编辑  收藏  举报