图解
前置条件和用例输入其实都属输入,两者是有区别的。
前置条件:
是用来限制、规定测试进行的环境,还有我们要测试这个软件的功能模块,要限制在某一可控的范围内。
例如图中三个绿色方形,分别代表【大气层20000米以内】【地表水平线0米以上】【在地球上】,那么这样就限制了软件的测试范围,如果不加这个限制,就可能还要到金星、木星、土星上进行测试,那就永远测不完了。
输入条件:
例如我们软件(也可以是其他任何类型的测试)是要测试东风导弹的射程。
影响它射程的有:燃料量、发射角、导弹自身重量。(甚至更多)
那么,我们的用例输入,就要对这三方面进行边界、对应性能做测试。
组合搭配,500吨燃料+60°发射角,800吨燃料+45°发射角,等等输入条件的组合,从而将对应的功能都测试出来。
预期输出&意料之外的输出:
预期输出是我们设计的时候,希望达到的条件。
有可能不达标(用来射美国结果飞过日本就掉下来了),有可能超出设计预期产生危害(射美国,结果绕一圈射回到自己),这些就是预期外输出。
有些是好的,好的就超额达成标准。不好的,就是BUG。
通俗易懂的说明
对应现实场景
老婆从商场的某一个入口进入,按**约定**她必须在某个固定的出口出来。
你在商场外面等待,并不知道商场内发生了什么,只知道正确的结果是,老婆带着一堆商品从某一个出口出来。
测试用例场景
前置条件
测试用例的开始环境
- 星期三晚上7点的沃尔玛超市
- 老婆带着充足的现金
- 非冻结的花旗银行黑卡
- 电量100%、话费1000+移动、联通卡双待的IPhoneXR
步骤
1、开车送老婆到沃尔玛超市
2、从南门送老婆进入超市
3、在北门等待老婆
预期
晚上9点,老婆会提着大包小包商品从北门出现
允许商品(信息)携带量±5%
时间偏差±10%
现象
这就是常规操作的黑盒,你不知道里面发生了什么,可能老婆空手出来,可能老婆在里面开了一辆坦克出来,也可能不出来。
你无从知道出现这个结果是什么原因,是老婆与人争执、老婆在商城里面中大奖了、还是你老婆在里面和别人打起了求生之路。
你能做的只能是:“嗨~老婆,要不你再进去走一趟?”
怎么进行多元操作?
我们可以从前置条件进行修改、或者对操作步骤进行。
例如:
前置条件的一条,由【老婆带着充足的现金】改为【携带过量的现金】,就可能触发出【被抢劫】的BUG
操作步骤的一条,由【从南门送老婆进入超市】改为【从东门进】,说不定就会触发【异形大战铁血战士】的BUG
经过不断摸索,排除及
太干的教条放在最后面
黑盒测试也称——
功能测试 or 数据驱动测试
定义
黑盒测试,是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用
在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试
黑盒测试只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。
类型
黑盒测试方法主要有等价类划分、边值分析、因果图、错误推测等,主要用于软件确认测试。
要求
黑盒测试着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。
方法
黑盒测试的方法是——穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。
实际上测试情况有无穷多个,人们不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。