软件测试是在软件投入生产性运行之前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量控制的关键步骤。

软件开发过程是一个自顶向下、逐步细化的过程,而测试过程则是依相反的顺序安排的自底向上、逐步集成的过程。

一、白盒测试与黑盒测试

黑盒测试:已知产品的功能设计规格,可以通过测试证明每个实现了的功能是否符合要求。

白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否已经过检查。

软件测试有一个致命的缺陷,即测试的不完全、不彻底性。

二、白盒测试的测试用例设计

逻辑覆盖是以程序内部的逻辑结构为基础的设计测试用例 的技术,它属于白盒测试

逻辑覆盖又可分为: 语句覆盖 判定覆盖 判定—条件覆盖 条件组合覆盖 路径覆盖

程序段实例

语句覆盖就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。语句覆盖是最弱的逻辑覆盖标准。

判定覆盖就是设计若干个测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次。判定覆盖又称为分支覆盖。

条件覆盖就是设计若干个测试用例,运行被测程序,使得程序中每个判断的每个条件的可能取值至少执行一次。

判定-条件覆盖就是设计足够的测试用例,使得判断中 每个条件的所有可能取值至少执行一次,同时每个判断本身 的所有可能判断结果至少执行一次

条件组合覆盖就是设计足够的测试用例,运行被测程序,使得每个判断的所有可能的条件取值组合至少执行一次。

路径测试是设计足够的测试用例,覆盖程序中所有可能的 路径。若仍以最初的图为例,则可以选择如下的一组测试 用例,覆盖该程序段的全部路径。

基本路径测试是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路     径集合,从而设计测试用例的方法

三、黑盒测试的测试用例设计

等价类划分是一种典型的黑盒测试方法,也是一种非常实用的重要测试方法,它是用来解决如何选择适当的子集,使其尽可能多地发现错误。

所谓等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值等价于对这一类其他值的测试。

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

(1)有效等价类:是指对于程序的规格说明来说,是合理的、有意义的输入数据构成的集合。利用它,可以检验程序是否实现了规格说明预先规定的功能和性能。

(2)无效等价类:是指对于程序的规格说明来说,是不合理的、无意义的输入数据构成的集合。程序员主要利用这一类测试用例检查程序中功能和性能的实现是否有不符合规格说明要求的地方。 在设计测试用例时,要同时考虑有效等价类和无效等价类的设计。

边界值分析也是一种黑盒测试方法,是对等价类划分方法的补充。人们从长期的测试工作经验中得知,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。 这里所说的边界是指,相当于输入等价类和输出等价类而言,稍高于其边界值及稍低于其边界值的一些特定情况。

软件工程——软件测试方法相关推荐

  1. 一文看懂软件测试方法和规范

    软件测试方法是指测试软件的方法.随着软件测试技术的不断发展,测试方法也越来越多样化,针对性更强:选择合适的软件测试方法可以让我们事半功倍.本文主要介绍的是软件测试方法和规范,跟随小编一起来了解一下具体 ...

  2. 软件工程-软件设计基础

    第三章 软件设计基础 本总结是根据课上老师讲述内容所作笔记 软件设计–解决"如何做"的问题 一 软件设计阶段的任务和目标 设计任务:将需求阶段获得的需求说明(模型)转化为计算机中可 ...

  3. 软件测试方法之黑盒测试与白盒测试

    软件测试方法之黑盒测试与白盒测试 摘要:黑盒测试与白盒测试都是软件测试的重要方法.白盒测试是通过程序的源代码进行测试而不使用用户界面,它主要用于检测软件编码过程中的错误:而黑盒测试是是通过使用整个软件 ...

  4. 软件工程-软件测试-测试方法

    软件工程-测试方法-白盒和黑盒测试 软件工程-软件测试 软件测试方法可以分为静态测试和动态测试. 静态测试 静态测试是指被测试程序不在程序上运行,而是采用人工检测和计算机辅助金泰分析的手段对程序进行检 ...

  5. 软件工程-软件生存周期模型

    软件工程-软件生存周期模型 软件工程-软件测试 软件工程-软件测试-测试方法 概念 同任何事物一样,一个软件产品或软件系统也要经过孕育.诞生.成长.成熟.衰亡的许多阶段,一般称为软件生存周期. 软件的 ...

  6. 《软件测试方法和技术》,《软件测试方法和技术》.ppt

    <软件测试方法和技术>.ppt One of the greatest advantages of using Rational Suite TestStudio is the team ...

  7. 《软件测试方法和技术》 读书笔记

    <软件测试方法和技术> 读书笔记 2014-07-17 第一章 引论   1.3 什么是软件测试   1.4 软件测试与软件开发的关系 第二章 软件测试基本概念   2.1 软件缺陷   ...

  8. 软件工程软件开发成本度量规范_软件开发成本度量方法

    软件成本度量一直都是软件行业的一个痛点问题.软件度量一度乱象丛生.拍脑袋的定价方式曾大行其道.软件成本度量的乱象直接导致了软件价格的诸多问题.比如预算费用存在浪费或不足的现象,招标存在投标额过低过高等 ...

  9. 软件工程 软件设计 步骤_好的软件设计特点 软件工程

    软件工程 软件设计 步骤 For good quality software to be produced, the software design must also be of good qual ...

最新文章

  1. Natasha 4.0 探索之路系列(一) 概况
  2. GridView强制不换行
  3. 恭祝大家2019新年吉祥顺利!
  4. MySQL 和 MySQL Workbench图形化安装教程
  5. 116.填充同一层的兄弟节点
  6. 海湾标准汉字码表查询_JBQGGST5000标准汉字码表
  7. switchHost工具的使用
  8. 汽车零部件生产质量安全,路在何方?
  9. 2021年茶艺师(中级)考试内容及茶艺师(中级)操作证考试
  10. 算法注册机编写扫盲---第五课
  11. C语言实现入门级小游戏——三子棋
  12. C语言程序设计现代方法(第二版)十二章课后练习题部分答案
  13. 量子计算机人类意识云,我们的大脑很可能就是一台高度发达的量子计算机
  14. 实验三 多层神经网络
  15. 前端之路之mac PS的安装破解
  16. vi与gedit的区别
  17. 曾李青:早期创业公司九种死法
  18. C语言求1到10以内的约数,倍数和约数 教学设计资料
  19. 沧小海深入剖析xilinx的GTP/GTX核,掌握高速串行收发机制——第一章 前言闲谈
  20. Linux安装arm交叉编译器

热门文章

  1. 快乐生活的1000+篇文章总结
  2. C语言关于排序的十一个函数
  3. 移动客户端与服务器通信方式一
  4. 嵌入式关键字英文对照
  5. OpenCV 图片去水印(不需要自己做水印模板)
  6. 2020.5.12第一次博客
  7. 数据结构:网上公开课
  8. 人工智能导论(5)——搜索策略(Search Strategy)
  9. display:weston:weston-simple-egl
  10. 什么是CAS简单介绍