首先,什么是测试?

Software testing is an investigation conducted to provide
stakeholders with information about the quality of the product or
service under test.

即软件测试是一种编程参与者用来提高软件质量的调查行为。

lt is the process of executing a program or application with the intent offinding bugs (errors or other defects), and verifying that the softwareproduct is fit for use.
它是指为了排除错误(错误或其他缺陷)而执行程序或应用程序的过程,并验证该软件产品是否适合使用。(确认是否达到可用级别(用户需求)

- lt involves the execution of a software component to evaluate one or moreproperties of interest.
-它涉及执行一个软件组件来评估一个或多个感兴趣的属性。关注系统的某一侧面的质量特性。

好的测试的标准:

A good test is not redundant不冗余

A good test has a high probability of finding an error -好的测试有很高的找到错误能发现错误的概率-

- A good test should be "best of breed”-一个好的测试应该是“最好的品种”最佳特性

A good test should be neither too simple nor too complex"-一个好的测试不应该太简单,也不应该太复杂别太复杂也别太简单。

其中又分为静态测试和动态测试两大类:

Static testing is performed without actually executing programs.

静态测试是在没有实际执行程序的情况下执行的。

Dynamic testing describes the testing of the dynamic behavior of
code, which actually executes programmed code with a given set
of test cases.
动态测试描述了对代码的动态行为的测试,它实际上使用给定的测试用例集执行编程代码。

同时,存在两种主要的测试,分别是黑盒测试和白盒测试。

黑盒测试是什么?

Black-box testing treats the software as a “black box”, examining functionality without any knowledge of internal implementation, without seeing the source code.

黑盒测试(Black-box Testing),黑盒测试又称为“功能测试”,是将测试对象看做一个黑盒,在并不考虑软件产品的内部结构和处理过程的基础上对软件产品进行功能测试。黑盒测试注重软件产品的“功能性需求”

黑盒测试常用的方法有哪些?
运用黑盒技术设计测试用例常用的方法有:
① 等价类划分
② 边界值分析
③ 因果图分析法
④ 错误推断法 等

1)等价类划分:
等价类的划分无非就两种情况:有效等价类、无效等价类

1.有效等价类:是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。

2.无效等价类:是指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。

例如:小明扔出飞镖十次,得分为score
有效等价类:0 ≤ score ≤ 10
无效等价类:score < 0

2)边界值分析法

边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试的方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,测试用例来自等价类的边界。

测试用例:

1.对于有一个输入变量的应用程序,设计测试用例的时候,使得一个变量在输入值,取最大值、最大值+1、最大值-1、正常中间值、最小值-1、最小值、最小值+1;其中包含两个非法取值(最大值+1,最小值-1);

2.若应用程序有n个输入变量,则测试用例个数应为7n+1个;

3)因果图分析法

1.因果图是一种简化了的逻辑图,能直观的表明程序输入条件(原因)和输出动作(结果)之间的相互关系;

2.因果图法是借助图形来设计测试用例的一种系统方法;

3.特别适用于被测试程序具有多种输入条件,程序的输出又依赖于输入条件的各种情况。

4)错误推断法

错误推测法就是基于经验和直觉推测程序中所有可能存在的各种错误,有针对性地设计测试用例的方法。

错误推断法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例。

