《软件工程 ——理论、方法与实践》知识概括第十章 软件测试

第10章 软件测试

软件测试是软件质量保证的一项关键活动,它是通过对需求规格说明、软件设计说明和程序代码等进行复审,以保证在软件产品交付前,尽可能发现软件中潜伏的问题。

一、验证与确认

符合以下5条规则的软件问题定义为软件错误:

(1)软件未达到产品说明书表明的功能;

(2)软件出现了产品说明书指明不会出现的错误;

(3)软件未达到产品说明书虽未指明但应达到的目标;

(4)软件功能超出了产品说明书指明的范围;

(5)软件测试人员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户不满意。

软件测试试图证明在软件生存期各个阶段,软件产品或中间产品是否能够满足客户需求,包括逻辑协调性、完备性和正确性。

软件确认是一系列的活动和过程,期目的是保证软件产品能够符合其描述要求。

软件确认:需求规格说明的确认和程序的确认。程序的确认:静态确认、动态确认。

二、软件测试基础

软件测试的目标在于以最少的时间和人力系统地找出软件中潜在的各种错误和缺陷。

软件测试的基本原则:

(1)应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭;

(2)程序员应避免检查自己的程序;

(3)在设计测试用例时,应当包括合理的输入条件和不合理的输入条件;

(4)测试用例应有测试输入数据和与之对应的预期输出结果这两部分组成;

(5)充分注意测试中的群集现象;

(6)严格执行测试计划,排除测试的随意性;

(7)应当对每一个测试结果做全面检查;

(8)妥善保存一切测试过程文档,为维护提供方便。

软件测试V模型:从上而下:需求分析、概念分析、详细设计、编码;从下而上:单元测试、集成测试、系统测试、验收测试。

测试文档:测试计划、测试规范、测试用例、缺陷报告。

测试文档的重要性表现在一下方面:验证需求的正确性,检验测试资源,明确任务的风险,生成测试用例,评价测试结果,在测试,决定测试的有效性。

软件测试需要3类信息:软件配置、测试配置、测试工具。

测试人员应具有以下素质:沟通能力、移情能力、技术能力、自信心、外交能力、幽默感、很强的记忆力、耐心、怀疑精神、自我督促、洞察力。

三、软件测试策略

单元测试:模块接口测试、局部数据结构测试、重要执行路径测试、错误处理测试、边界条件测试、段元测试方法。

集成测试:自顶而下测试、自底向下集成。

系统测试:恢复测试、安全测试、强度测试、性能测试。

软件调试:简单的调试方法(1.在程序中插入打印语句;2.运行部分程序;3.借助调试工具)、归纳法调试、演绎法调试、回溯法调试。

四、软件测试方法:静态测试与动态测试、黑盒测试与白盒测试

五、面向对象软件测试

面向对象测试类型:模型测试、类测试、交互测试、系统(子系统)测试、沿着测试、发布测试。

时间: 2024-10-13 01:44:33

《软件工程 ——理论、方法与实践》知识概括第十章 软件测试的相关文章

软件工程——理论方法与实践(段落概述第一章至第十一章)

第一章软件软件是计算机程序,规程及运行计算机系统可能需要的文档和数据.软件分为通用软件和定制软件.软件的特性:1.复杂性2.不可见性3.不断变化4.大多数软件仍然是定制的,而不是通过已有的构件组装而成.软件于二十世纪50~60年代,70年代,80年代,90年代至今进行发展.在此过程中遇到一些危机:1.软件的开发成本和进度难以估计,延迟交付甚至取消项目的现象屡见不鲜.2.软件存在着错误多,性能低,不可靠,不安全等质量问题.3.软件的成本在计算机系统的整个成本中所占的比例越来越大.4.软件的维护极其

阅读《软件工程—理论方法与实践》第五章心得体会

阅读第五章所了解到的基本知识,形式化方法是指将离散数学的方法用于解决软件工程领域的问题,主要包括建立精确的数学模型以及对模型的分析活动.主要目的是保证软件的正确性.已建立的形式化方法可分为操作类和描述类.操作类方法基于状态和转移;描述类基于数学公理和概念.形式证明与验证技术主要包括模型检测(适用于有穷状态系统,完全自动化并且验证速度快)和定理证明(采用逻辑公式来表示系统规约及其性质,分为自动和交互式两种).一阶线性时态逻辑是一阶谓词逻辑的扩展.对汉诺塔操作规划问题有了更深一步的理解.计算树逻辑是

软件工程理论方法与实践

