网上读书关于软件测试,【读书笔记】之软件测试

1.引论

1.1 什么是软件测试

软件测试主要是对制作的软件产品进行检查和测试,及时地发现程序中的故障和逻辑错误,以保障软件产品的可靠性。软件测试是保证软件质量的关键步骤,也是提高软件可靠性的重要手段,因此它是软件工程的的重要重要组成部分之一。

软件测试的内容包括两个方面,即文档和程序。

软件测试的宗旨是要采用费用最少而效果最好的方法提高软件产品的质量。

Dijkstra关于软件测试有一句极精辟的话“测试只能证明程序有错,不能保证程序无错”。

1.2 软件测试的目标

G.Myers在他的优秀著作《软件测试技巧》中,精辟的阐述测试的目的或定义:

1. 程序测试是为了发现错误而执行程序的过程;

2. 好的测试方案是极可能发现迄今为止尚未发现的错误;

3. 成功的测试是能够发现以前尚未发现的错误。

由此可见,传统观念“程序测试是为了证明程序中不存在错误”,“成功的测试是一个未能发现错误的测试”是不正确的。

1.3 软件测试的原则

1. 预先确定测试结果

2. 软件的开发者(或部门)不应该测试自己的程序

3. 制定严格的测试计划,防止测试的随意性

4. 设计和选择测试方案要有利于发现错误

5. 集中力量测试容易出错的程序段

在许多程序中,错误好像是成群出现的,这些错误往往比较集中在一段程序中。存在错误的概率与这段程序中发现的错误成比列。这就是所谓群集现象。

6. 保存好测试计划,测试方案,错误数据统计和分类,以及最终的分析报告。

2.软件测试方法

软件测试通常有三种方法,第一种是程序正确性证明,即验证;第二种是静态测试,即不执行被测试的程序而发先程序中的错误;第三种是动态测试。

2.1 程序正确性证明

程序正确性证明是从理论上对程序的正确性进行论证,通过证明可以得出程序逻辑上是否正确。

在许多情况下,一个完全的形式证明可能是不必要的。在某些情况下,若不能实现完全测试,则也不可能实现完全的形式证明。然而,我们常常用程序正确性证明所开发的推理风格来指导测试过程,以增强对程序的信任,有时可以把某些性质的程序证明和其他性质的测试结合起来。

2.2 静态测试

所谓静态测试是指不执行程序而找出程序存在错误的方法。这种方法以人工的,非形式化的方法对程序进行分析和测试,它是不依赖于计算机的测试。实践表明,静态测试可以发现大约30%-70%的逻辑设计错误和编码错误。

2.2.1 功能检查(自我测试)

功能检查也叫自我测试,由程序员将模块功能(说明,算法,语法规则),流程图和编码对照起来反复阅读,检查程序的语法和逻辑错误。

2.2.2 群体检查

群体检查是由自于人听社记者对功能说明,流程图,程序编码的自我测试等情况的汇报之后,对程序进行动态分析的过程。

2.2.3 人工运行检查

人工运行检查是由人扮演计算机来执行程序,将测试方案按程序的逻辑结构执行一遍,从而找出程序的错误供测试者分析。

2.3 动态测试

静态测试主要是检查程序的逻辑设计和编码错误,但在理论上和实践上还存在局限性,所以还比寻进行动态测试。

所谓动态测试,就是把程序看作函数,取函数定义域中的每一个元素作为输入,实际运行程序,检查程序的执行结果是否全部落在函数的值域之内,以此来检查程序的正确性,可靠性和有效性。

1. 如果产品要实现的功能是已知的,就可以分别测试是否达到每个功能要求,称之为“黑盒测试”

2. 如果知道产品的内部逻辑结构和处理过程,可以根据规格说明来完成内部操作的测试,称之为“白盒测试”

2.3.1 黑盒测试法(功能测试法)

黑盒测试法又称为功能测试法,它是在软件接口上进行测试,根据对软件功能的分析,推演出函数定义域中有代表性的元素组成测试方案。测试者使用这种方法时,把程序看成一个黑盒,完全不考虑程序内部的结构和处理过程。其目的是用来证明与程序内部工作无关的功能需求的有效性,很少考虑软件的内部逻辑结构。

41/41234>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/560312.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

matlab guide 自定义右键菜单

