超全干货 | 软件测试岗技术笔试

2022-11-29 11:08:55 浏览数 (2)

Bug

1、一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?

一条Bug记录最基本应包含:编号、Bug所属模块、Bug描述、Bug级别、发现日期、发现人、修改日期、修改人、修改方法、回归结果等等;要有效的发现Bug需参考需求以及详细设计等前期文档设计出高效的测试用例,然后严格执行测试用例,对发现的问题要充分确认肯定,然后再向外发布如此才能提高提交Bug的质量。

2、Bug必填字段有哪些?

一条bug信息至少需要以下几条:bug编号、bug严重级别及优先级、bug产生的模块等。

首先要有bug摘要,阐述bug大体的内容;其次,找出bug对应的版本,bug详细现象描述,包括一些截图、录像等等;最后就是bug出现时的测试环境,产生的条件即对应操作步骤。

3、简述一下BUG的生命周期?

提交->确认->分配->修复->验证->关闭

4、软件的缺陷等级应如何划分?

A类:严重错误,包括以下各种错误

1)由于程序所引起的死机,非法退出;

2)死循环;

3)数据库发生死锁;

4)因错误操作导致的程序中断;

5)功能错误;

6)与数据库连接错误;

7)数据通讯错误;

B类:较严重错误

1)程序错误;

2)程序接口错误;

3)数据库的表、业务规则、缺省值未加完整性等约束条件;

C类:一般性错误

(操作界面错误,包括数据窗口内列名定义、含义是否一致)

2)打印内容、格式错误;

3)简单的输入限制未放在前台进行控制;

4)删除操作未给出提示;

5)数据库表中有过多的空字段;

D类:小错误

1)界面不规范;

2)辅助说明描述不清楚;

3)输入输出不规范;

4)长操作未给用户提示;

5)提示窗口文字未采用行业术语;

6)可输入区域和只读区域没有明显的区分标志;

测试过程及方法

1、你认为做好测试用例工作的关键是什么?

需求和设计文档的理解程度,对系统的熟悉程度。

2、你认为做好测试用例工作的关键是什么?

1)寻找Bug;

2)避免软件开发过程中的缺陷;

3)衡量软件的品质;

4)关注用户的需求;

总的目标是:确保软件的质量。

3、一套完整的测试应该由哪些阶段组成?

测试计划、测试设计与开发、测试实施、测试评审与测试结论。

4、软件验收测试包括?

正式验收测试,alpha测试,beta测试。

5、系统测试的策略有?

功能测试,性能测试,可靠性测试,负载测试,易用性测试,强度测试,安全测试,配置测试,安装测试,卸载测试,文挡测试,故障恢复测试,界面测试,容量测试,兼容性测试,分布测试,可用性测试。

6、描述软件测试活动的生命周期?

测试周期分为计划、设计、实现、执行、总结。其中:

1)计划是对整个测试周期中所有活动进行规划,估计工作量、风险,安排人力物力资源,安排进度等;

2)设计是完成测试方案,从技术层面上对测试进行规划;

3)实现是进行测试用例和测试规程设计;

4)执行是根据前期完成的计划、方案、用例、规程等文档,执行测试用例。

总结:记录测试结果,进行测试分析,完成测试报告。

7、简述软件测试中的“80-20原则”。(了解就行)

(1)80%的软件缺陷常常生存在软件20%的空间里;

(2)测试工作中能够发现和避免80%的软件缺陷,此后的验收测试等能够帮助我们找出剩余缺陷中的80%,最后的5%的软件缺陷可能只有在系统交付使用后用户经过大范围、长时间使用后才会曝露出来;

(3)80%的软件缺陷可以借助人工测试而发现,20%的软件缺陷可以借助自动化测试能够得以发现。由于这二者间具有交叉的部分,因此尚有5%左右的软件缺陷需要通过其他方式进行发现和修正。

8、详细的描述一个测试活动完整的过程。

1)项目经理通过和客户的交流,完成需求文档,由开发人员和测试人员共同完成需求文档的评审,评审的内容包括:需求描述不清楚的地方和可能有明显冲突或者无法实现的功能的地方。项目经理通过综合开发人员,测试人员以及客户的意见,完成项目计划。然后SQA进入项目,开始进行统计和跟踪

2)开发人员根据需求文档完成需求分析文档,测试人员进行评审,评审的主要内容包括是否有遗漏或者双方理解不同的地方。测试人员完成测试计划文档,测试计划包括的内容上面有描述;