第一章. 概述  软件是人类思维的杰作,并成为人类现代生活的催化剂.今天软件遍布整个世界,在生物工程.现代通信.宇宙探索.商务处理.工业控制等方面发挥出巨大的威力,并推动了商业.科学和工程领域的跨越式发展,对整个社会的经济和文化产生了深远的影响.软件工程师为了解决开发成本效益和软件质量的问题而产生的.软件是计算机程序.规程以及运行计算机系统可能需要的相关文档和数据.软件分为通用软件和定制软件.软件的特性分别是软件是复杂的.软件是不可见的.软件是不断变化的.大多数软件是定制的而不是通过已有构件组装

阅读《软件工程—理论方法与实践》第一章心得体会

通过对第一章的阅读,软件的划分有了了解,知道了软件是复杂的.不可见的.不断变化的,并且大多数软件是定制的,并不是通过已有构件组装而成的.软件维护是非常困难的,新的修改又会带来新的错误.软件存在多种质量问题,且能成功完成的软件项目的平均率在26%左右.软件工程已关注软件质量为目标,有过程.方法和工具三要素组成.对于软件的质量,对不同的用户角色是不一样的,但他们都有共同的质量要求是可靠性.正确性和有效性.软件工程知识体系被划分10个知识域:软件需求.软件设计.软件构造.软件测试.软件配置管理.软件工

阅读《软件工程—理论方法与实践》第三章心得体会

通过对第三章的阅读,对以下概念有了了解:软件项目管理是为了使软件项目能够按照预定的成本.进度.质量顺利完成,而对成本.人员.进度.质量.风险等进行分析和管理的活动.其有利于将软件开发人员的个人开发能力转化成企业的开发能力,并使企业的软件开发能力不断提高和成熟.软件项目的特征有软件产品的不可见性.项目的高度不确定性.软件过程的多变化性,降低复杂性和控制变化成为软件项目管理面临的关键问题.软件项目管理集中于人员.产品.过程和项目.软件项目的生命周期包括项目启动(确定项目的目标和范围).项目规划(建立

阅读《软件工程—理论方法与实践》第二章心得体会

软件过程是软件工程人员为了获取软件产品而在软件工具的支持下实施的一系列软件工程活动.其基本活动包括:问题提出.软件需求规格说明.软件设计.软件实现.软件确认.软件演化.软件过程产品涉及软件需求.软件设计.软件实现.软件测试和软件实施等活动产生的结果,这些制品通常是在不同的开发活动之间进行转移和演进.常用软件过程模型:瀑布模型(适用于开发的早期阶段软件需求被完整确定的情况).快速原型模型(必须迅速建立原型,随之迅速修改原型,以反映客户的需求).増量模型(可以较好地适应需求的变化).螺旋模型(强调可

软件工程理论方法与实践第五章读后感

形式化方法是指将离散数学的方法用于解决软件工程领域的问题,主要包括建立精确的数学模型以及对模型的分析活动,从根本上讲,软件设计过程就是一个建立形式化规约,软件设计的最终产物--程序在进行形式化的过程中涉及到三中系统模型:现实世界,模型表示和计算机系统.软件规格说明是对软件系统对象,对象的操作系统以及对象行为的描述,形式化的规格说明可用自然语言图表等形式来描述,模型检测主要用于有穷状态系统,优点是完全自动化并且验证速度快

软件工程理论方法与实践第一章读后感

软件是计算机程序,规程以及运行计算机系统可能需要的相关文档和数据,根据软件服务UI想的范围不同,一般可以将软件划分为通用软件和定制软件两种类型.软件的特性主要有,软件是复杂的,不可见的,不断变化的,大多数软件是定制的而不是通过已有的构建组装而成的,然而在软件开发过程中软件开发的成本和进度难以准确估计,延迟交付甚至取消项目的现象屡见不鲜,软件存在这错误多性能低不可靠不安全等质量问题,软件成本在计算机系统的整个成本中所占比例越来越大,且维护困难等等,而软件工程中则是将工程化应用到软件上,由过程方法和

阅读《软件工程—理论方法与实践》第六章心得体会

面向对象技术是软件工程领域中的重要技术,不仅仅是一种程序设计方法,更是一种对真实世界的抽思维方式.面向对象的软件工程方法涉及到从面向对象分析.面向对象设计.面向对象编程.面向对象测试到面向对象软件维护的全过程.面向对象的基本概念包括对象.类.封装.继承.消息.关联.聚合.多态性.属性和服务是构成对象的两个基本要素.使用共同的建模语言进行软件建模在软件开发过程中很必要(①以一种容易理解的形式为后期使用信息提供了便利的方法,②便于交流).UML富有表达力,描述开发所需要的各种视图,以此为基础组建系统