赞
踩
https://blog.csdn.net/weixin_45912307/article/details/109523724
01. 请描述如何划分缺陷与错误严重性和优先级别?
给软件缺陷与错误划分 严重性和优先级的通用原则
:
严重性:
严重
:系统崩溃、数据丢失、数据毁坏较严重
:操作性错误、结果错误、遗漏功能一般
:小问题、错别字、UI布局、罕见故障建议
:不影响使用的瑕疵或更好的实现。优先级:
最高优先级
:立即修复,停止进一步测试。次高优先级
:在产品发布之前必须修复。中等优先级
:如果时间允许应该修复。最低优先级
:可能会修复,但是也可能发布。02. 一套完整的测试应该由哪些阶段组成?分别阐述一下各个阶段。
一套完整的测试应该由五个阶段组成:
测试计划
:首先根据用户需求报告中关于功能要求和性能指标的规格说明书,定义相应的测试需求报告,即制订黑盒测试的最高标准,以后所有的测试工作都将围绕着测试需求
来进行,符合测试需求的应用程序即是合格的,反之即是不合格的;同时,还要适当选择测试内容,合理安排测试人员、测试时间及测试资源
等。自动测试
过程。跟踪管理
。测试执行一般由单元测试、组合测试、集成测试、系统联调及回归测试等步骤组成,测试人员应本着科学负责的态度,一步一个脚印地进行测试。测试评估
结合量化的测试覆盖域及缺陷跟踪报告,对于应用软件的质量和开发团队的工作进度及工作效率进行综合评价。03. 一条软件缺陷都记录了哪些内容?
04. 简述一下缺陷的生命周期
打开
:表示问题被提交等待有人处理。重新指派
:问题被重新指派给某人处理。处理
:问题在处理中,尚未完成。固定
:确认此问题存在,但暂时不进行处理。回归
:对已经修复的问题进行回归确认。 reopen
: 重新打开关闭
:问题的最后一个状态。05. 测试用例设计方法都有哪些?
将测试的范围划分成几个互不相交的子集,他们的并集是全集,从每个子集选出若干个有代表性的值作为测试用例
。选取正好等于、刚刚大于、刚刚小于边界的值
,例如,对于在区间min,max的值,测试用例可以记为min,min+,max,max-。在测试程序时,人们可以根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误
的测试用例的方法。策略表
,基于策略表的测试,是功能测试中最严密的测试方法。该方法适合于逻辑判断复杂的场景,通过穷举条件获得结果,对结果再进行优化合并,会得到一个判断清晰的策略表
。在各因素互相独立的情况下,设计出一种特殊的表格,找出能以少数替代全面的测试用例
。其中,上面所说的特殊表格就是正交表,是按照一定规则生成的表。虽然说是特殊的表格,实际表现形式跟一般的表格没有什么区别,正交表的主要特征是,“均匀分布,整齐划一”,正是因为“均匀”的,所以才能以少数代替全部。06. 一个文本框要求输入6位数字密码,且对每个账户每次只允许出现三次输入错误,对此文本框进行测试设计的等价区间有哪些?
密码为空
登录正确输入
[输入正确的值] 登录错误输入
[ 输入错误的值,
输入数据
例如:特殊符号、英文字母、汉字及非法字符等一些非正确值;输入方法
例如:不足六位,超出六位,最大输入值) 登录/取消 ]连续错误输入三次以上
[查看连续错误输入后的提示信息及结果]其他[
是否支持剪贴板操作,例如:复制/剪切/粘贴]07. 您认为在测试人员同开发人员的沟通过程中,如何提高沟通的效率和改善沟通的效果?维持测试人员同开发团队中其他成员良好的人际关系的关键是什么?
08. 什么是测试用例? 什么是测试脚本? 两者的关系是什么?
测试用例
: 为实施测试而向被测试系统提供的输入数据、操作或各种环境设置以及期望结果的一个特定的集合。测试脚本
是为了进行自动化测试而编写的脚本。关系
:测试脚本的编写必须对应相应的测试用例09. 简述什么是静态测试、动态测试、黑盒测试、白盒测试、α测试 β测试
静态测试
是不运行程序本身而寻找程序代码中可能存在的错误或评估程序代码的过程。动态测试
是实际运行被测程序,输入相应的测试实例,检查运行结果与预期结果的差异,判定执行结果是否符合要求,从而检验程序的正确性、可靠性和有效性,并分析系统运行效率和健壮性等性能。黑盒测试
一般用来确认软件功能的正确性和可操作性,目的是检测软件的各个功能是否能得以实现,把被测试的程序当作一个黑盒,不考虑其内部结构,在知道该程序的输入和输出之间的关系或程序功能的情况下,依靠软件规格说明书来确定测试用例和推断测试结果的正确性。
白盒测试
根据软件内部的逻辑结构分析来进行测试,是基于代码的测试,测试人员通过阅读程序代码或者通过使用开发工具中的单步调试来判断软件的质量,一般黑盒测试由项目经理在程序员开发中来实现。α测试
是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由程序员或测试员完成。β测试
是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。10. 软件质量保证体系是什么? 国家标准中与质量保证管理相关的几个标准是什么? 他们的编号和全称是什么?
11. 软件产品质量特性是什么?
功能性
:适应性、准确性、互操作性、依从性、安全性。可靠性
:成熟性、容错性、易恢复性。可使用性
:易理解性、易学习性、易操作性。效率
:在指定的条件下,用软件实现某种功能所需的计算机资源(包括时间)的有效程度。可维护性
:易分析性、易变更性、稳定性、易测试性。可移植性
: 适应性、易安装性、遵循性、易替换性12. 软件测试的策略是什么?
13. 软件测试分为几个阶段 各阶段的测试策略和要求是什么?
和开发过程相对应,测试过程会依次经历单元测试、集成测试、系统测试、验收测试
四个主要阶段:
单元测试测试策略:
自顶向下
的单元测试策略:比孤立单元测试的成本高很多,不是单元测试的一个好的选择。自底向上
的单元测试策略:比较合理的单元测试策略,但测试周期较长。孤立单元
测试策略:最好的单元测试策略。集成测试的测试策略:
大爆炸集成
:适应于一个维护型项目或被测试系统较小自顶向下集成
:适应于产品控制结构比较清晰和稳定;高层接口变化较小;底层接口未定义或经常可能被修改;产口控制组件具有较大的技术风险,需要尽早被验证;希望尽早能看到产品的系统功能行为。自底向上集成
:适应于底层接口比较稳定;高层接口变化比较频繁;底层组件较早被完成。系统测试的测试策略:
14. 软件测试各个阶段通常完成什么工作?各个阶段的结果文件是什么?包括什么内容?
单元测试阶段
:各独立单元模块在与系统地其他部分相隔离的情况下进行测试,单元测试针对每一个程序模块进行正确性校验,检查各个程序模块是否正确地实现了规定的功能。生成单元测试报告,提交缺陷报告。集成测试阶段
:集成测试是在单元测试的基础上,测试在将所有的软件单元按照概要设计规格说明的要求组装成模块、子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求的活动。该阶段生成集成测试报告,提交缺陷报告。系统测试阶段
:将通过确认测试的软件,作为整个给予计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行全面的功能覆盖。该阶段需要提交测试总结和缺陷报告。15. 软件生命周期(SDLC)的六个阶段
16. 软件生命周期模型
在经历需求、分析、设计、实现、部署后,软件将被使用并进入维护阶段,直到最后由于缺少维护费用而逐渐消亡。这样的一个过程,称为"生命周期模型"(
Life Cycle Model)。
瀑布模型、快速原型模型、迭代模型
。
17. 软件测试概念
18. 软件测试目的
19. 软件测试原则
20. 软件测试的的重点
测试用例的设计
测试工作的管理
测试环境的建立
21. 什么是黑盒测试?
功能测试或数据驱动测试
,是针对软件的功能需求/实现进行测试,通过测试来检测每个功能是否符合需求,不考虑程序内部的逻辑结构
黑盒测试方法
22. 什么是白盒测试
白盒测试的主要方法
是:
23. 什么是动态测试
在开发/测试环境或实际运行环境中运行软件,并使用测试用例去查找软件缺陷
;动态测试包括功能确认与接口测试、覆盖率分析、性能分析、内存分析等24. 什么是静态测试
代码检查、程序结构分析、代码质量度量
等。它可以由人工进行,也可以借助软件工具自动进行25. 手工测试和自动测试
手工
完成测试的全部过程无法保证测试的科学性与严密性:
自动测试
将测试人员从反复、烦杂的测试执行中解放出来,用更多的时间进行测试设计和结果分析
26. 测试流程
27. 单元测试
单元测试的内容
28. 集成测试
29. 系统测试
系统测试主要内容
功能需求
得到满足性能需求
得到满足30. 用户验收/确认测试
Alpha测试
:是由用户在开发者的场所来进行的,Alpha测试是在一个受控的环境中进行的Beta测试
:由软件的最终用户在一个或多个用户场所来进行的,开发者通常不在现场,用户记录测试中遇到的问题并报告给开发者31. 请说一说黑盒与白盒的测试方法
黑盒测试
:白盒测试
:
结构测试或逻辑驱动测试
,是针对被测单元内部是如何进行工作的测试。它根据程序的控制结构设计测试用例,主要用于软件或程序验证。白盒测试法检查程序内部逻辑结构,对所有的逻辑路径进行测试,是一种穷举路径的测试方法,但即使每条路径都测试过了,但仍然有可能存在错误。因为:穷举路径测试无法检查出程序本身是否违反了设计规范,即程序是否是一个错误的程序;穷举路径测试不可能检查出程序因为遗漏路径而出错;穷举路径测试发现不了一些与数据相关的错误。遵循的原则
有:
白盒测试方法
:
静态测试
:不用运行程序的测试,包括代码检查、静态结构分析、代码质量度量、文档测试等等,它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具(Fxcop)自动进行。动态测试
:需要执行代码,通过运行程序找到问题,包括功能确认与接口测试、覆盖率分析、性能分析、内存分析等。语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖
。六种覆盖标准发现错误的能力呈由弱到强的变化:
32. 软件的生命周期(prdctrm)
计划阶段
(planning) —>> 需求分析
(requirement) -->> 设计阶段(
design) -->> 编码
(coding) -->> 测试
(testing) -->> 运行与维护
(running maintrnacne)33. 请你回答一下单元测试、集成测试、系统测试、验收测试、回归测试这几步中最重要的是哪一步
这些测试步骤分别在软件开发的不同阶段对软件进行测试,我认为对软件完整功能进行测试的系统测试很重要
,因为此时单元测试和集成测试已完成,能够对软件所有功能进行功能测试,能够覆盖系统所有联合的部件,是针对整个产品系统进行的测试,能够验证系统是否满足了需求规格的定义,因此我认为系统测试很重要
。
34. 请回答集成测试和系统测试的区别,以及它们的应用场景主要是什么?
计划和用例编制的先后顺序
:从V模型来讲,在需求阶段就要制定系统测试计划和用例,HLD的时候做集成测试计划和用例,有些公司的具体实践不一样,但是顺序肯定是先做系统测试计划用例,再做集成。用例的粒度
:系统测试用例相对很接近用户接受测试用例,集成测试用例比系统测试用例更详细,而且对于接口部分要重点写,毕竟要集成各个模块或者子系统。执行测试的顺序
:先执行集成测试,待集成测试出的问题修复之后,再做系统测试。集成测试
:完成单元测试后,各模块联调测试;集中在各模块的接口是否一致、各模块间的数据流和控制流是否按照设计实现其功能、以及结果的正确性验证等等;可以是整个产品的集成测试,也可以是大模块的集成测试;集成测试主要是针对程序内部结构进行测试,特别是对程序之间的接口进行测试。集成测试对测试人员的编写脚本能力要求比较高。测试方法一般选用黑盒测试和白盒测试相结合。系统测试
:针对整个产品的全面测试,既包含各模块的验证性测试(验证前两个阶段测试的正确性)和功能性(产品提交个用户的功能)测试,又包括对整个产品的健壮性、安全性、可维护性及各种性能参数的测试。系统测试测试软件《需求规格说明书》中提到的功能是否有遗漏,是否正确的实现。做系统测试要严格按照《需求规格说明书》,以它为标准。测试方法一般都使用黑盒测试法。35. 软件都有多少种分类?
根据功能的不同,电脑软件可以粗略地分成四个层次:
小巧的软件
。它们实现一些最基本的功能,通常“固化”在只读存储器芯片中,因此称为固件。操作系统和编译器软件
等。系统软件和硬件一起提供一个“平台”。它们管理和优化电脑硬件资源的使用。支持软件
。包括图形用户界面、软件开发工具、软件评测工具、数据库管理系统、中间件等。应用软件
种类最多,包括办公软件、电子商务软件、通信软件、行业软件,游戏软件等等。36. 请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。
黑盒测试
:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。白盒测试
:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。黑盒测试主要是为了发现以下几类错误
:
把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试
。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是想对程序模块进行如下检查:
对最终软件系统进行全面的测试
,确保最终软件系统满足产品需求并且遵循系统设计。验收测试
是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是验收测试的任务,即软件的功能和性能如同用户所合理期待的那样。37. 测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要的?
软件测试计划
是指导测试过程的纲领性文件,包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容
。借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更。重要的是测试测试策略和测试方法
(最好是能先评审)38. 您认为做好测试计划工作的关键是什么?
明确测试的目标,增强测试计划的实用性
测试计划
得重要目的就是使测试过程能够发现更多的软件缺陷,因此软件测试计划的价值取决于它对帮助管理测试项目,并且找出软件潜在的缺陷。因此,软件测试计划中的测试范围必须高度覆盖功能需求,测试方法必须切实可行,测试工具并且具有较高的实用性,便于使用,生成的测试结果直观、准确坚持“5W”规则,明确内容与过程
采用评审和更新机制,保证测试计划满足实际需求
分别创建测试计划与测试详细规格、测试用例
39. 您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。
等价类划分
把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果
。有效等价类和无效等价类。
边界值分析法
选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。
错误推测法
列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例
。 例如, 在单元测试时曾列出的许多在模块中常见的错误. 以前产品测试中曾经发现的错误等, 这些就是经验的总结. 还有, 输入数据和输出数据为0的情况. 输入表格为空格或输入表格只有一行. 这些都是容易发生错误的情况. 可选择这些情况下的例子作为测试用例.因果图方法
40. 请以您以往的实际工作为例,详细的描述一次测试用例设计的完整的过程。
首先
:得到相关文档(需求文档和设计文档),理解需求和设计思想后,想好测试策略(测试计划简单点就OK了),考虑到测试环境,测试用例,测试时间等问题。第二步
:设计测试用例,测试策略是:把网站部分的功能点测试完,然后在进行系统测试(另外个模块呢有另一个测试人员负责,可以进行联调测试),网站模块的测试基本是功能测试和界面测试(用户并发的可能性很小,所以不考虑):这次的网站的输入数据呢是使用数据库中的某张表记录,如果表中某一数据记录中新加进来的(还没有被处理的,有个标志位),网站启动后会立刻去刷那张表,得到多条数据,然后在进行处理。处理过程中,会经历3个步骤,网站才算完成了它的任务。有3个步骤呢,就可以分别对 这3个步骤进行测试用例的设计,尽量覆盖到各种输入情况(包括数据库中的数据,用户的输入等),得出了差不多50个用例。界面测试,也就是用户看的到的地方,包括发送的邮件和用户填写资料的页面展示。 第三步
:搭建测试环境(为什么这个时候考虑测试环境呢?因为我对网站环境已经很熟了,只有有机器能空于下来做该功能测试就可以做了),因为网站本身的环境搭建和其他的系统有点不同,它需要的测试环境比较麻烦,需要web服务器(Apache,tomcat),不过这次需求呢,网站部分只用到了tomcat,所以只要有tomcat即可第四步
:执行测试41. 为什么要在一个团队中开展软件测试工作?
42. 您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……)
测试类型有:功能测试,性能测试,界面测试。
功能测试
在测试工作中占的比例最大,功能测试也叫黑盒测试。是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。性能测试
是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。界面测试
,界面是软件与用户交互的最直接的层,界面的好坏决定用户对软件的第一印象。而且设计良好的界面能够引导用户自己完成相应的操作,起到向导的作用。同时界面如同人的面孔,具有吸引用户的直接优势。设计合理的界面能给用户带来轻松愉悦的感受和成功的感觉,相反由于界面设计的失败,让用户有挫败感,再实用强大的功能都可能在用户的畏惧与放弃中付诸东流。区别:
功能测试
关注产品的所有功能上,要考虑到每个细节功能,每个可能存在的功能问题。性能测试
主要关注于产品整体的多用户并发下的稳定性和健壮性。界面测试
更关注于用户体验上,用户使用该产品的时候是否易用,是否易懂,是否规范(快捷键之类的),是否 美观(能否吸引用户的注意力),是否安全(尽量在前台避免用户无意输入无效的数据,当然考虑到体验性,不能太粗鲁的弹出警告)?43. 您认为做好测试用例设计工作的关键是什么?
以较少的用例覆盖尽可能多的内部程序逻辑结果
以较少的用例覆盖模块输出和输入接口
。不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题44. 你觉得软件测试通过的标准应该是什么样的?
45. 你对测试最大的兴趣在哪里?为什么?
测试有难度,有挑战性!做测试越久越能感觉到做好测试有多难
。曾经在无忧测试网上看到一篇文章,是关于如何做好一名测试工程师。一共罗列了11,12点,有部分是和人的性格有关,有部分需要后天的努力。但除了性格有关的1,2点我没有把握,其他点我都很有信心做好它。测试用例的设计
,因为测试的精华就在测试用例的设计上了,要在版本出来之前,把用例写好,用什么测试方法写?(也就是测试计划或测试策略),如果你刚测试一个新任务时,你得花一定的时间去消化业务需求和技术基础,业务需求很好理解(多和产品经理和开发人员沟通就能达到目的),而技术基础可就没那么简单了,这需要你自觉的学习能力,比如说网站吧,最基本的技术知识你要知道网站内部是怎么运作的的,后台是怎么响应用户请求的?测试环境如何搭建?这些都需要最早的学好。至少在开始测试之前能做好基本的准备,可能会遇到什么难题?需求细节是不是没有确定好?这些问题都能在设计用例的时候发现。46. 你的测试职业发展是什么?
47. 你自认为测试的优势在哪里?
48. 你为什么想离开目前的职务?
49. 配置和兼容性测试的区别是什么?
配置测试的核心内容就是
使用各种硬件来测试软件的运行情况,一般包括:
兼容性测试的核心内容
:
50. 你找工作时,最重要的考虑因素为何?
51. 为什么我们应该录取你?
52. 请谈谈你个人的最大特色。
53. 你们以前测试的流程是怎样的?
54. 为什么选择测试这行?
55. 为什么值得他们公司雇用?
56. 如果我雇用你,你能给部门带来什么贡献?
57. 如果你接到一个客户抱怨的电话,你确知无法解决他的问题,你会怎么处理
为什么抱怨?是怎么样的问题?
58. 你觉得什么样的人最难相处
自以为是的人
59. 怎样测试兼容性:
系统兼容,浏览器兼容,还有手机兼容
,win7,win8,win10
,谷歌,火狐,IE9,10
,60. 互联网和金融测试的区别?
61. 会配置环境吗?
62. 感觉自己跟别人比有什么优势?
耐心,责任心,和团队意识
,每个人都是必备的,如果优势的话,我个人感觉可能比起一些,刚进入测试工作的同事来讲,项目经验多一点,一些流行的工具使用起来比较熟练,具体的真不好说。63. 接口有做过吗?
这个做过的,我们在开发把接口写出来以后,跟前端联调的这个时间段,我们会做一个接口测试
,我之前用的是jmeter,开发会提供一个接口文档,我们根据文档,填写请求地址,报文名,接口类型,字段和值
,然后点击执行,在结果树里查看返回结果,是否跟接口文档一致。
64. 性能测试有做过吗?
65. Lordrunner三大控件?
66. 简述bug的几种状态?
71. 写出bug报告当中一些必备的内容。
硬件平台和操作系统
测试应用的硬件平台(Platform),通常选择“PC”。
测试应用的操作系统平台(OS)。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。