1.什么是软件测试?
验证软件是否满足用户的需求。
2.软件测试和研发的区别?
即就是测试和调试的区别:
(1)目的不同:①软件测试是检查软件的质量(以需求为标准)
②软件调试是开发人员为了检查程序是否实现了开发人员想让程序实现的功能。
人员不一样:①软件测试:黑白盒测试工程师,开发人员(单元测试/白盒测试)
②软件调试:开发人员
阶段不同:①软件调试:只在开发阶段
②软件测试:贯穿了整个软件开发的生命周期
(2)难易程度、技能要求
开发的广度小,专业度高。测试的广度大,专业度低。
3.软件开发的生命周期:
需求分析----计划----设计---开发----测试----运行维护
4.测试左移:需求前调研阶段和需求阶段,测试人员参加
测试右移:产品上线后,系统监控,日志记录和监控分析
5.什么是需求?
用户需求:用户想要软件实现的功能
软件需求:用户需求的具体化,是用户需求具体的实现细节,开发人员只要根据软件需求进行软件开发。
软件需求就是用户需求转化来的。
6.什么是BUG?
分为两种情况:
(1)当软件需求规格(软件需求)存在并且合理。如果软件功能和软件需求规格不相符合。我们就说软件错误(BUG)
(2)当软件需求规格不存在时时候,用户需求存在并且合理。当软件功能和用户需求不相符,就是软件错误(BUG)
7.什么时测试用例?
向被测试系统发起的一组集合,这组集合包括测试数据,测试步骤,测试平台,预期成果。
8.开发模型(5个)
(1)瀑布模型
优点:各个阶段比较独立,着重需求分析和软件测试;
缺点:无法适应需求的变化;测试到编码后才介入,导致前期的缺陷无法及时发现,无法及时修正。运用的项目:适用于需求稳定的项目。
(2)螺旋模型
适用的项目:前期需求不是很明确,并且有风险,项目比较庞大的系统开发
优点:强调软件质量;每一次迭代进行严格的风险分析,提供讨论项目是否有必要进行下去的机会。
缺点:引入风险管理,会投入大量人力物力。
(3)迭代模型
一个系统 的四个功能 A,B,C,D两周完成
第一周开发人员完成ABCD四个模型基础功能。
第二周,在基础功能之上进行细化和完成。
迭代模型抗风险能力强。
(4)增量模型
一个系统 的四个功能 A,B,C,D两周完成
第一周完成AB,第二周完成CD
(5)敏捷模型
轻文档,轻流程,重目标,重质量,拥抱变化,可以适应需求的变化。目标:交付一个高质量可用的软件。
9.软件测试模型
(1)软件测试V模型
优点:左边开发的每一个阶段和右边测试的每一个阶段一一对应,是右边测试每一个阶段的依据。
缺点:测试介入晚,前期的错误和风险到后期才发现。
(2)软件测试W模型
优点:测试阶段和开发阶段在两个独立的V模型里面,测试介入包比较早,在项目初期就介入前期的风险库及时被发现。
缺点:W模型每一个阶段仍然是一个串行的过程,不能适应需求变化的项目,所以无法应用到敏捷开发。
10.软件测试的生命周期?(软件测试的流程)
11.如何描述一个BUG?
(1) 版本号 (2) 测试环境(平台)(3) 测试步骤和测试数据
(4) 实际结果 (5) 预期结果 (6) 附件(错误截图、错误日志)
12.BUG级别的定义
(1)崩溃:系统运行阻断,严重的影响了开发人员和测试人员的工作,需要立马修复。
(2)严重:系统可以运行,但是已经不稳定了,如果再运行下去,可能会产生严重的结果。
(3)一般:系统可以稳定的运行,但是一些次要功能没有实现,可能会影响的体验。
(4)次要(建议性):没有严格体系在需求里面的;影响用户的视觉体验,界面的文字提示内容,展示,图片的排版,要不要改和产品经理商量。
13.测试用例的基本要素
向测试系统发起的一组集合,测试平台、测试数据、测试步骤、预期结果等。
14.测试用例的设计方法:
(1)等价类:把输入划分成若干个等价类,从每一个等价类当中选一个测试用例进行测试,如果整个测试用例测试通过,我们就说整个等价类测试通过
等价类分为有效等价类和无效等价类
有效等价类:根据需求规格,有意义的数据集合称之为无效等价类。
无效等价类:更具需求说明书,不满足需求的集合
(2)边界值
针对输入输出的边界进行测试用例的设计
(3)因果图法
是一种逻辑图:恒等、与、或、非
步骤:
① 分析出所以的输入、输出
② 找出输入、输出之间的逻辑关系
③ 根据输入、输出之间的关系画因果图
④ 根据有因果图画判定表
⑤ 根据判定表设计测试用例
(4)画判定表
(5)正交法
研究多因素多水平的一种实验(测试)方法,根据正交性,从输入组合当中选取最优的组合进行实验,分析结果,通过这些最优组合得出的实验结果来分析这个实验的结果。
因素:输入的变量 水平:变量的取值
正交表的构成:列:因素数、变量的个数
水平数:每个变量的最大值的个数
行:L(正交表的行)=(水平树-1)*因素数+1
正交表的性质:
①每一列不同的数据出现的次数一致
②任意两列不同数据组合出现的次数一致
正交表设计测试用例的步骤:
①确定所有的输入(变量)
②确定每一个变量的取值的个数
③确定因素数(正交表的列),水平数,正交表的行
④根据正交表的性质,把比哪里的值映射到表中
⑤写测试用例,正交表的每一行就是一个测试用例
⑥补充正交表中没有的但是你认为可能出现的测试用例
(6)场景分析法:
把一个个孤立的功能点按照一定的策略串联起来,形成一定的场景或者业务,分析出场景里面的功能点,更具功能点找出正常和异常的输入输出,再根据分析的结果去设计测试用例。
(7)错误猜测法
根据测试人员的知识,经验,直觉去判断哪一个模块会出现问题,专门针对这个模块进行测试,编写测试用例。