软件测试口试八股文(答案+文档)
Part11、你的测试职业发展是什么?
测试经验越多,测试能力越高。所以我的职业发展是需要时间积累的,一步步向着高级测试工程师奔去。而且我也有开端的职业规划,前3年积累测试经验,按如何做好测试工程师的要点去要求自己,不断更新自己改正自己,做好测试任务。
优势在于我对测试坚定不移的信心和热情,固然经验还不敷,但测试需要的基本技能我有信心在工作中得以发挥。
2、你认为测试人员需要具备哪些素质
做测试应该要有肯定的调和能力,由于测试人员常常要与开发接触处理一些标题,如果处理不好的话会引起一些冲突,这样的话工作上就会不好做。另有测试人员要有肯定的耐心,有的时间做测试很枯燥乏味。除了耐心,测试人员不能放过每一个大概的错误。
3、你为什么能够做测试这一行
固然我的测试技术还不是很成熟,但是我觉得我还是可以胜任软件测试这个工作的,由于做软件测试不仅是要求技术好,另有有肯定的沟通能力,耐心、细心等外在因素。综合起来看我认为我是胜任这个工作的。
4、测试的目标是什么?
测试的目标是找出软件产物中的错误,是软件尽大概的符适用户的要求。固然软件测试是不大概找出全部错误的。
5、测试分为哪几个阶段?
一般来说分为5个阶段:单元测试、集成测试、确认测试、体系测试、验收测试
6、单元测试的测试对象、目标、测试依据、测试方法?
测试对象是模块内部的程序错误,目标是消除局部模块逻辑和功能上的错误和缺陷。测试依据是模块的详细计划,测试方法是采用白盒测试。
7、怎样看待加班标题
加班的话我没有太多意见,但是我还是觉得如果能够公道安排时间的话,不会有太多时间加班的。
8、结合你以前的学习和工作经验,你认为如何做好测试。
根据我以前的工作和学习经验,我认为做好工作起首要有一个良好的沟通,只有沟通无障碍了,才会有好的协作,才会有更好的服从,再一个就是技术肯定要过关,做测试要有足够的耐心,和一个良好的工作习惯,不懂的就要问,实时与同事沟通这样的话才能做好测试工作。
9、你为什么选择软件测试行业
由于之前了解软件测试这个行业,觉得他的发展前景很好。
10、根据你以前的工作或学习经验描述一下软件开发、测试过程,由哪些脚色负责,你做什么
要有架构师、开发司理、测试司理、程序员、测试员。我在里面主要是负责所分到的模块实行测试用例。
11、根据你的经验说说你对软件测试/质量保证的明白
软件质量保证与测试是根据软件开发阶段的规格说明和程序的内部结构而经心计划的一批测试用例(即输入数据和预期的输出结果),并根据这些测试用例去运行程序,以发现错误的过程。它是对应用程序的各个方面举行测试以查抄其功能、语言有用性及其表面排布。
12、软件测试的流程是什么?
需求调查:全面了解体系概况、应用范畴、软件开发周期、软件开发环境、开发组织、时间安排、功能需求、性能需求、质量需求及测试要求等。根据体系概况举行项目所需的人员、时间和工作量估计以及项目报价。
制定开端的项目计划。
测试准备:组织测试团队、培训、建立测试和管理环境等。
测试计划:按照测试要求举行每个测试项的测试计划,包括测试用例的计划和测试脚本的开发等。
测试实施:按照测试计划实施测试。
测试评估:根据测试的结果,出具测试评估陈诉。
13、你对SQA的职责和工作运动(如软件度量)的明白?
SQA就是独立于软件开发的项目组,通过对软件开发过程的监控,来保证软件的开发流程按照指定的CMM规程(如果有相应的CMM规程),对于不符合项实时提出建媾和改进方案,必要时可以向高层司理报告以求标题的办理。通过这样的途径来预防缺陷的引入,从而淘汰后期软件的维护成本。SQA主要的工作运动包括制定SQA工作计划,参与阶段产物的评审,举行过程质量、功能配置及物理配置的审计等;对项目开发过程中产生的数据举行度量等等。
14、说说你对软件配置管理的明白
项目在开发过程中要用相应的配置管理工具对配置项(包括各个阶段的产物)举行变更控制,配置管理的使用取决于项目规模和复杂性及风险的程度。软件的规模越大,配置管理就越显得重要。另有在配置管理中,有一个很重要的概念,那就是基线,是在肯定阶段各个配置项的组合,一个基线就提供了一个正式的尺度,随后的工作便基于此尺度,并只有颠末授权后才能变更这个尺度。配置管理工具主要有CC,VSS,CVS,SVN等。
15、怎样写测试计划和测试用例
简单点,测试计划里应有详细的测试策略和测试方法,公道详尽的资源安排等,至于测试用例,那是依赖于需求(包括功能与非功能需求)是否细化到功能点,是否可测试等。
16、什么是兼容性测试?兼容性测试侧重哪些方面?
兼容测试主要是查抄软件在不同的硬件平台、软件平台上是否可以正常的运行,即是通常说的软件的可移植性。
兼容的类型,如果细分的话,有平台的兼容,网络兼容,数据库兼容,以及数据格式的兼容。
兼容测试的重点是,对兼容环境的分析。通常,是在运行软件的环境不是很确定的环境下,才需要做兼容。根据软件运行的需要,大概根据需求文档,一般都能够得出用户会在什么环境下使用该软件,把这些环境整理成表单,就得出做兼容测试的兼容环境了。
兼容和配置测试的区别在于,做配置测试通常不是Clean OS下做测试,而兼容测试多是在Clean OS的环境下做的。
17、我现在有个程序,发现在Windows上运行得很慢,怎么鉴别是程序存在标题还是软硬件体系存在标题?
1、查抄体系是否有中毒的特征;
2、查抄软件/硬件的配置是否符合软件的推荐尺度;
3、确认当前的体系是否是独立,即没有对外提供什么斲丧CPU资源的服务;
4、如果是C/S大概B/S结构的软件,需要查抄是不是由于与服务器的连接有标题,大概访问有标题造成的;
5、在体系没有任何负载的环境下,查看性能监视器,确认应用程序对CPU/内存的访问环境。
18、测试的策略有哪些?
黑盒/白盒,静态/动态## 标题,手工/主动,冒烟测试,回归测试,公测(Beta测试的策略)
19、你觉得bugzilla在使用的过程中,有什么标题?
1、界面不稳定;
2、根据需要配置它的不同的部门,过程很烦琐。
3、流程控制上,安全性不好界定,很轻易对他人的Bug举行误操作;
4、没有综合的评分指标,不好确认修复的优先级别。
20、描述测试用例计划的完整过程?
1、需求分析 + 需求变更的维护工作;
2、根据需求得出测试需求;
3、计划测试方案,评审测试方案;
4、方案评审通过后,计划测试用例,再对测试用例举行评审;
21、单元测试的策略有哪些?
逻辑覆盖、循环覆盖、同行评审、桌前查抄、代码走查、代码评审、景泰数据流分析
22、LoadRunner分哪三部门?
用户动作计划;场景计划; 测试数据分析;
23、LoadRunner举行测试的流程?
1、 熟悉业务流程,测试规划
2、 创建虚拟用户脚本
3、 创建运行场景
4、 运行测试脚本
5、 监视场景
6、 分析测试的结果
以上,最好是结合一个案例,根据以上流程来介绍。
24、软件的评审一般由哪些人参加?其目标是什么?
在正式的会议上将软件项目标成果(包括各阶段的文档、产生的代码等)提交给用户、客户或有关部门人员对软件产物举行评审和批准。其目标是找出大概影响软件产物格量、开发过程、维护工作的适用性和环境方面的计划缺陷,并采取补救措施,以及找出在性能、安全性和经济方面的大概的改进。
人员:用户、客户或有关部门开发人员,测试人员,需求分析师都可以,就看处于评审那个阶段
25、Beta测试与Alpha测试有什么区别?
–Beta testing(β测试),测试是软件的多个用户在一个或多个用户的实际使用环境下举行的测试。开发者通常不在测试现场
–Alpha testing (α测试),是由一个用户在开发环境下举行的测试,也可以是公司内部的用户在模拟实际操作环境下举行的受控测试
26、你认为做好测试计划工作的关键是什么?
软件测试计划就是在软件测试工作正式实施之前明白测试的对象,并且通过对资源、时间、风险、测试范围和预算等方面的综合分析和规划,保证有用的实施软件测试;
做好测试计划工作的关键 :目标,管理,规范
(1)、明白测试的目标,增强测试计划的实用性编写软件测试计划得重要目标就是使测试过程能够发现更多的软件缺陷,因此软件测试计划的价值取决于它对帮助管理测试项目,并且找出软件潜在的缺陷。因此,软件测试计划中的测试范围必须高度覆盖功能需求,测试方法必须切实可行,测试工具并且具有较高的实用性,便于使用,生成的测试结果直观、准确
(2)、对峙“5W”规则,明白内容与过程“5W”规则指的是“What(做什么)”、“Why(为什么做)”、“When(何时做)”、“Where(在哪里)”、“How(如何做)”。利用“5W”规则创建软件测试计划,可以帮助测试团队明白测试的目标(Why),明白测试的范围和内容(What),确定测试的开始和竣事日期(When),指出测试的方法和工具(How),给出测试文档和软件的存放位置(Where)。
(3)、采用评审和更新机制,保证测试计划满意实际需求测试计划写作完成后,如果没有颠末评审,直接发送给测试团队,测试计划内容的大概禁绝确或遗漏测试内容,大概软件需求变更引起测试范围的增减,而测试计划的内容没有实时更新,误导测试实行人员。
(4)、分别创建测试计划与测试详细规格、测试用例应把详细的测试技术指标包罗到独立创建的测试详细规格文档,把用于引导测试小组实行测试过程的测试用例放到独立创建的测试用例文档或测试用例管理数据库中。测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试运动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。
27、你认为做好测试用例工作的关键是什么?
需求和计划文档的明白程度,对体系的熟悉程度
28、简述一下缺陷的生命周期?
提交->确认->分配->修复->验证->关闭
29、软件的安全性应从哪几个方面去测试?
(1) 用户认证机制:如数据证书、智能卡、双重认证、安全电子生意业务协议
(2) 加密机制
(3) 安全防护策略:如安整日志、入侵检测、隔离防护、毛病扫描
(4) 数据备份与恢复本领:存储设备、存储优化、存储保护、存储管理
(5) 防病毒体系
30、你觉得软件测试通过的尺度应该是什么样的?
缺陷密度值达到客户的要求
31、一套完整的测试应该由哪些阶段组成?
需求评审(有开发人员,产物司理,测试人员,项目司理)->需求确定(出一份确定的需求文档)->开发计划文档(开发人员在开始写代码前就能输出计划文档)->想好测试策略,写出测试用例->发给开发人员和测试司理看看(非正式的评审用例)->接到测试版本->实行测试用例(中间大概会增补用例)->提交bug(有些bug需要开发人员简直定(严重级别的,或突然发现的在测试用例范围之外的,难以重现的),有些可以直接录制进TD)->开发人员修改(可以在测试过程中快速的修改)->回归测试(大概又会发现新标题,再按流程开始跑)
32、如何明白压力、负载、性能测试测试?
性能测试是一个较大的范围,实际上性能测试本身包罗了性能、强度、压力、负载等多方面的测试内容。
压力测试是对服务器的稳定性以及负载能力等方面的测试,是一种很平常的测试。增大访问体系的用户数量、大概几个用户举行大数据量操作都是压力测试。而负载测试是压力相对较大的测试,主要是测试体系在一种大概会合极限条件下的相应能力,是性能测试的重要部门。100个用户对体系举行一连半个小时的访问可以看作压力测试,那么一连访问8个小时就可以认为负载测试,1000个用户一连访问体系1个小时也可以看作是负载测试。
实际上压力测试和负载测试没有明显的区分。测试人员应该站在关注团体性能的高度上来对体系举行测试。
33、如何编写提交给用户的测试陈诉?
----根据内部测试陈诉举行编写,一般可以摘录;
----不可以向客户陈诉严重缺陷,纵然是已经修改的缺陷,开发中的缺陷也没有必要让客户知道;
----陈诉上可以列出一些缺陷,但必须是中级的缺陷,而且这些缺陷必须是修复的; -陈诉上面的内容尽量要真实可靠;
----整个测试陈诉要仔细审阅,力争不给项目带来负面作用,尤其是性能测试陈诉。
34、您所熟悉的测试用例计划方法都有哪些?请分别以具体的例子来说明这些方法在测试用例计划工作中的应用。
1 .等价类分别
分别等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭破程序中的错误都是等效的.并公道地假定:测试某等价类的代表值就即是对这一类其它值的测试.因此,可以把全部输入数据公道分别为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类分别可有两种不同的环境:有用等价类和无效等价类.
2.边界值分析法
边界值分析方法是对等价类分别方法的增补。测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界环境计划测试用例,可以查出更多的错误.
使用边界值分析方法计划测试用例,起首应确定边界环境.通常输入和输出等价类的边界,就是应着重测试的边界环境.应当选取正好即是,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典范值或任意值作为测试数据.
3.错误推测法
基于经验和直觉推测程序中所有大概存在的各种错误, 从而有针对性的计划测试用例的方法.
错误推测方法的基本思想: 枚举出程序中所有大概有的错误和轻易发生错误的特殊环境,根据他们选择测试用例. 例如, 在单元测试时曾列出的许多在模块中常见的错误. 以前产物测试中曾经发现的错误等, 这些就是经验的总结. 另有, 输入数据和输出数据为0的环境. 输入表格为空格或输入表格只有一行. 这些都是轻易发生错误的环境. 可选择这些环境下的例子作为测试用例.
4.因果图方法
前面介绍的等价类分别方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的接洽, 相互组合等. 考虑输入条件之间的相互组合,大概会产生一些新的环境. 但要查抄输入条件的组合不是一件轻易的事情, 纵然把所有输入条件分别成等价类,他们之间的组合环境也相当多. 因此必须考虑采用一种得当于描述对于多种条件的组合,相应产生多个动作的形式来考虑计划测试用例. 这就需要利用因果图(逻辑模型). 因果图方法终极生成的就是判断表. 它得当于查抄程序输入条件的各种组合环境.
35、你对测试最大的兴趣在哪里?为什么?
最大的兴趣就是测试有难度,有挑衅性!做测试越久越能感觉到做好测试有多难。做测试,有部门是和人的性格有关,有部门需要后天的努力。但除了性格有关的我没有把握,其他点我都很有信心做好它。
36、当开发人员说不是BUG时,你如何应付?
开发人员说不是bug,有2种环境,一是需求没有确定,所以我可以这么做,这个时间可以找来产物司理举行确认,需不需要改动,3方探讨确定好后再看要不要改。二是这种环境不大概发生,所以不需要修改,这个时间,我可以先尽大概的说出是BUG的依据是什么?如果还是不行,那我可以给这个标题提出来,跟开发司理和测试司理举行确认,如果要修改就改,如果不要修改就不改。其实有些真的不是bug,我也只是建议的方式写进TD中,如果开发人员不修改也没有大标题。如果确定是bug的话,肯定要对峙自己的立场,让标题得到最后简直认。
37、写出bug陈诉当中一些必备的内容。
硬件平台和操作体系
测试应用的硬件平台(Platform),通常选择“PC”。
测试应用的操作体系平台(OS)。
a) 版本 提交缺陷陈诉时通过该字段标识此缺陷存在于被测试软件的哪个版本。
b) Bug陈诉优先级
c) Bug状态
d) Bug的编号
e) 发现人
f) 提交人
g) 指定处理人
h) 概述
i) 附属关系
j) 详细描述
k) 严重程度
l) 所属模块
m) 附件
n) 提交日期
38、开发人员总是犯一些低级错误怎么办理?
从两个方面入手:
一方面从开发管理入手,也就是从根源来办理标题。可以制定规范的开发流程,甚至可以制定处罚制度,另有就是软件开发前做好规划计划。
另一方面就是增强测试,具体做法就是增强开发人员的自己测试,把这些标题“消灭”在开发阶段,这是比较好的做法。
39、简述一下c/s模式大概b/s模式?
C/S模式:客户端/服务器模式。工作原理:Client向Server提交一个请求;Server则使用一些方法处理这个请求,并将结果返回给Client。
B/S结构,即Browser/Server(浏览器/服务器)结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强盛功能,并节约了开发成本,是一种全新的软件体系构造技术。
Part2
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、你觉得bugzilla在使用的过程中,有什么标题?
参考答案:
界面不稳定;
根据需要配置它的不同的部门,过程很烦琐。
流程控制上,安全性不好界定,很轻易对他人的Bug举行误操作;
没有综合的评分指标,不好确认修复的优先级别。
7、描述测试用例计划的完整过程?
参考答案:
需求分析 + 需求变更的维护工作;
根据需求 得出测试需求;
计划测试方案,评审测试方案;
方案评审通过后,计划测试用例,再对测试用例举行评审;
8、单元测试的策略有哪些?
参考答案:
逻辑覆盖、循环覆盖、同行评审、桌前查抄、代码走查、代码评审、景泰数据流分析
9、LoadRunner分哪三部门?
参考答案:
用户动作计划;
场景计划;
测试数据分析;
10、LoadRunner举行测试的流程?
参考答案:
1、 计划负载测试
2、 创建虚拟用户脚本
3、 创建运行场景
4、 运行测试脚本
5、 监视场景
6、 分析测试的结果
以上,最好是结合一个案例,根据以上流程来介绍。
part3
1、软件的生命周期(prdctrm)
计划阶段(planning)-〉需求分析(requirement)-〉计划阶段(design)-〉编码(coding)->测试(testing)->运行与维护(running maintrnacne)
2、你在测试中发现了一个bug,但是开发司理认为这不是一个bug,你应该怎样办理?
起首,将标题提交到缺陷管理库里面举行存案。
然后,要获取判断的依据和尺度:根据需求说明书、产物说明、原型图、计划文档等,确认实际结果是否与计划有不一致的地方,提供缺陷是否确认的直接依据;
如果没有文档依据,
1)可以根据同行或雷同软件的一般特性来说明是否存在不一致的地方,来确认是否是缺陷;
2)根据用户的一般使用习惯,来确认是否是缺陷;
3)与计划人员、开发人员和客户代表等相干人员探究,确认是否是缺陷;
公道的论述,向测试司理说明自己的判断的来由,等待测试司理做出终极决定,如果仍旧存在争议,可以通过公司政策所提供的渠道,向上级反映,并有上级做出决定。
3、给你一个网站,你如何测试?
起首,查找需求说明、网站计划等相干文档,分析测试需求。
制定测试计划,确定测试范围和测试策略,一般包括以下几个部门:功能性测试;界面测试;性能测试;数据库测试;安全性测试;兼容性测试
计划测试用例:
功能性测试可以包括,但不限于以下几个方面:
链接测试。链接是否准确跳转,是否存在空页面和无效页面,是否有不准确的出错信息返回。
提交功能的测试。
多媒体元素是否可以准确加载和表现。
多语言支持是否能够准确表现选择的语言等。
界面测试可以包括但不限于一下几个方面:
页面是否风格统一,雅观
页面布局是否公道,重点内容和热点内容是否突出
控件是否正常使用
对于必须但未安装的控件,是否提供主动下载并安装的功能
文字查抄
性能测试一般从以下两个方面考虑:
压力测试;负载测试;强度测试
数据库测试要具体决定是否需要开展。数据库一般需要考虑连结性,对数据的存取操作,数据内容的验证等方面。
安全性测试:
基本的登录功能的查抄
是否存在溢出错误,导致体系崩溃大概权限泄露
相干开发语言的常见安全性标题查抄,例如SQL注入等
如果需要高级的安全性测试,确定获得专业安全公司的帮助,外包测试,大概获取支持兼容性测试,
根据需求说明的内容,确定支持的平台组合:
浏览器的兼容性;
操作体系的兼容性;
软件平台的兼容性;
数据库的兼容性
开展测试,并纪录缺陷。公道的安排调整测试进度,提前获取测试所需的资源,建立管理体系(
例如,需求变更、风险、配置、测试文档、缺陷陈诉、人力资源等内容)。
定期评审,对测试举行评估和总结,调整测试的内容。
4、一台客户端有三百个客户与三百个客户端有三百个客户对服务器施压,有什么区别?
300个用户在一个客户端上,会占用客户机更多的资源,而影响测试的结果。线程之间大概发生干扰,而产生一些非常。
300个用户在一个客户端上,需要更大的带宽。
IP地点的标题,大概需要使用IP Spoof来绕过服务器对于单一IP地点最大连接数的限定。
所有用户在一个客户端上,不必考虑分布式管理的标题;
而用户分布在不同的客户端上,需要考虑使用控制器来团体调配不同客户机上的用户。同时,还需要给予相应的权限配置和防火墙设置。
5、软件生存周期及其模型是什么?
软件生存周期(Software life cycle)又称为软件生命期,生存期。是指从形成开发软件概念起,所开发的软件使用以后,直到失去使用价值消亡为止的整个过程。一般来说,整个生存周期包括 :标题的定义及规划、需求分析/评审、软件计划、软件编码、测试阶段、运行维护 六个时期,每个时期又分别为若干个阶段。每个阶段有明白的任务。
周期模型(典范的几种):
1)瀑布模型
2)快速原型模型:快速原型模型允许在需求分析阶段对软件的需求举行开端而非完全的分析和定义,快速计划开发出软件体系的原型,该原型向用户展示待开发软件的全部或部门功能和性能;用户对该原型举行测试评定,给出具体改进意见以丰富细化软件需求;开发人员据此对软件举行修改完善,直至用户满意认可之后,举行软件的完整实现及测试、维护。
3)迭代模型:迭代包括产生产物发布(稳定、可实行的产物版本)的全部开发运动和要使用该发布必需的所有其他外围元素。在某种程度上,开发迭代是一次 完整地颠末所有工作流程的过程:需求分析、计划、实施和测试工作流程。实质上,它雷同小型的瀑布式项目。RUP认为,所有的阶段都可以细分为迭代。每一次 的迭代都会产生一个可以发布的产物,这个产物是终极产物的一个子集。
生命周期阶段:
软件计划与可行性分析
需求分析
软件计划
编码
软件测试
运行与维护
6、什么是软件测试?软件测试的目标与原则
定义:
在规定的条件下对程序举行操作,以发现程序错误,衡量软件质量,并对其是否能满意计划要求举行评估的过程。
目标:
测试是程序的实行过程,目标在于发现错误
软件测试为了发现程序中存在的代码或业务逻辑错误
软件测试为了查验产物是否符适用户的需求
软件测试为了进步用户体验
软件测试的原则:
测试应尽早启动、介入(需求分析阶段),所有的测试应追溯到用户需求,测试证实软件存在缺陷,不大概实行穷尽测试,完全测试是不大概的,测试需要停止。
二八原则,测试发现的错误中80%很大概的劈头于20%的模块中。(缺陷存在群集征象)
对错误结果要举行一个确认的过程(测试的详细数据,截图,前置条件等),制定严格的测试计划;妥善保管测试过程中的所有文档;程序员尽量避免自己的查抄程序;计划测试用例是应该考虑到正当的输入和不正当的输入
7、什么是软件质量?
概括地说,软件质量就是“软件与明白的和隐含的定义的需求相一致的程度”。具体地说,软件质量是软件符合明白叙述的功能和性能需求、文档中明白描述 的开发尺度、以及所有专业开发的软件都应具有的隐含特征的程度。 影响软件质量的主要因素,这些因素是从管理角度对软件质量的度量。可分别为三组,分别反应用户在使用软件产物时的三种观点。准确性、结实性、服从、完整性、可用性、风险(产物运行);可明白性、可维修性、机动性、可测试性(产物修改);可移植性、可再用性、互运行性(产物转移)。
8、目前主要的测试用例计划方法是什么?
白盒测试:逻辑覆盖、循环覆盖、基本路径覆盖
黑盒测试:边界值分析法、等价类分别、错误推测法、因果图法、状态图法、测试大纲法、随机测试、场景法
9、软件的安全性应从哪几个方面去测试?
软件安全性测试包括程序、数据库安全性测试。根据体系安全指标不同测试策略也不同。
用户认证安全的测试要考虑标题:
1)明白区分体系中不同用户权限 、体系中会不会出现用户冲突 、体系会不会因用户的权限的改变造成紊乱
2)用户登陆密码是否是可见、可复制 、是否可以通过绝对途径登陆体系(拷贝用户登陆后的链接直接进入体系)
3)用户退出体系后是否删除了所有鉴权标记,是否可以使用退却键而不通过输入口令进入 体系
体系网络安全的测试要考虑标题 :
1)测试采取的防护措施是否准确装配好
2)有关体系的补丁是否打上
3)模拟非授权***
4)看防护体系是否坚固
5)采用成熟的网络毛病查抄工具查抄体系相干毛病(即用最专业的******工具***试一下,现在最常用的是 NBSI 系列和 IPhacker IP )
6)采用各种***查抄工具查抄体系***环境
7)采用各种防外挂工具查抄体系各组程序的外挂毛病
数据库安全考虑标题:
1)体系数据是否机密(比如对银行体系,这一点就特别重要,一般的网站就没有太高要求)
2)体系数据的完整性(我刚刚竣事的企业实名核查服务体系中就曾存在数据 的不
3)完整,对于这个体系的功能实现有了障碍) 、系
4)统数据可管理性 、
5)体系数据的独立性 、
6)体系数据可备份和恢复能力(数据备份是否完整,能否恢复,恢复是否可以完整)
10、什么是测试用例 什么是测试脚本 两者的关系是什么?
用例:
未实施测试而体例的一组测试输入、实行条件、各种环境设置以及预期结果以及盼望结果的一个特定的集合。
脚本:
测试脚本是为了举行主动化测试而编写的脚本。
测试脚本的编写必须对应相应的测试用例
11、简述什么是静态测试、动态测试、黑盒测试、白盒测试、α测试 β测试
静态测试:是不运行程序本身而寻找程序代码中大概存在的错误或评估程序代码的过程。
动态测试:是实际运行被测程序,输入相应的测试实例,查抄运行结果与预期结果的差异,判断实行结果是否符合要求,从而查验程序的准确性、可靠性和有用性,并分析体系运行服从和结实性等性能。
黑盒测试:一般用来确认软件功能的准确性和可操作性,目标是检测软件的各个功能是否能得以实现,把被测试的程序当作一个黑盒,不考虑其内部结构,在知道该程序的输入和输出之间的关系或程序功能的环境下,依赖软件规格说明书来确定测试用例和推断测试结果的准确性。
白盒测试:根据软件内部的逻辑结构分析来举行测试,是基于代码的测试,测试人员通过阅读程序代码大概通
过使用开发工具中的单步调试来判断软件的质量,一般黑盒测试由项目司理在程序员开发中来实现。
α测试:是由用户在开发环境下举行的测试,也可以是公司内部的用户在模拟实际操作环境下举行的受控测试,Alpha测试不能由程序员或测试员完成。
β测试:由软件的一个或多个用户在实际使用环境下举行的测试, 开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。
12、软件产物格量特性是什么?
功能性:适应性、准确性、互操作性、依从性、安全性。
可靠性:成熟性、容错性、易恢复性。
可使用性:易明白性、易学习性、易操作性。
服从:时间特性、资源特性。
可维护性:易分析性、易变更性、稳定性、易测试性。
可移植性: 适应性、易安装性、遵照性、易更换性
13、软件测试的策略是什么?
软件测试策略:在肯定的软件测试尺度、测试规范的引导下,依据测试项目标特定环境约束而规定的软件测试的原则、方式、方法的集合。
14、软件测试分为几个阶段 各阶段的测试策略和要求是什么?
测试过程会依次经历单元测试、集成测试、体系测试、验收测试四个主要阶段
单元测试:是针对软件计划的最小单元––程序模块甚至代码段举行准确性查验的测试工作,通常由开发人员举行。
集成测试:是将模块按照计划要求组装起来举行测试,主要目标是发现与接口有关的标题。由于在产物提交到测试部门前,产物开发小组都要举行团结调试,因此在大部门企业中集成测试是由开发人员来完成的。
体系测试:是在集成测试通过后举行的,目标是充分运行体系,验证各子体系是否都能正常工作并完成计划的要求。它主要由测试部门举行,是测试部门最大最重要的一个测试,对产物的质量有重大的影响。
验收测试:以需求阶段的《需求规格说明书》为验收尺度,测试时要求模拟实际用户的运行环境。对于实际项
目可以和客户共同举行,对于产物来说就是最后一次的体系测试。测试内容为对功能模块的全面测试,尤其要举行文档测试。
单元测试测试策略:
自顶向下的单元测试策略:比孤立单元测试的成本高很多,不是单元测试的一个好的选择。
自底向上的单元测试策略:比较公道的单元测试策略,但测试周期较长。
孤立单元测试策略:最好的单元测试策略。
集成测试的测试策略:
大爆炸集成:适应于一个维护型项目或被测试体系较小
自顶向下集成:适应于产物控制结构比较清晰和稳定;高层接口变革较小;底层接口未定义或常常大概被修改;产口控制组件具有较大的技术风险,需要尽早被验证;盼望尽早能看到产物的体系功能举动。
自底向上集成:适应于底层接口比较稳定;高层接口变革比较频繁;底层组件较早被完成。
基于进度的集成
优点:具有较高的并行度;能够有用缩短项目标开发进度。
缺点:桩和驱动工作量较大;有些接口测试不充分;有些测试重复和浪费。
体系测试的测试策略:
数据和数据库完整性测试;功能测试;用户界面测试;性能评测;负载测试;强度测试;容量测试;安全性和访问控制测试;故障转移和恢复测试;配置测试;安装测试;加密测试;可用性测试;版本验证测试;文档测试
15、软件测试各个阶段通常完成什么工作?各个阶段的结果文件是什么?包括什么内容?
单元测试阶段:
各独立单元模块在与体系地其他部门相隔离的环境下举行测试,单元测试针对每一个程序模块举行准确性校验,查抄各个程序模块是否准确地实现了规定的功能。生成单元测试陈诉,提交缺陷陈诉。
集成测试阶段:
集成测试是在单元测试的基础上,测试在将所有的软件单元按照概要计划规格说明的要求组装成模块、子体系或体系的过程中各部门工作是否达到或实现相应技术指标及要求的运动。该阶段生成集成测试陈诉,提交缺陷陈诉。
体系测试阶段:
将通过确认测试的软件,作为整个给予计算机体系的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他体系元素结合在一起,在实际运行环境下,对计算机体系举行全面的功能覆盖。该阶段需要提交测试总结和缺陷陈诉。
16、测试人员在软件开发过程中的任务是什么?
1、尽大概早的找出体系中的Bug;
2、避免软件开发过程中缺陷的出现;
3、衡量软件的风致,保证体系的质量;
4、关注用户的需求,并保证体系符适用户需求。
总的目标是:确保软件的质量。
17、在您以往的工作中,一条软件缺陷(大概叫Bug)纪录都包罗了哪些内容?如何提交高质量的软件缺陷(Bug)纪录?
一条Bug纪录最基本应包罗:
bug编号;
bug严重级别,优先级;
bug产生的模块;
起首要有bug择要,论述bug大体的内容;
bug对应的版本;
bug详细征象描述,包括一些截图、录像…等等;
bug出现时的测试环境,产生的条件即对应操作步骤;
高质量的Bug纪录:
1.通用UI要统一、准确
缺陷陈诉的UI要与测试的软件UI保持一致,便于查找定位。
2.尽量使用业界惯用的表达术语和表达方法
使用业界惯用的表达术语和表达方法,保证表达准确,体现专业化。
3.每条缺陷陈诉只包括一个缺陷
每条缺陷陈诉只包括一个缺陷,可以使缺陷修正者迅速定位一个缺陷,会合精力每次只修正一个缺陷。校验者每次只校验一个缺陷是否已经准确修正。
4.不可重现的缺陷也要陈诉
起首缺陷陈诉必须展示重现缺陷的能力。不可重现的缺陷要努力重现,若努力之后仍不能重现,仍旧要陈诉此缺陷,但在陈诉中要注明无法再现,缺陷出现的频率。
5.明白指明缺陷类型
根据缺陷的征象,总结判断缺陷的类型。例如,即功能缺陷、界面缺陷、数据缺陷,公道化建议。这是最常见的缺陷或缺陷类型,其他形式的缺陷或缺陷也附属于其中某种形式。
6.明白指明缺陷严重等级和优先等级时间明白严重等级和优先等级之间的差异。高严重标题大概
7.描述 (Description) ,简洁、准确,完整,展现缺陷实质,纪录缺陷或缺陷出现的位置描述要准确反映缺陷的本质内容,简短明了。为了便于在软件缺陷管理数据库中寻找制定的测试缺陷,包罗缺陷发生时的用户界面(UI)是个良好的习惯。例如纪录对话框的标题、菜单、按钮等控件的名称。
8.短行之间使用主动数字序号,使用相同的字体、字号、行间距
短行之间使用主动数字序号,使用相同的字体、字号、行间距,可以保证各条纪录格式一致,做到规范专业。
9.每一个步骤尽量只纪录一个操作保证简洁、条理井然,轻易重复操作步骤。
10.确认步骤完整,准确,简短
保证快速准确的重复缺陷,“完整”即没有缺漏,“准确”即步骤准确,“简短”即没有多余的步骤。
11.根据缺陷,可选择是否举行图象捕捉
为了直观的观察缺陷或缺陷征象,通常需要附加缺陷或缺陷出现的界面,以图片的形式作为附件附着在纪录的“附件”部门。为了节省空间,又能真实反映缺陷或缺陷本质,可以捕捉缺陷或缺陷产生时的全屏幕,运动窗口和局部区域。为了迅速定位、修正缺陷或缺陷位置,通常要求附加中文对照图。
附加必要的特殊文档和个人建媾和注解如果打开某个特殊的文档而产生的缺陷或缺陷,则必须附加该文档,从而可以迅速再现缺陷或缺陷。偶然,为了使缺陷或缺陷修正者进一步明白缺陷或缺陷的表现,可以附加个人的修改建议或注解。
12.查抄拼写和语法缺陷
在提交每条缺陷或缺陷之前,查抄拼写和语法,确保内容准确,准确的描述缺陷。
13.尽量使用短语和短句,避免复杂句型句式软件缺陷管理数据库的目标是便于定位缺陷,因此,要求客观的描述操作步骤,不需要修饰性的词汇和复杂的句型,增强可读性。
以上概括了陈诉测试缺陷的规范要求,随着软件的测试要求不同,测试者颠末恒久测试,积累了相应的测试经验,将会逐渐养成良好的专业习惯,不断增补新的规范书写要求。别的,常常阅读、学习其他测试工程师的测试缺陷陈诉,结合自己以前的测试缺陷陈诉举行对比和思索,可以不断进步技巧。
14.缺陷描述内容
缺陷描述的内容可以包罗缺陷操作步骤,实际结果和盼望结果。操作步骤可以方便开发人员再现缺陷举行修正,有些开发的再现缺陷能力很差,固然他明白你所指的缺陷,但就是无法再现特别是对体系不熟悉的新加入开发人员,介绍步骤可以方便他们再现。实际结果可以让开发明白错误是什么,盼望结果可以让开发了解准确的结果应该是如何。
18、黑盒测试和白盒测试是软件测试的两种基本方法,请分别说明各自的优点和缺点?
黑盒测试的优点有:
比较简单,不需要了解程序内部的代码及实现;
与软件的内部实现无关;
从用户角度出发,能很轻易的知道用户会用到哪些功能,会碰到哪些标题;
基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;在做软件主动化测试时较为方便。
黑盒测试的缺点有:
不大概覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;主动化测试的复用性较低。
白盒测试的优点有:
帮助软件测试人员增大代码的覆盖率,进步代码的质量,发当代码中隐 藏的标题。
白盒测试的缺点有:
程序运行会有很多不同的路径,不大概测试所有的运行路径;
测试基于代码,只能测试开发人员做的对不对,而不能知道计划的准确与否,大概会遗漏一些功能需求;体系庞大时,测试开销会非常大。
19、如何测试一个纸杯?
功能度:用水杯装水看漏不漏;水能不能被喝到
安全性:杯子有没有毒或细菌
可靠性:杯子从不同高度落下的损坏程度
可移植性:杯子在不同的地方、温度等环境下是否都可以正常使用
兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等
易用性:杯子是否烫手、是否有防滑措施、是否方便饮用
用户文档:使用手册是否对杯子的用法、限定、使用条件等有详细描述
疲劳测试:将杯子盛上水(案例一)放24小时查抄泄漏时间和环境;盛上汽油(案例二)放24小时查抄泄漏时间和环境等
压力测试:用根针并在针上面不断加重量,看压强多大时会穿透
20、黑盒测试的测试用例常见计划方法都有哪些?请分别以具体的例子来说明这些方法在测试用例计划工作中的应用。
1)等价类分别:
等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭破程序中的错误都是等效的.并公道地假定:测试某等价类的代表值就即是对这一类其它值的测试.因此,可以把全部输入数据公道分别为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类分别可有两种不同的环境:有用等价类和无效等价类.
2)边界值分析法:
是对等价类分别方法的增补。测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界环境计划测试用例,可以查出更多的错误.使用边界值分析方法计划测试用例,起首应确定边界环境.通常输入和输出等价类的边界,就是应着重测试的边界环境.应当选取正好即是,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典范值或任意值作为测试数据。
3)错误推测法:
基于经验和直觉推测程序中所有大概存在的各种错误, 从而有针对性的计划测试用例的方法。错误推测方法的基本思想: 枚举出程序中所有大概有的错误和轻易发生错误的特殊环境,根据他们选择测试用例. 例如, 在单元测试时曾列出的许多在模块中常见的错误. 以前产物测试中曾经发现的错误等, 这些就是经验的总结. 另有, 输入数据和输出数据为0的环境. 输入表格为空格或输入表格只有一行. 这些都是轻易发生错误的环境. 可选择这些环境下的例子作为测试用例。
4)因果图方法:
前面介绍的等价类分别方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的接洽, 相互组合等. 考虑输入条件之间的相互组合,大概会产生一些新的环境. 但要查抄输入条件的组合不是一件轻易的事情, 纵然把所有输入条件分别成等价类,他们之间的组合环境也相当多. 因此必须考虑采用一种得当于描述对于多种条件的组合,相应产生多个动作的形式来考虑计划测试用例。这就需要利用因果图(逻辑模型)。因果图方法终极生成的就是判断表.它得当于查抄程序输入条件的各种组合环境。
5)正交表分析法:
大概由于大量的参数的组合而引起测试用例数量上的激增,同时,这些测试用例并没有明显的优先级上的差距,而测试人员又无法完成这么多数量的测试,就可以通过正交表来举行缩减一些用例,从而达到尽量少的用例覆盖尽量大的范围的大概性。
6)场景分析方法:
指根据用户场景来模拟用户的操作步骤,这个比较雷同因果图,但是大概实行的深度和可行性更好。
7)状态图法:
通过输入条件和体系需求说明得到被测体系的所有状态,通过输入条件和状态得出输出条件;通过输入条件、输出条件和状态得出被测体系的测试用例。
8)大纲法:
大纲法是一种着眼于需求的方法,为了列出各种测试条件,就将需求转换为大纲的形式。大纲表示为树状结构,在根和每个叶子结点之间存在唯一的路径。大纲中的每条路径定义了一个特定的输入条件集合,用于定义测试用例。树中叶子的数目或大纲中的路径给出了测试所有功能所需测试用例的大抵数量。
part4
探究测试用例计划的六大思路
有这样一个口试题:在一个Web测试页面上,有一个输入框,一个计数器(count)按钮,用于计算一个文本字符串中字母a出现的个数。请计划一系列测试用例用以测试这个Web页面。
有经验的测试人员大概会问口试官,字母a区分大小写吗?只统计英文字母的a吗?最长输入字符是多少,最少输入字符是多少?对输入的字符类型是否有限定,是否会主动清除不符合要求的字符?
[*] 所以第一步应该是明白需求,然后我们才开始举行思索如何计划测试用例。
[*]
[*] 通常说来,我们考虑一个测试对象的时间至少从以下六方面来考虑:
[*]
[*] 1.功能性
[*]
[*] 2.兼容性
[*]
[*] 3.易用性
[*]
[*] 4.可靠性
[*]
[*] 5.性能
[*]
[*] 6.安全
[*]
[*] 1.从功能方面考虑:
[*]
[*] 输入:" "(思路:什么都不输入)
[*]
[*] 输入:"null"(思路:特殊值)
[*]
[*] 输入:"Aa"(思路:输入字符既含大写字符也有小写)
[*]
[*] 输入:"abc"(思路:以a开头)
[*]
[*] 输入:"cac"(思路:a在中间)
[*]
[*] 输入:"aba"(思路:以a开头,以a末端)
[*]
[*] 输入:" ba"(思路:以空格开头含a)
[*]
[*] 输入:"中ba"(思路:以中文大概其他字符开头含a)
[*]
[*] 输入:"AAaa"(思路:输入字符仅仅只有大写A和小写a)
[*]
[*] 输入:"全角和半角a"(思路:考虑半角和全角符号)
[*]
[*] 2.从兼容性方面考虑:
[*]
[*] 1.各个浏览器 表现是否准确,点击按钮是否有用;
[*]
[*] 2.浏览器各个版本表现是否准确,点击按钮是否有用;
[*]
[*] 3.是否支持手机端和平板端。
[*]
[*] 3.从易用性方面考虑:
[*]
[*] 1.web界面表面,风格是否合适;
[*]
[*] 2.文本输入框长度是否合适,是否应该默认提示如何输入;
[*]
[*] 3.输入错误时提示是否友好;
[*]
[*] 4.考虑该应用是否支持其他语言。
[*]
[*] 4.从可靠性和性能方面考虑:
[*]
[*] 1.输入HTML和JavaScript相干标具名符,计算是否准确,是否会粉碎页面;
[*]
[*] 2.这个应用能否在同一台服务器上运行多个实例,多个用户同时使用是否会有标题;
[*]
[*] 3.在大并发下使用,计算速率是否满意要求。
[*]
[*] 5.从安全性方面考虑:
[*]
[*] 1.输入的数据是否会被生存,输入字符串大概包罗敏感信息;
[*]
[*] 2.尝试复制/粘贴字符串;
[*]
[*] 3.尝试快速点击多次计算按钮;
[*]
[*] 4.考虑是否有安全毛病,点击计算按钮,请求是否会被截取,导致返回失败。
part5
1、金融软件测试口试标题有哪些?
网上银行转账是怎么测的,计划一下测试用例。
复兴思路:
宏观上可以从质量模型(全能公式)来考虑,重点需要测试转账的功能、性能与安全性。计划测试用例可以使用场景法为主,先列出转账的基本流和备选流。然后计划场景,最后根据场景计划数据。实际口试中需要举出具体的例子。
先查抄界面。
再测试功能,
验证同行转账,跨行转账。
验证转账限额。
验证非法账户(挂失,冻结,锁定的账户)的转账。
再测试性能方面的。
测试工作的流程?缺陷状态有什么?计划测试用例有几种方法?
测试工程师的实际工作流程(以P2P中型版本为例,一个月一个版本):
产物司理大概SR把需求书发下来给开发和测试
测试先看一遍,举行需求分析。测试组长编写测试计划,并且分配测试任务给测试人员(2天时间)(此时开发也在举行需求分析)
过了2天,产物司理再把测试和开发召集在一起,举行需求讲解(大概说需求评审),有标题可以直接问,如果发现需求有标题,也可以提出来,SR回去会修改。(需求讲解时间0.5天)
讲完需求后,测试同事要举行测试场景的梳理和案例的编写了(xmind和Excel就要用上了),一共5个工作日。(此时开发在编写代码)
之后就要举行案例评审了,评审时间有SR、测试同事、开发同事,评审时间一般SR、测试组长、对应模块的开发同事会提出一点意见,评审完之后,回去修改、增补一下案例。(案例评审0.5天)
修改完以后,有两种处理环境:
对大项目偶然间要举行案例的第二次评审。
对小项目,在时间紧的时间,一般不会二审,但是要以邮件的形式把修改大概新增后的案例发出来,给领导看,并抄送给其他同事。(案例评审0.5天,修改案例0.5天,案例二审0.5天)
案例评审完就要开始测试了,一般测试环境开发搭建好(要说自己也会搭建,搭建流程背老师总结的):
中型版本的测试一般分2轮:第一轮:5天;第二轮:3天;回归测试2天;(共10个工作日)。
回归测试完后,达到了上线尺度,就会准期上线,一般当天晚上12点上线
缺陷状态:缺陷管理的流程图
2、在项目中找到的经典BUG是什么?
兼容性标题,在ie浏览器,提交订单按钮可以点击,到了谷歌,火狐就不能了。
查询订单页面,根据条件筛选的结果不是想要的结果,另有某些字段的值没有表现出来,大概表现错误。(由于开发从库表取值有误)
付款成功后,订单状态一直不翻转为生意业务成功。(由于代码没有准确获取库表中付款成功纪录的状态码)
修改支付密码,新密码和原密码一致,也通过了,体系没有做新旧密码的校验。
付款时间的手机验证码,可以一直使用,没有成功做有用期控制。
手机app断开网络后,再去点击,没有友好的错误页面提示网络已断开,只有undefined返回
3、定期存款到期主动转存该怎么测?
复兴思路:到期肯定会有边界,所以计划里面可以考虑边界值法。主动转存(起首要搞清晰什么是主动转存。)
4、存钱该怎么测,用什么测试方法?
准备思路:存钱要分类:活期、零存整取等(具体规则百度下),然后根据每类的业务规则选择合适的用例计划方法。譬如一次最少存入多少?最多一次能存入多少等。
5、你发现Bug后,应该怎么办?
起首咨询一下开发是不是bug,让他开端判断一下。
如果不是bug,开发给到来由也比较充分,确实自己也搞错了,也就算了。
如果开发也认为是bug,那就直接提了。
如果我猜疑开发的解答,我觉得是bug,开发对峙不是bug,我就要咨询我们组长大概开发组长,让他们判断一下。
6、如果发现了一个BUG,跟开发本身没什么关系,涉及到理念,需求标题,如何办理?
把标题暴露给测试组长和开发组长,咨询他们意见,组长们再知会开发分组司理和项目司理,然后各人和产物司理一起探究办理,需要改需求的地方就要改了。
7、测试非常紧急过程中,碰到壅闭性标题,对应的开发没偶然间办理,你如何推动标题办理?
起首判断标题的严重性,向对应的开发了解标题的原因。
然后再报告给自己的测试组长和开发组长,让组长知情,咨询他们的意见,再把标题报告给开发分组司理,让他们统一调和处理。安排经验丰富的其他高级开发人员来帮忙此开发办理标题,然后通过加班来完成标题办理和测试。
8、功能测试的BUG级别你们怎么分别?
bug严重程度:一般提L4 和L3,L2很少提,除非影响流程。L1这个黑白常致命的bug,基本上不会提。
9、实行别人的用例,如果发现用例有错怎么处理?
起首咨询一下案例作者大概询问测试组长,确认一下,如果确实有误就要修正用例。
10、你们做过冒烟侧吗?冒烟测试是什么(理论)?
冒烟测试也叫预测试,就是正式测试之前的一种测试,为了确保主流程能走通。
可以复兴没有冒烟测试,就说测试之前一般会要求开发自测,开发自测后(自测大概就是一天左右的时间),确保没有大的标题,再通知测试开始测试。
11、你们项目做了多久,共写了多少用例?项目多少人?
项目做了多久:(两种复兴,建议选择第一种)
我进去的时间项目已经上线了,一直存在,然后就是版本的微小更新,小修改的话,大概半个月一个版本,中修改的话,大概一个月一个版本。每次版本更新,针对新的功能点大概修改点大概写了60条案例左右(一个月一个版本的例子)。
我进去的时间,一开始就参与这个项目(也就是需求分析开始),项目从零到有举行了半年左右,六个月内大概整个项目组写了900条案例左右。自己写了200条左右(共5个测试,包括组长)。
PS:如果各人说自己是从零到有参与的项目,那么6个月时间是从需求分析开始。需求书编写完成前,产物司理他们是要做很多前期准备工作,大概要花费3个月左右的时间。
那么测试6个月的实际工作时间内:
前期2个月:刚开始需求书的毛病比较多,需求评审比较多,基本上每个星期一次评审。开发和测试都会参与,此时开发在举行代码计划,测试就在分析需求,看参考文档,用xmind梳理测试场景,提取测试点,开发常常和产物司理讨论需求,测试常常问开发和产物司理有关需求的疑问。各人一直碰撞,一步一步得出比较完美的逻辑。
中间2个月:开发计划完后,举行编码,我们测试就根据之前梳理的测试场景来编写案例,进一步优化。这个期间,需求书基本稳定,不会再改了。要改也就是把细化需求,把笼统的地方,描述的更详细,更让人易懂,功能点的大方向不会改。开发和测试在此期间有疑问,都会邮件大概电话接洽产物司理。测试也会常常去问开发有关功能点的逻辑标题。
背面2个月: 实行案例工作开始举行,一般分为两轮st测试,第一轮1个月,第二轮半个月,回归测试半个月。Uat测试组在st测试第二轮时间,并行开始。Uat测试组有专门人负责,一般需要st测试组派一个人左右去支持,uat测试也有第一轮(半个月),第二轮(半个月)。
项目多少人:一个公司往往有很多项目,自己只是其中一个项目组的,我的P2P项目组大概20人,开发15个,测试5个。(各人把自己当成外包人员,在甲方工作,也叫驻场工作)
12、如果要你测试6个月期限的p2p乞贷产物,你应该怎么计划案例,说出测试点
(复兴思路:1站在用户的角度测试,用户怎么用,你就怎么测试。2 一个人扮演多种脚色测试。 3多想出一些非常场景。)
乞贷产物投标竣事日T+7时,满标和不满标的环境。
乞贷产物投标竣事日T+7前,产物提前满标环境
产物成立后,每个月还款日前,查抄体系有没有发出邮件,短信,站内信通知乞贷人充值到平台账户。
在每月还款日,乞贷人充值用来还款时,充值资金足够、不足够、不充值环境,查看体系如何处理。充值资金不足大概没有充值时,体系应该有罚息。
乞贷人提前还清余款场景,有些产物不支持提前还款,有些产物要满肯定期限才可以提前还款(提前还款有肯定手续费)。这些都是要关注的测试点。(自己要扮演乞贷用户去操作提前还清余款,然后扮演背景管理员去审核,然后又扮演投资人用户去查抄虚拟账户的资金到账环境)
最后一期乞贷人还清资金时,去背景页面查看乞贷产物状态,应该已正常竣事。再去前台页面搜刮,应该无该乞贷产物了。 (大概增补说:去数据库里查看此乞贷产物的状态)
13、你们这个P2P上线了吗?能查吗?项目花了多久时间,预计多久完成?
复兴:两种方案:
还没上线,查不了,这个是新项目,计划半年时间完成,但是由于中途有出现一些标题没有办理完毕,所以现在还没有在预计时间内完成。
各人写的项目名在网上确实能查出来,就说上线了,能查到的。(口试官其实不肯定会去查)
14、实名认证你们是怎么测得?调取什么平台的资料?
实名认证接口:
银行卡实名认证(调用银行接口,验证卡号,姓名,身份证号码,手机号码。需要利用得手机吸收到的验证码)
身份证实名认证(全国公民身份证号码查询服务中心,大概直接说公安接口)
15、注册需要实名认证吗?
注册不需要实名认证:当购物时间需要实名认证。
16、P2P你们也测试背景管理吗?个人芝麻名誉积分是调取哪里的资料?
测试背景管理:
背景也测,但是我主要测试前台,我的关注点是前台,背景只是拿来用,能共同前台正常走完流程就行。背景主要对前台举行管理,主要有贷款管理,资金管理。
贷款管理:
可以查看投资人的投资环境,也可以查看乞贷人的乞贷产物,对乞贷产物举行管理。比如审批,每期的还款提醒,预警等。
资金管理:
管理查看用户的充值,审批用户的提现过程。
芝麻名誉积分:
调用的是支付宝的接口,芝麻名誉:调用的是支付宝那边的接口(支付宝提供这样的芝麻名誉服务,每查一次收取大概0.1元)
17、如果要测试背景删除用户,就是用户名背面一个删除按钮的环境,能写出哪些测试用例?
删除一个用户的场景:点击删除按钮,页面主动刷新,此用户在该页面已查询不到。再去打开另外一个浏览器,在前台登录已删除的用户,页面提示该用户不存在。
同时删除多个用户的场景:利用复选框,测试多选,反选,全选删除用户的环境。删除后,被删用户在该页面已查询不到,同样要去前台登录已删除的用户,页面应该提示该用户不存在。
18、如果京东有一个购物网页给你,你要怎么举行测试?测试哪些主要功能?
起首举行需求分析,用xmind梳理测试点,再编写案例,之后就行案例评审,寻求他人意见。之后再完善案例,发出来给其他人查抄。
测试点,起首是UI方面:雅观度,和易操作型,易明白性型方面举行测试。
然后再考虑他的功能点,注册登录,添加购物车,下单,付款,发货,确认收货,评价。另有支付时间的绑定银行卡,实名认证
性能方面:打开网页,确认订单、付款的响应时间等等。
兼容性:支持各种主流浏览器,ie,360,火狐,谷歌等。
19、针对添加购物车这个测试点说一下你要怎么测试“添加购物车”
(增删改查的角度)
能否加入购物车,同一件商品能否再次添加到购物车。
购物车商品件数的上限限定(淘宝限定100件)
购物车是否可以正常移除商品,移除商品后,能否再添加返来。
添加的每种商品是否可以正常增减数量,数量大于0
退出购物车,再去查询购物车,商品正常。
购物车的商品可以全选,取消全选,可以复选,选中的商品和数量可以正常下单。
商品添加到购物车以后,已下架。购物车会提示此宝贝已失效。
商品添加到购物车以后,贬价了,购物车会有贬价提示。
商品添加到购物车以后,库存不足了。
20、P2P功能测试你们一般做几轮?
中型版本(大修改,一个月上线一次):测试一般分2轮:第一轮:5天;第二轮:3天;回归测试2天;(共10个工作日)。(一个月工作日22天,需求分析评审,编写测试用例等等一般占用整个版本时间的一半,大概少个几天)
小型版本(小修改,两个星期一次):一轮测试3天,回归测试2天。
21、你们每次开会讨论的时间十几个开发都去开会了吗?
案例评审会:一般开发和测试、产物司理都会加入。(开发分组司理大概也会去)需求评审会:项目司理、开发分组司理、产物司理、测试、开发一般都会到。
如果是我们测试小组开会,一般都要到,各位测试同事陈诉自己的心得体会,报告自己的进度和标题。
22、数据库查找两个表
复兴思路:
多表查询,背面具体会学到:select 列1,列2 from 表1,表2 where 表1.列=表2.列 这样的格式要能说出来。
23、熟悉数据库吗?平常数据库用的多吗?
熟悉数据库吗:比较熟,比如DML语句有增删改查:(有序思维说出来)
1 insert into 表名 values(值1,值2,值3,…)
2 delete from 表名 where 条件
3 update 表名 set 列名 = 新值
4 select * from 表名
查询语句最长的是 select * from 表名 where 条件 group by 分组列名 having 分组后的条件 order by 列名。
平常数据库用的多吗(大概测试过程的1/4时间在查数据库):还行,一般出现标题,碰到bug,就要去查询数据库,开端定为标题。开发会给到我们一个库表计划的excel(数据字典),里面有描述表名和表中的字段,我把生意业务过程的一些唯一标识,把他作为where条件去查询数据。开端分析后,再把标题暴露给开发。(比如淘宝支付时,输入支付密码后,已经返回了支付成功的提示信息,然后界面上的订单查询还是待付款,这个时间就要去查询订单表的数据,找到自己刚才做的生意业务的那一笔订单,去分析一下错误,再暴露给开发)
24、linux查看文件用什么命令,查看进程用什么命令?
复兴:
查看文件内容的命令有 more less head tail cat tac
查看进程:ps -ef | grep 进程号
查看日志文件常用:less、view
查看日志常用什么命令,主要查看什么内容
查看日志常用less命令大概view命令。
主要查看程序运行的纪录,比如支付失败,背景就有报错信息打印到.log日志文件中,就可以通太过析日志信息来开端定为标题。(增补:同时也去查询数据库,分析订单数据,查看支付状态等等)
PS:日志就是.log的文本文件,和.txt一样属于文本文件。vi大概vim编辑器属于记事本软件,一般不会用来查看日志。
25、如何查找a.log日志文件的error字符串?
第一种方式:(建议说第一种方式)
cat a.log | grep error;
第二种方式:
1 less a.log;
2 /error;
你所熟悉的linux命令
linux:cat,more,less,head -n,tail -n,find ,| grep,ps -ef,tar,gzip,mv,cp,touch,mkdir,vi,top
也可以结合搭建环境的过程说用到的命令。
26、如果领导分配你的任务超出负荷,领导高估了你的能力,怎么办?
复兴思路:
起首表达态度,态度上乐意通过加班来完成,还可以请求测试同事支援,让组长调和。
高估了能力,能力可以在工作中通过自己的努力来达到领导的要求
总而言之基本的思路是态度要端正。
不能直接拒绝任务。但也同时表达万一做不好还请领导包容。
27、假设你是组长,团队中有一个员工无法按时完成交付的任务,你如何处理?
复兴思路:
起首先检讨自己是否任务安排超过了这个员工的能力。
如果没有超过,起首表示关心身体和状态,了解未实时完成任务的原因,如果原因是客观原因则一起加班跟员工来完成任务。
如果是态度原因,则指出好坏关系,责令其通过加班来完成。
28、如果由于你的错误导致工作发生标题,你怎么办?
复兴思路:
起首要表达在过去的工作中从未发生过雷同事情,由于自己工作态度还是很端正的。
万一由于自己的错误导致工作发生标题,起首应该把标题上报给领导,争取把标题的影响降到最低程度。
29、给你一个模块测试,只有一个星期的时间你如何有服从地完成?
答:在有限的时间里,明白需求的环境下,制定工作计划,把每天任务细分,先保证重要功能,跟进修复环境,实时验证bug。每天发工作日报,报告进度,如果碰到风险,实时报告领导。
30、如果给你一个没有需求的app测试项目,你应该怎么测?
建议:根据APP的 11大测试点;
权限测试
安装、运行、卸载测试
UI测试
功能测试
性能测试
停止测试
兼容测试
安全测试
回归测试
升级更新测试
用户体验测试
增补:根据自己的经验,制定测试计划,每天报告自己的进度,发出测试日报。
测试过程有标题,实时上报,实时跟进bug,多和开发交换沟通,明白需求。
21、如果你和开发的意见产生分歧,你怎么处理?
复兴思路:
大的原则是对事不对人。
另外我会起首尝试站在开发的角度接受对方的意见和建议,同时控制好自己的情绪,在对方情绪可控的环境下表达自己的意见。
32、如果你组长的用例写错了,但他认为是对的,你怎么处理?
复兴:
通常环境下,领导看标题的角度会比我们更全面,所以我起首得确保领导的用例是否真的有考虑不到的地方。
我不会对峙自己的是对的,但会在公道的环境下表达自己的观点。
33、你同时负责功能和性能,你怎么做?
先测成功能,保证功能的完成,再做性能,在提交bug后,开发还没改好时,可以准备性能测试,在工作时间很紧的环境下会主动加班
34、我们公司主动化测试用的语言是Java,Java你不会,该怎么办?
复兴思路:
问到不会的尺度思路:要么说会一点相干的内容,要么表达自己有不错的学习能力和很好的学习意愿和态度。
我们学了Java了就说会,知道面向对象的封装,继承,多态,知道多线程的两种创建方式(自定义子类继承Thread类,大概自定义子类实现Runable接口),还知道非常Throwable,Exception的格式,try catch finally。知道List, Set,Map集合。我可以很快的学会用Java做主动化。
35、以前的项目是怎么管理的?
复兴思路:
我们以前的项目是用禅道来做测试的需求管理、用例管理、缺陷管理的。另外版本管理工具使用的是SVN。
36、以前的项目每天需要实行多少用例?
复兴思路:
正常环境一般每天实行20个左右的用例,刚开始测试的时间,bug比较多,需要很多时间和开发交换沟通
案例实行会比较慢。越到背面就越快了。
37、你们做回归测试的时间是否全部都做呢?
看时间,如果时间比较充足,会全部回归,回归时间由于自己操作比较纯熟,然后体系基本上也没有bug。所以实行案例的速率会比较快。
如果时间比较紧,就会挑选重要模块来回归测试了。
PS:自己组织好语言。
38、你们怎么确保用例覆盖率?确保不重复?
利用判断表法的思想,先穷举,再挑代表。
然后,案例评审时间产物司理、开发组长、测试组长,另有对应模块的开发负责人也会把关,可以咨询他们意见,确保案例即覆盖完全,又没有多余的重复案例。
我整理了一波之前发布的软件测试资源【点击文末小卡片免费领取】,无套路领取!
基本涵盖了软件测试 的全部核心技术点:测试理论,Linux 基础,MySQL 基础,Web 测试,接口测试,App 测试,管理工具,Selenium 相干,性能测试,计算机网络,组成原理,数据结构与算法,逻辑题,人力资源,技术脑图等等…质量非常高!!!应对技术口试绰绰有余!
39、你们案例是怎么评审的?
评审时间有产物司理(SR)、测试同事、开发同事,评审时间一般产物司理(SR)、测试组长、对应模块的开发同事会提出一点意见,评审完之后,回去修改、增补一下案例。
修改完以后,有两种处理环境:
对大项目偶然间要举行案例的第二次评审。
对小项目,在时间紧的时间,一般不会二审,但是要以邮件的形式把修改大概新增后的案例发出来,给领导看,并抄送给其他同事。(案例评审0.5天,修改案例0.5天,案例二审0.5天)。
40、视图是什么?
视图纪录了一条SQL语句,当查询时才有数据返回。表就是一张具体的表。视图只能查询数据,表可以增删改查。
人力口试
1、为什么转做测试
复兴思路:
大学就通过互联网了解软件测试,了解IT,自己也比较喜欢,然后也选修了C语言大概Java语言来学。
在大四之前的暑假,在松勤培训过软件测试。
2、加班出差能接受吗,加班能接受吗?
复兴思路:
通常如果这个标题被标题,是绝对不能直接说不接受的,能接受出差,还没有男/女朋友。
搞IT一般都要加班,我以前也是这么加的,没标题。
站在自己的角度说:还年轻,盼望能在短时间内进步自己的能力和积累更丰富的经验,加班是没有标题的。
3、说说你自己与众不同的地方和性格上的缺陷以及你准备如何改善?
复兴思路:
其实这个标题就是复兴优缺点。
性格本身是一种习惯,说以你应该表示通过优化自己的举动习惯来改变自己的缺点。
向身边的榜样学习,就是学最好的别人,做最完美的自己。
4、在学校时参加过社团吗、当过最高的职位,会调和吗?
复兴:
如果有就更好,这个能够体现自己的调和能力、组织能力、沟通能力。这些对于工作很重要。要讲一两件具体的事情,把能力通过事情体现出来。
5、领导和追随者你认为自己得当哪个?
复兴:
领导是带领和引导,一般通用的复兴要是领导,由于自己可以以身作则,技术上也能对下属有肯定的引导能力。
6、以往工作经验
复兴:
在忙碌的工作当中,既充实,又有成绩感。通过不断的测试,我的沟通能力、调和能力得到了进步,同时还收获了行业知识经验等,深刻感受到了团体精神的重要性。
8、为什么要从事软件测试?
复兴:
自己非常喜欢互联网,喜欢it,我觉得这一行非常有前景,马云说现在已经世界已经进入第三次工业革命了,就是信息技术革命。计算机发展速率很快,互联网公司可以利用短短几年时间到达传统行业过去要几十年才能达到的境界。
9、过去工作中最有成绩的事情是什么?
复兴思路:
基本原则是要谦卑,谈不上最有成绩的事情。
如果非得要说有的话从某一件事情上收获颇多,克服了什么样的困哪等。
10、试用期、转正盼望工资多少?
复兴思路:
起首要说其实工资不是最关键的,然后给一个500元范围浮动的值
一线都会工资应届生最低6000,毕业一年7000,毕业两年8000,毕业三年9000以上。小编给的是最低尺度,各人看根据自己学习环境,适当调整,比如学的不错的同学,两年工作经验提10000没有标题的。
如果问你上一家公司工资多少,就说出比你现在盼望工资少个500元的值。
总结:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是盼望各人少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答标题,对峙几天便放弃的感受的话,在这里我给各人分享一些主动化测试的学习资源,盼望能给你前进的路上带来帮助。
https://i-blog.csdnimg.cn/blog_migrate/62bd951d30f9fef4baaeeabc8bd3825b.png
软件测试口试文档
我们学习一定是为了找到高薪的工作,下面这些口试题是来自阿里、腾讯、字节等一线互联网大厂最新的口试资料,并且有字节大佬给出了权威的解答,刷完这一套口试资料信赖各人都能找到满意的工作。
https://i-blog.csdnimg.cn/blog_migrate/61e9d9b24071762dbf642bd3584be9da.png
https://i-blog.csdnimg.cn/blog_migrate/460333514d6bdd294528a4979f05e9c9.png
视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战堆栈,这个堆栈也陪同我走过了最艰巨的路程,盼望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]