黑盒测试-软件构造学习相关推荐

  1. 软件构造学习笔记-第八周

    本周重点是Liskov可替换原则.它要求父类和子类的行为一致性,子类要有更强的不变量.更弱的前置条件.更强的后置条件.在该原则的要求下,每个子类都可以对父类进行替换.这在开发过程中会带来极大的便利,在 ...

  2. 软件构造学习笔记(九)面向复用的软件构造技术

    目录链接 Part I What is Software Reuse? Part II How to measure "reusability"? Part III Levels ...

  3. 2020春季学期哈工大软件构造学习心得二

    前言 上一章主要讲了软件构造的结果形态以及如何是一个"好"的软件 这一章主要学习软件开发遵循着一个什么样的过程 - 软件生命周期与配置管理 From 0 to 1,from 1 t ...

  4. 2020春季学期哈工大软件构造学习心得一

    前言: 今年是特殊的一年,由于新冠病毒的爆发,导致我们无法正常开学,所以网上开课如期进行,其中软件构造是这学期我们要面临的巨大挑战. 准备工作: 上学期末得知本门课程需要学习Java语言进行编程,所以 ...

  5. 软件构造学习笔记ATD

    在面向对象的编程中,ADT的编写十分重要,与传统的c语言不同,面向对象的编程更加商业化一点,所以保密需要做好,有点商业机密的感觉.如何设计良好的抽象数据结构,通过封装来避免客户端获取数据的内部表示,避 ...

  6. 哈工大软件构造学习笔记1 Views and Quality Objectives of Software Construction

    先要搞清楚软件构造的对象是什么,如何刻画,在关注如何构造. 1,Five key quality objectives of software construction 软件构造的五个关键质量目标 容 ...

  7. 软件构造学习笔记-第九周、第十周

    因为本周五开始五一假期,所以只有一节软件构造课.因为内容还属于创建模式.结构模式.行为模式.将该堂课的内容整合到本博客中.本周的重点是程序开发模式,在写代码之前首先充分考虑采用哪种模式更有利于开发.维 ...

  8. 2020春季学期哈工大软件构造学习心得三

    Abstract Data Type (ADT) and ObjectOriented Programming (OOP) 前言 前两章回答了:什么是"高质量的软件". 如何从不同 ...

  9. 哈工大2022春软件构造学习笔记1

    课程概述 第一部分:软件构造基础 第二部分:ADT+OOP 第三部分:面向可复用性和可维护性的软件构造 第四部分:面向健壮性与正确性的软件构造 第一章 软件构造的多维度视图和质量目标 软件构造的多维度 ...

最新文章

  1. 收缩临时库 shrink tempdb
  2. 给AI一个洗衣机,TA会做点啥?斯坦福+FB研究了972种形状,只为教机器人开门
  3. ASP.NET 导出EXCEL
  4. 物联网推动时代进步 中小玩家如何傍上运营商这棵大树
  5. 【转载】一文彻底拿下Java异常
  6. Linux export 命令用法
  7. 使用setsockopt()接口,设置TCP的接收与发送超时,Invalid argument错误问题
  8. JavaScript之常用方法讲解
  9. python 删除第三方库_python中通过pip安装的第三方库在哪里
  10. 数据结构1800试题(第3章)
  11. 用BeautifulSoup爬取豆瓣妹子的图片
  12. C++期末课程设计——宾馆客房管理系统(详细报告+源代码+详细注释)(另附加“25+”C++C语言期末课程设计系统下载地址)
  13. Blender MMD 备忘
  14. 海康威视摄像头的多通道rtsp地址格式
  15. 数据库原理及安全技术教学实验报告SQL实践(一)
  16. 百度脑图中如果想输入换行符本身(\n)怎么输入
  17. 通过canvas画出爱心图案,表达你的爱意!
  18. Openstack安装与部署三:本地源配置
  19. 换ip地址除开虚拟服务器,GoDaddy虚拟主机更换IP地址和更换主域名绑定的方法
  20. Android手机通过USB线共享电脑的网络上网

热门文章

  1. rust 使用hotwatch 监控文件变化
  2. 2u服务器安装系统,2u的服务器
  3. LSU——1116Necklace(尺取)
  4. echarts的legend分多处排列
  5. 小一教你轻松爬取全国40城5000+地铁站点数据!附源码和数据集
  6. JDBC 快速入门JDBC 抽取JDBC工具类:JDBCUtils
  7. 陈泽辉 (Keith Chan)个人简介
  8. 高通物联网平台9205介绍
  9. 独立产品灵感周刊 DecoHack #019 - Stack Overflow 发布2022 年度开发者调查结果
  10. 文本分析—余弦相似度计算