软件测试学习:动态黑盒测试

简介:




一.动态黑盒测试

 1.概述

 

不深入代码细节的软件测试方法称为动态黑盒子测试。它是动态的,因为程序正在运行。动态黑盒测试常常被称为行为测试。

2.测试用例

①概述

测试用例是指进行测试时使用的特定输入,以及测试软件的过程步骤。下图是Windows计算器加法功能的测试用例:

②测试用例的重要性

选择测试用例是软件测试员最重要的一项任务

不正确的选择可能导致

  • 测试量过大
  • 测试量过小
  • 测试目标不对
准确评估风险,把无穷尽的可能性减少到可以控制的范围

 

二. 通过性测试和失效性测试

通过性测试:确认软件至少能做什么,而不考验其能力。只运用最简单,最直观的 测试用例。

失效性测试:纯粹为了破坏软件而设计和执行的测试案例。
    
设计和执行测试案例时,总是首先进行通过测试。在破坏性试验之前看看软件基本功能是否实现是很重要的,否则在正常使用软件时就会奇怪为什么有那么多的软件缺陷。常见的测试案例就是设法迫使软件出现错误提示信息。   

  

 

三.等价类划分

 

1.概述

等价类划分(equivalence partitioning)有时称为等价分类(equivalence classing)

分步骤地把海量(无限)的测试用例集减小,但过程同样有效
 
—个等价类(equivalence class)或等价划分(equivalence partition)是指测试相同的目标或者暴露相同软件缺陷的一组测试用例
 
2.特点 
 
等价类应具有
  • 无冗余性:等价类为互不相交的一组子集
  • 完整性:所有子集(等价类)的合并是整个集合

等价类划分有两种不同的情况

  • 有效等价类 检验程序是否实现了预期的功能和性能
  • 无效等价类 检验对于无效数字的处理能力
 
3.划分的原则

①在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类

②在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类

③在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类

④在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类

⑤在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)

⑥在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类

  • 字母还要区分大小写

 

4. 根据等价类选择用例

划分出等价类后,按以下三个原则设计测试用例:

  • 为每一个等价类规定一个唯一的编号.
  • 设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步.直到所有的有效等价类都被覆盖为止.
  • 设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步.直到所有的无效等价类都被覆盖为止

5. 等价类划分法的总体步骤

  • 划分等价类
  • 建立等价类表
  • 选择覆盖等价类的测试用例形成测试用例表

本文转自 lingdududu 51CTO博客,原文链接: http://blog.51cto.com/liangruijun/813694

相关文章
|
3月前
|
存储 测试技术 Python
软件测试/测试开发全日制|Pytest结合CSV实现测试的数据驱动
软件测试/测试开发全日制|Pytest结合CSV实现测试的数据驱动
34 0
|
3月前
|
存储 测试技术 Python
软件测试/测试开发全日制|Pytest结合Excel实现数据驱动
软件测试/测试开发全日制|Pytest结合Excel实现数据驱动
40 0
|
3月前
|
存储 测试技术 Python
软件测试/测试开发全日制|Pytest结合yaml实现数据驱动
软件测试/测试开发全日制|Pytest结合yaml实现数据驱动
40 0
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
提升软件测试效率与质量:AI驱动的自动化测试策略
【2月更文挑战第19天】 在快速迭代的软件发展环境中,传统的手动测试方法已无法满足高效率和高质量的要求。本文探讨了人工智能(AI)技术如何革新现有的软件测试流程,通过引入AI驱动的自动化测试策略,旨在提高测试覆盖率,减少人为错误,优化资源分配,并缩短产品上市时间。我们将分析AI在识别潜在缺陷、生成测试用例、执行测试以及结果分析中的应用,并讨论实施这些策略时可能遇到的挑战和限制。
107 3
|
3月前
|
设计模式 Java 测试技术
软件测试/测试开发/全日制|Page Object模式:为什么它是Web自动化测试的必备工具
软件测试/测试开发/全日制|Page Object模式:为什么它是Web自动化测试的必备工具
53 0
|
14天前
|
jenkins 测试技术 持续交付
软件测试|docker搭建Jenkins+Python+allure自动化测试环境
通过以上步骤,你可以在Docker中搭建起Jenkins自动化测试环境,实现Python测试的自动化执行和Allure报告生成。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
34 6
|
24天前
|
监控 安全 Shell
深入探究App压力测试的关键要点:从零开始学习Monkey
Monkey是Google的自动化测试工具,用于模拟用户随机事件以测试应用的稳定性和压力。它可以在模拟器或设备上运行,通过随机点击发现潜在问题。
24 1
|
29天前
|
机器学习/深度学习 人工智能 自然语言处理
提升软件测试效率:AI驱动的自动化测试策略
【2月更文挑战第30天】随着人工智能(AI)在软件开发周期中的日益普及,其在提高软件测试效率方面的潜力正受到越来越多的关注。本文探讨了如何通过集成AI技术来优化自动化测试流程,从而减少重复工作、提高错误检测率和加快反馈速度。我们将分析当前AI在自动化测试中的应用,并提出一系列策略以利用AI改进测试案例生成、执行和维护过程。
66 0
|
2月前
|
关系型数据库 MySQL 测试技术
【软件测试】 初识软件测试
【软件测试】 初识软件测试
|
2月前
|
人工智能 前端开发 Java
软件测试/人工智能|熟练使用web控件定位技巧,提升测试工作效率!
软件测试/人工智能|熟练使用web控件定位技巧,提升测试工作效率!
196 1