1、什么是软件测试,软件测试的目的。
使用人工或自动手段,来运行或测试某个系统的过程。其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
软件测试的目的:
-
-
利用测试过程中得到的测试结果和测试信息,作为后续项目开发和测试过程改进的重要输入,避免在将来的项目开发和测试中重复同样的错误。
-
2、软件的生存周期及模型。
需求分析---概要设计---详细设计---编码---测试---验收
3、软件测试流程。
需求分析---制定测试计划---制定测试方案---编写测试用例---评审测试用例---冒烟测试---执行测试---提交缺陷报告与跟踪---回归bug---提交测试总结---准备下个版本测试
4、软件测试模型。
V模型
-
-
缺点与不足
-
v模型仅仅把测试过程作为在需求分析、系统设计及编码之后的一个阶段,忽视了测试对需求分析、系统设计的验证
-
需求的满足情况一直到后期的验收测试才被验证
-
-
-
-
优点:
-
测试的活动与软件开发同步进行
-
测试对象不仅仅是程序,包括需求和设计
-
尽早发现软件缺陷可降低软件开发的成本
-
-
局限性:
-
-
H模型将测试活动完全独立出来,形成了一个完全独立的流程,将测试准备活动和测试执行活动清晰地体现出来。
-
H模型揭示了一个原理:软件测试是一个独立的流程!
-
H模型指出软件测试要尽早准备,尽早执行;只要某个测试达到准备就绪点,测试执行活动就可以展开,并且不同的测试活动可按照某个次序先后进行,也可以反复进行。
X模型
-
-
X模型还定位了探索性测试,这是不进行实现计划的特殊类型的测试
5、软件测试的分类。
按照开发阶段分类:单元测试、集成测试、系统测试、验收测试。
单元测试:
通过软件的外部表现来发现其缺陷和错误。黑盒测试法把测试对象看成一个黑盒子,完全不考虑程序内部结构和处理过程。黑盒测试是在程序界面处进行测试,他只是检查程序是否按照需求规格说明书的规定正常实现
白盒测试:通过对程序内部结构的分析、检测来寻找问题。白盒测试可以把程序看成装在一个透明的盒子里,检查是否所有的结构及路径都是正确的,检查软件内部动作是否按照设计说明的规定正常进行。白盒测试又称为结构测试。
灰盒测试:
6、什么是测试用例?
如果程序在这种情况下不能正常运行,而且这种问题会重复发生,那就表示软件程序人员已经测出软件有缺陷,这时候就必须将这个问题标示出来,并且通知软件开发人员。软件开发人员接获通知后,将这个问题修改完成与下一个版本测试,
测试范围 :明确测什么?比如:产品的具体业务需求有哪些?产品是web端的还是移动端的,还是两者都有?
测试策略 :明确怎么测?对不同业务需求,具体要有哪些测试类型、测试场景、测试方法。
资源安排 :包括测试人员的安排,测试环境是怎样的,测试⼯具的选择等。
进度安排 :在明确测试范围、方法和人员之后,我们要考虑什么时候开始测试,预计要测试多久?以便和开发计划、上线计划衔接。
发布标准 :发布标准是测试完成和产品上线需要满⾜的条件,以便项⽬内所有⻆⾊都有⼀致认可的目标。怎样才算是测完了?达到怎样的标准才可以上线?
风
可复用性:良好的测试用例具有重复使用的功能,是的测试过程事半功倍,提高测试效率。
易组织性:即使是小的项目,也可能会有几千甚至更多的测试用例,测试用例可能在数月甚至你念的测试过程中被创建和使用。
可评估性:从测试的项目管理角度来说,测试用例的通过是检验代码质量的保证。
在详细测试用例与有效测试的时间找到平衡点(时间不够尽可能全面,时间够尽可能深入)
好的测试用例应该多关注“反向测试问题”
测试用例库应该不断更新和维护
测试用例可以复用,但要注意数据有效性与环境变化
测试用例式设计出来的,不是写出来的
多去学习经验丰富的测试工程师所设计的测试用例
12、怎么理解等价类边界值?
每一类的代表性数据在测试中的作用等价于这一类中的其他值,如果某一类中的一个例子发现了错误,这一等价类中的其他例子也能发现同样的错误,
边界值分析方法是对等价类划分方法的补充。测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误,使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。
等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输⼊条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输 入条件组合起来可能出错的情况却被忽视了。 如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是 天文数字,因此必须考虑采用⼀种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计, 这就需要利⽤因果图(逻辑模型)
14、什么是判定表法?
15、使用判定表设计测试用例的条件?
条件的排列顺序不影响执行的那些操作
规则的排列顺序不影响执行的那些操作
当某一规则的条件已经满足,并确定要执行的操作后,不必检验别的规则
第二步:分析条件额条件项(组合数量),如果有n个条件,每个条件有成立和不成立两种情况,那么左后一共会有2^n个数量。
在将因果图转换为决策表来生成测试用例时,若要进行全面测试,其得到的测试用例数目多的惊人。正交实验法是从大量的实验数据中挑选适量的、具有代表性的点,合理安排测试的设计方法。
日本著名的统计学家田口玄一将正交实验选择的水平组合列成表格,称为正交表。
18、正交表的形式以及每个字母所代表的含义?
m是水平数,k是因素数,n是需要进行试验的次数,这三个数字之间没有任何关系。
行数:正交表中的行的个数,即实验的次数,也是通过正交实验法设计测试用例的个数
因素数:正交表中列的个数,即要测试的功能点
水平数:任何单个因素能过取得的值的最大个数,即要测试功能点的输入值
19、正交表的性质?
正交表具有以下两项性质:1.每一列中,不同的数字出现的次数相等。2.任意两列中数字的排列方式齐全相等。
每个因素的每个水平于另一个因素的每个水平各碰一次,这就是正交性。
一个程序的功能说明通常由动态说明和静态说明组成.动态说明描述了输入数据的次序或转移的次序.静态说明描述了输入条件与输出条件之间的对应关系.对于较复杂的程序,由于存在大量的组合情况,因此,仅用静态说明组成的规格说明对于测试来说往往是不够的.必须用动态说明来补充功能说明.功能图方法是用功能图FD形式化地表示程序的功能说明,并机械地生成功能图的测试用例,.功能图⽅法其实是是⼀种⿊盒 ⽩盒混合⽤例设计⽅法。
基本流(软件功能正常实现的流程):软件功能按照正确的事件流实现的一条正确流程。通常一个业务仅存在一个基本流,且基本流仅有一个起点和一个终点。
备选流(基本功能流程之外的过程):除了基本流之外的个支流,包含多种不同的情况