在一个gui图形显示界面上点击右键,出现一些选项可以进行操作。 实验效果: 找到菜单编辑器的上下文菜单: 我们看几个回调函数即可: function clear_Callback(hObject, eventdata, handles) cla; function gridoff_Callback(hObj…

计算机活动感悟怎么写,计算机教学心得体会范文五篇.doc

计算机教学心得体会范文五篇计算机教学心得体会范文五篇【一】一、开卷有益,爱不释手然而,在我参加了第一次培训,我就发现自己错了,此次的电脑培训与以前参加过的培训大相径庭。以前的培训都是应付考试的,实用性不强&a…

Java一些基础知识的整合

文章目录1. 数据类型、变量与常量1.1基本数据类型(primitive types)1.1.1 boolean1.1.2字符型1.1.2.1 转 义 字 符 含 义1.1.3整数类型1.1.4 浮点类型1.2引用类型( reference types )1.3 基本数据类型和引用类型区别1.4 标识符( Identifier&a…

空军部队计算机专业有没有用武之地,报名当兵可以选择陆军、海军、空军、武警、火箭军,艰苦地区部队...

如果是本科生,在部队表现优异,年龄不超26周岁是可以被推荐去参加大学生士兵提干考试。考上之后需要到军校培训6个月左右,毕业后下部队就是中尉军衔。二、报名当兵时有陆军、海军、空军、武警、火箭军,艰苦地区部队,选择…

查看本地计算机ip命令,查看你本机的IP信息的命令ipconfig详解【图】

原标题:"查看你本机的IP信息的命令ipconfig详解【图】"关于路由器的知识分享。 - 素材来源网络 编辑:kaka。对于ipconfig命令大家应该不陌生,它主要用于显示本地计算机网络适配器的ip地址、子网掩码以及默认网关等信息。1、IPconfig不带参数不…

什么是传感器? 传感器由哪几部分组成? 传感器分类?

文章目录1.什么是传感器?2.传感器由哪几部分组成?3.传感器分类?1.什么是传感器? 传感器(英文名称:transducer/sensor)是一种检测装置,能感受到被测量的信息,并能将感受到…

计算机win7关机重启,电脑win7关机后自动重启如何解决_win7一关机就立马自动重启修复方法-win7之家...

我们在使用完win7系统电脑之后,都会顺手对其进行关机操作,以此防止电脑中的硬件过度消耗,可是近日有些用户在将win7电脑关机之后却又出现了重启的情况,最终不得不以切断电源的方式来解决,那么电脑win7关机后自动重启如…

RFID 射频 RFID工作流程 自动识别技术 工作频段 短距离无线通信技术

文章目录1.rfid概念:2.射频概念:3.rfid工作流程:4.几类自动识别技术各有什么特点?他们有何不同。5.RFID系统有哪些工作频段?各频段的特点是什么。6.对比几种短距离无线通信技术1.rfid概念: RFID是一种自动…

链表 队列 基本概念 为什么使用二叉查找树 抽象数据类型

文章目录0.抽象数据类型(ADT)的优点?1.为什么需要链表?2.链表的概念?3.队列的概念?4.为什么需要二叉查找树?0.抽象数据类型(ADT)的优点? ADT版本可读性高,隐藏编程细节,对终端用户隐…

黑盒测试还适用于测试软件,软件测试 黑盒测试中的决策表技术

决策表技术是用于黑盒测试的广泛使用的用例设计技术之一。这是一种系统方法,它以表格形式捕获各种输入组合及其各自的系统行为。它也称为因果表。该技术用于系统地选择测试用例; 它节省了测试时间,并为软件应用程序的测试区域提供了良好的覆盖。决策表技…

统计一行文本的单词个数

统计一行文本的单词个数 习题6-8 统计一行文本的单词个数 (15 分) 本题目要求编写程序统计一行字符中单词的个数。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,空格数可以是多个。 输入格式: 输入给出一行字符。 输出格式: 在一行中输…

戴尔计算机windows未能启动,戴尔电脑windows7无法启动安装过程怎么办

windows7无法启动安装过程怎么办?暗黄win7系统的时候经常遇见这种问题可能是硬件问题导致的,还有可能是系统设置问题导致的,我们具体原因具体分析,一起来看看解决方法,动手实践起来吧!1、方法一&#xff1a…

c语言 数据结构 list、queue、tree抽象数据类型的定义与实现 详尽代码和注释

本文使用c语言定义并实现list、queue、tree抽象数据类型,代码有详尽注释,可以通过代码熟悉原理并运用数据结构。 0.ADT基础知识 类型包括两类信息,属性和操作。在编程时,根据编程问题匹配合适的数据类型。 定义一个新的数据类型…

局域网服务器没显示,无法登录服务器 局域网也不显示连接

什么情况啊 论坛上很多这种情况 客服快来远程帮我解决一下!!!!********************************************************************************[星际争霸重置版]客户端到服务器Ping测试:服务器,223.25…

css 回到首页按钮,js+css实现回到顶部按钮(back to top)

本文实例介绍了jscss实现回到顶部按钮的方法,分享给大家供大家参考,具体内容如下效果htmlcssp#back-to-top{position:fixed;bottom:100px;right:80px;}p#back-to-top a{text-align:center;text-decoration:none;color:#d1d1d1;display:block;width:30px;…

Java Set基础知识

Set集合中不包含重复对象。 HashSet: HashSet的底层用哈希散列表来存储对象。其中的散列码是由关键字的信息内容确定的。关键字到散列码的转换是自动执行的。 存储元素时底层要做的判断:1.调用元素的hashCode()方法,直接访问对应的数组元素,有没有这个哈希值,没有就…

c语言基础练习题 字符串输入scanf/gets 字符串赋值、比大小

PTA上C语言程序设计练习题,包含查找书籍、字符串排序。主要用到字符串输入scanf/gets 字符串赋值、比大小等知识。 1.查找书籍 习题9-4 查找书籍 (20 分) 给定n本书的名称和定价,本题要求编写程序,查找并输出其中定价最高和最低的书的名称和…

ajax搜索思路,jquery创建一个ajax关键词数据搜索实现思路

在web开发过程当中,我们经常需要在前台页面输入关键词进行数据的搜索,我们通常使用的搜索方式是将搜索结果用另一个页面显示,这样的方式对于搭建高性能网站来说不是最合适的,今天给大家分享一下如何使用 jquery,MySQL …

esxi 修改服务器配置失败,R720服务器安装 ESXI 5.5update1后出现XXX错误

R720服务器,安装ESXI5.5UPDATE1 (DELL 的版本)后,安装了几个WIN2003及CENTOS的虚拟机。启用了一台2003和一台CENTOS6.5没有安装vCenter Server从vSphere Client端连接到esxi5.5服务器,发现每次重新启动ESXI,启动事件里面有很多类似…

(哈希)两数之和(leetcode 1)

1.题目 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意…