《the art of software testing》第六章
更高级别的测试
- 模块测试的目的是发现程序模块与其接口规格说明之间的不一致
- 功能测试的目的是为了证明程序未能符合其外部规格说明
- 系统测试目的是为了证明软件产品与其初始目标不一致
功能测试,作者从三个方面来概述:
⊙定义上:是一个试图发现程序与其外部规格说明之间存在不一致的过程。
⊙方法上:通常是一项黑盒测试,即:要依赖早期的单元测试的过程来实现理想的白盒逻辑覆盖准则。
⊙过程上:需要对规格说明进行分析以获取测试用例集
系统测试、系统测试的执行
作者从两个方面来概述一下系统测试,至于细节就不再详细叙述了。
⊙对错误理解方面而言,主要是容易跟功能测试混淆。(应重点注意那些在设计外部规格说明的过程中所犯的转换错误。)
⊙对困难性而言,是由于要将程序与其目标进行比较,是系统测试的核心目的,可是没有说明使用什么样的测试用例设计方法。因此,系统测试采取一种不同的测试用例设计法,共计15种的系统测试策略。(具体每个测试策略所采用的步骤就不再叙述了。)它们分别是:能力测试、容量测试、强度测试、易用性测试、安全性测试、性能测试、存储测试、配置测试、兼容性/配置/转换测试、安装测试、可靠性测试、可恢复性测试、适用性测试、文档测试、过程测试。
系统测试的执行,所涉及的关键是:规定了不能进行系统测试的人员及机构:一是程序员;一是负责该程序开发的机构。原因如下:
⊙执行系统测试的人思考问题的方式必须与最终用户相同;
⊙系统测试是一项“随心所欲,百无禁忌”的活动,而软件开发机构会受到心理束缚,有悖于此项活动。大多数的开发机构最为关心的是让系统测试进行得尽可能顺利并按时完成,而不会尽力证明程序不能满足其目标。系统测试至少应由很少受开发机构左右的独立人群来执行。也许最经济的执行系统测试的方法,是将测试分包给一个独立的公司来完成
《the art of software testing》第六章的更多相关文章
- 《the art of software testing》 (1-2)章
软件测试的心理学,重点是要认清: 测试时为发现错误而执行程序的过程 成功的测试:如果在测试某段程序时发现了错误,而且这些错误是可以修复的,就将这次合理设计并得到有效执行的测试称作是"成功的& ...
- 《The art of software testing》的一个例子
这几天一直在看一本书,<The art of software testing>,里面有一个例子挺有感触地,写出来和大家分享一下: [问题] 从输入对话框中读取三个整数值,这三个整数值代表 ...
- 《the art of software testing》第四章 测试用例的设计
白盒测试 逻辑覆盖测试: 逻辑覆盖是以程序内部的逻辑结构为基础的设计测试用例的技术.它属白盒测试.白盒测试的测试方法有代码检查法.静态结构分析法.静态质量度量法.逻辑覆盖法.基本路径测试法.域测试.符 ...
- 《the art of software testing》 第三章 人工测试
在深入研究较为传统的计算机测试技术之前,要先进行"人工测试". 代码检查与走查是两种主要的人工测试方法. 代码检查与走查是对过去桌面检查过程(在提交测试前由程序员阅读自己程序的过程 ...
- 《the art of software testing》第五章
构建大型程序测试的第一个步骤:模块测试 测试用例的设计 在为模块测试设计测试用例时,需要两种信息:模块的规格说明和模块源代码: 模块测试总体上面向白盒测试: 模块测试的测试用例设计过程:使用一种或多种 ...
- 软件测试software testing summarize
软件测试(英语:software testing),描述一种用来促进鉴定软件的正确性.完整性.安全性和质量的过程.软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对 ...
- JavaScript高级程序设计:第六章
第六章 面向对象的程序设计 一.理解对象 1.属性类型: ECMAScript中有两种属性:数据属性和访问器属性. (1)数据属性: 数据属性包含一个数据值的位置.在这个位置可以读取和写入值.数据属性 ...
- 第六章、Linux 的文件权限与目录配置
第六章.Linux 的文件权限与目录配置 1. 使用者与群组 2. Linux文件权限概念 2.1 Linux文件属性 2.2 如何改变文件属性与权限: chgrp, chown, chmod 2.3 ...
- 第六章:Reminders实验:第二部分[Learn Android Studio 汉化教程]
Learn Android Studio 汉化教程 Reminders Lab: Part 2 This chapter covers capturing user input through the ...
随机推荐
- gatsbyjs 了解
1. 模型 2. 总结&&资料 从模型上可以看出和jamstack 提出的架构模型比较相似,可以看成是一个具体的实现,功能还是比较强大的 https://www.gatsbyjs.o ...
- fn project 打包Function
Option 1 (recommended): Use the fn cli tool We recommend using the fn cli tool which will handle a ...
- 5 数组 Swift/Object-C ——《Swift3.0从入门到出家》
Swift中数组是一种数据结构,用来存放多个形同类型的数据结构,数据在数组内的存放是有序的,存进来的数据个读出来的顺序相同 Object-C 中数组能够存放任意类型的数据类型为[AnyObject] ...
- 不让activity显示UI的办法
直接把 //setContentView(R.layout.activity_welcome); 注释掉就是了
- 用Toast来增加调试效率的小技巧
import android.content.Context; import android.widget.Toast; /** * Created by apple on 10/7/15. */ p ...
- TCP协议中的序列号
TCP 协议工作在OSI的传输层,是一种可靠的面向连接的数据流协议,TCP之所以可靠,是因为它保证了传送数据包的顺序.顺序是用一个序列号来保证的.响应包内也包括一个序列号,表示接收方准备好这个序列号的 ...
- Java-Runoob:Java 简介
ylbtech-Java-Runoob:Java 简介 1.返回顶部 1. Java 简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java ...
- Linux学习笔记 -- 目录与文件的管理
目录结构 Linux的目录结构为树状结构,最顶级的目录为根目录 “/”. 其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们. 在开始本教程前我们需要先知道什么是. 绝对路径与相对路径 绝 ...
- MFC调试的几个技巧
TCHAR pStr[] = _T("this is a test!"); void* p = (void*)pStr; TRACE(_T("pStr is %s\n&q ...
- java成神之——网络编程基本操作
网络编程 获取ip UDP程序示例 TCP程序 结语 网络编程 获取ip InetAddress id = InetAddress.getLocalHost(); // InetAddress id ...