天天看点

软件测试面试题_每天一道软件测试面试题系列 (三)

一. 什么是冒烟测试

对系统的基本功能进行简单的测试。
           

二. 测试用例都是自己写的吗?之前公司有没模板

测试用例包含要素:编号、测试模块、标题、前置条件、操作步骤、预期结果、实际结果。
           

三. 软件测试常用的几种方法

=>从测试设计方法分类:黑盒测试、白盒测试、灰盒测试
=>从测试是手动还是自动上分类:手动测试、自动测试
=>从测试目的上分类:单元测试、功能测试、集成测试、场景测试、系统测试Alpha测试、Beta测试
           

四. 软件测试的目的和原则是什么?

目的: 	(1)测试是程序的执行过程,目的在于发现错误;
			(2)一个好的测试用例在于发现至今未发现的错误;
			(3)一个成功的测试是发现了至今未发现的错误的测试;
	原则: 	(1)应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。
			(2)测试用例应由测试输入数据和与之对应的预期输出结果这两部分组成。
			(3)程序员应避免检查自己的程序。
			(4)在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。
			(5)充分注意测试中的群集现象。
			(6)严格执行测试计划,排除测试的随意性。
			(7)应当对每一个测试结果做全面检查。
			(8)妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。
           

五. 游戏测试和软件测试的区别有哪些?

(1)UI&&UE:对大部分软件来说,UI&&UE的重要性没有游戏那么高

(2)数值:数值对游戏而言是至关重要的,无论是单机游戏还是网络游戏玩家非常重视自己角色的数值增长,任何差错都可能导致用户的抱怨甚至流失;另外,游戏功能直接的耦合度非常高,数值之间有着千丝万缕的关联。

(3)活动:游戏中频度更高,游戏活动更关注时间与资源产出,如开启时间,关闭时间,资源产出概率等。

(4)进度:游戏产业链涉及很多前期的市场推广,各种广告和推广活动都是真金白银砸下去的,任何延期可能都会导致前期的推广功亏一篑及商业上的信誉。游戏测试作为产品发布前的最后一环,必须		 严格控制版本进度确保能够按期交付。

(5)工具:游戏测试依赖更多的测试工具,因为用户的数值和角色状态千差万别,为了尽量模拟用户状态,测试过程中总需要造出各色各样的测试数据,而制造这些数据,则需要测试工具的帮助。另一个层面是游戏测试还需要对测试工具本身的正确性进行测试,确保工具本身是正确的。这点在传统软件测试行业则是不多见的。

(6)性能:确保客户端的性能符合我们的预期标准,以使更多的玩家能够玩我们的游戏

(7)安全:游戏的客户端与服务端的交互非常频繁,数据安全更加凸显。有资产产出的地方进行安全测试,防刷外挂。

(8)合服(针对网游):这个可能是游戏的独有特色。有时候服务器中用户便少,为了带给玩家更好的游戏体验,需要合并几组服务器为1组。在合服的过程中需要保证原有服务器和目标服务器中所有用户的数据信息不发生错乱。涉及到用户方方面面的数据信息,复杂度也比较高,所以也许要测试人员认真的测试。确保测试无误后,才能正式开始合服操作。

(9)交互:网游中很大程度的乐趣都来源于玩家与玩家之间的交互。玩家交互的越频繁,则意味着数据之间交互的程度越高,数据之间的复杂变换及相互影响需要我们的时刻关注。	

(10)网络:游戏的实时交互性比较高,尽量保证不同网络条件下用户的体验达到最佳。
           

六. 简述黑盒、白盒、单元、集成和验收测试。

黑盒测试:

不考虑程序内部结构和逻辑结构,主要是用来测试系统的功	能是否满足需求规格说明书。 一般会有一个输入值,一个输入值,和期	望值做比较。
           

白盒测试:

主要应用在单元测试阶段,主要是对代码级的测试,针对程	序内部逻辑构,测试手段有:语句覆盖、判定覆盖、条件覆盖、路径覆	盖、条件组合覆盖。
           

黑盒测试的优点有:

比较简单,不需要了解程序内部的代码及实现;与软件的内部实现无关; 从用角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;基于软件开文档,所以也能知道软件实现了文档中的哪些功能;在做软件自动化测试时较为便。
           

黑盒测试的缺点有:

不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;自动化试的复用性较低。
           

白盒测试的优点有:

帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐 藏的问题。白盒覆盖可以准确统计覆盖率,可用于衡量测试完整性,弥补黑盒方法难以自动统计完整性的缺陷,凡是单元测试,都会要求达到某种覆盖率,这也成为衡量测试工作绩效的一个标准。未覆盖的逻辑单元通常对应未测试的等价类,因此,白盒覆盖也可用于帮助	找出遗漏的一个标准。
           

白盒测试的缺点有:

程序运行会有很多不同的路径,不可能测试所有的运行路径;测试基于代码,能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求;统庞大时,测试开销会非常大。
           

单元测试:

是指对软件中的最小可测试单元进行检查和验证。
           

集成测试:

界于单元测试和系统测试之间,起到“桥梁作用”,它最简单的形式是:把两个已经测试过的单元组合成一个组件,测试它们之间的接口。
           

系统测试:

粒度最大,一般由独立测试小组采用黑盒方式来测试,主要测试系统是否符合“需求规格说明书”。
           

验收测试:

验收测试与系统测试相似,主要区别是测试人员不同,验收测试由用户执行。