目录
黑盒测试
概念
黑盒测试也称为功能测试或数据驱动测试,它是在已知产品所具有的功能,通过测试来检测每个功能是否都能正常使用,在测试时,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。
“黑盒”法着眼于程序的外部结构,不考虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”法是穷举输入测试,只是把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个,因此不仅要测试所有合法的输入,而且还要对那些不合法的但是可能的输入进行测试。
常用的测试方法
等价类划分
等价类划分是将系统的输入域划分为若干部分,然后从每个部分选取少量代表性数据进行测试。等价类可以划分为有效等价类和无效等价类,设计测试用例的时候要考虑这两种等价类。
示例:去超市卖水果
有效等价类:苹果,桃子,梨
无效等价类:瓜子,大米,可乐
边界值分析法
边界值分析法是对等价类划分的一种补充,因为大多数错误都在输入输出的边界上。边界值的分析就是假定大多数错误出现在输入条件的边界上,如果边界附件取值不会导致程序出错,那么其他取值出错的可能性也就很小
示例:数组的第一个元素和最后一个元素
屏幕上光标在最左上、最右下位置
循环的第0次、第一次和倒数第二次、最后一次
正交试验法
正交是从大量的试验点中挑选出适量的、有代表性的点。正交试验设计是研究多因素多水平的一种设计方法,它是一种基于正交表的高效率、快速、经济的测试设计方法。
错误猜测法
错误猜测法主要是针对系统对于错误操作时对于操作的处理法的猜测法,从而设计测试用例。
缺点:难以系统化,过于依赖个人能力。
以注册为例:
1、校验中特殊字符空格前的处理?
2、密码校验中的大小写?
3、姓名中的特殊字符?
4、密码发送是否明文?
场景设计法
场景设计化以事件为基础,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成时间流,该方法可以生动描绘事件触发时的情景。
案例:
以注册为例
因果图法
因果图用于描述系统输入输出之间的因果关系、约束关系。因果图的绘制过程是对被测系统的外部特征的建模过程,根据输入输出间的因果图可以得到判定表,从而规划处测试用例。
白盒测试
概念
白盒测试也称为结构测试或逻辑驱动测试,是针对被测单元内部是如何进行工作的测试。它根据程序的控制结构设计测试用例,主要用于软件或程序验证。白盒测试法检查程序内部逻辑结构,对所有的逻辑路径进行测试,是一种穷举路径的测试方法,但即使每条路径都测试过了,但仍然有可能存在错误。因为:穷举路径测试无法检查出程序本身是否违反了设计规范,即程序是否是一个错误的程序;穷举路径测试不可能检查出程序因为遗漏路径而出错;穷举路径测试发现不了一些与数据相关的错误。
原则
1.保证一个模块中的所有独立路径至少被测试一次;
2.所有逻辑值均需要测试真(true)和假(false);两种情况;
3.检查程序的内部数据结构,保证其结构的有效性;
4.在上下边界及可操作范围内运行所有循环。
常用测试方法
静态测试
不用运行程序的测试,包括代码检查、静态结构分析、代码质量度量、文档测试等等,它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具(Fxcop)自动进行。
动态测试
需要执行代码,通过运行程序找到问题,包括功能确认与接口测试、覆盖率分析、性能分析、内存分析等。
逻辑覆盖
白盒测试中的逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。六种覆盖标准发现错误的能力呈由弱到强的变化:
1.语句覆盖每条语句至少执行一次。
2.判定覆盖每个判定的每个分支至少执行一次。
3.条件覆盖每个判定的每个条件应取到各种可能的值。
4.判定/条件覆盖同时满足判定覆盖条件覆盖。
5.条件组合覆盖每个判定中各条件的每一种组合至少出现一次。
6.路径覆盖使程序中每一条可能的路径至少执行一次。
每日一图
今日分享鼬神,一个很有魅力的男人