3)测试人员根据修改好的需求分析文档开始写测试用例,同时开发人员完成概要设计文档,详细设计文档。此两份文档成为测试人员撰写测试用例的补充材料;

4)测试用例完成后,测试和开发需要进行评审;

5)测试人员搭建环境;

6)开发人员提交第一个版本,可能存在未完成功能,需要说明。测试人员进行测试,发现BUG后提交给BugZilla;

7)开发提交第二个版本,包括Bug Fix以及增加了部分功能,测试人员进行测试;

8)重复上面的工作,一般是3-4个版本后BUG数量减少,达到出货的要求;

9)如果有客户反馈的问题,需要测试人员协助重现以及回归测试。

9、根据自己的理解回答什么是软件测试,软件测试分为哪几个阶段。

软件测试是一个为了寻找软件中的错误而运行软件的过程,一个成功的测试是指找到了迄今为止尚未发现的错误的测试。软件测试一般分为单元测试、集成测试和系统测试。

10、一套完整的测试应该由哪些阶段组成?分别阐述一下各个阶段。

计划阶段、设计阶段、白盒单元、白盒集成、黑盒单元、黑盒集成、系统测试、回归测试、验收测试。一套完整的测试应该由五个阶段组成:

1)测试计划首先,根据用户需求报告中关于功能要求和性能指标的规格说明书,定义相应的测试需求报告,即制订黑盒测试的最高标准。以后所有的测试工作都将围绕着测试需求来进行,符合测试需求的应用程序即是合格的,反之即是不合格的;同时,还要适当选择测试内容,合理安排测试人员、测试时间及测试资源等。

2)测试设计将测试计划阶段制订的测试需求分解、细化为若干个可执行的测试过程,并为每个测试过程选择适当的测试用例(测试用例选择的好坏将直接影响测试结果的有效性)。一个常见的软件测试面试题一个常见的软件测试面试题。

3)测试开发建立可重复使用的自动测试过程。

4)测试执行执行测试开发阶段建立的自动测试过程,并对所发现的缺陷进行跟踪管理,测试执行一般由单元测试、组合测试、集成测试、系统联调及回归测试等步骤组成,测试人员应本着科学负责的态度,一步一个脚印地进行测试。

5)测试评估结合量化的测试覆盖域及缺陷跟踪报告,对于应用软件的质量和开发团队的工作进度及工作效率进行综合评价。

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

白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果;

黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题。

12、黑盒测试和白盒测试是软件测试的两种基本方法,请分别说明各自的优点和缺点!

黑盒测试的优点:

1)比较简单,不需要了解程序内部的代码及实现;

2)与软件的内部实现无关;

3)从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;

4)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;

5)在做软件自动化测试时较为方便。

黑盒测试的缺点:

1)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;

2)自动化测试的复用性较低。

白盒测试的优点:

帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。

白盒测试的缺点:

1)程序运行会有很多不同的路径,不可能测试所有的运行路径;

2)测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求;

3)系统庞大时,测试开销会非常大。

13、Beta测试与Alpha测试有什么区别?

Beta testing(β测试),测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场Alphatesting(α测试),是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试。

14、一个缺陷测试报告的组成。

(1)测试软件项目名称,每个要测试软件项目都有唯一的名称,有的公司对项目还有特定的编号。

(2)测试软件版本号,测试周期内,一般需要测试多个软件版本,报告错误时,一定要正确填写产生错误的软件版本号。

(3)测试者名称,便于分清责任,便于管理。

(4)测试日期与时间,便于分析和统计错误报告信息。

(5)测试软件环境,包括操作系统和其他必要的软件程序。

(6)测试硬件环境,包括测试计算机和其他测试设备的配置信息。

(7)错误描述,简明的描述错误的特征,便于查询和快速浏览。

错误包含以下几个方面:

a)错误标识编号(ID#),每个错误都有一个唯一的标识编号,方便查询。

b)错误类型,根据错误类型,分配给适当的人员处理错误。

c)错误级别,错误的严重程度和处理的优先级,优先处理高级别的错误。

d)错误状态,错误状态表明错误是否已经处理和将怎样处理,根据错误状态,采用适当的处理方法。

e)错误处理者名称,便于分清责任,便于管理。

f)重现错误的操作步骤,便于重现错误,修复错误和验证错误。

g)期望的结果,描述满足设计要求的结果。

h)实际测试结果,描述实际测试后得到的结果。

i)必要的附图,便于确认错误的表现形式和错误位置。

(8)测试者的建议等注释,便于错误处理者快速和正确处理错误。

0 人点赞