- 1、本文档共57页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第01章
第 1 章 软件测试概述 1.1 软件、软件危机、软件工程 1.2 软件缺陷与软件故障 1.3 软件质量与质量模型 1.4 软件测试 1.5 软件测试人员的基本素质 软件测试是软件工程的一个重要部分,是确保软件工程质量的重要手段。 最近几年来,由于软件工程的复杂度的不断增强,更由于软件的工业化发展趋势,软件测试得到广泛的重视。 1.1 软件、软件危机、软件工程 1.1.1软件、软件危机、软件工程的基本概念 计算机软件:是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合 软件危机:在计算机软件的开发和维护过程中所遇到的一系列严重问题,软件生产与市场需求出现极不适应的严重现象 软件工程:应用计算机科学、数学及管理科学等原理开发软件的工程 一个软件产品从形成概念开始,经过开发、测试、使用和维护,直到最后退出使用的全过程称为软件生存周期。 软件生存周期根据软件所处的状态,以及软件开发活动的目的和任务,可划分为若干个阶段。一般软件生存周期包括软件定义、软件开发、软件测试、软件使用与维护等几个部分。 1.软件定义 可行性分析的任务是了解用户的要求及实现环境,从技术、经济和社会等几个方面研究并论证软件系统的可行性。 需求分析的任务是确定所要开发软件的功能需求、性能需求和运行环境约束,编制软件需求规格说明、软件系统的确认测试准则。软件的性能需求包括软件的适应性、安全性、可靠性、可维护性错误处理等。 2.软件开发 软件开发是按照需求规格说明的要求,由抽象到具体,逐步生成软件的过程。软件开发一般由设计、实现和测试等阶段组成。 3.软件测试 软件需经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。 整个测试过程分单元测试、集成测试、系统测试以及验收测试四个阶段进行。 测试的方法主要有白盒测试和黑盒测试。 4.软件使用和维护 软件的使用是在软件通过测试后,将软件安装在用户确定的运行环境中移交给用户使用。软件的维护是对软件系统进行修改或对软件需求变化做出反应的过程。 1.1.3 可供选择的软件过程模型 软件开发过程中存在各种复杂因素,为了解决由此而带来的种种问题,软件开发者们经过多年的摸索,给出了多种实现软件工程的方式——软件过程模型,如瀑布过程模型、螺旋过程模型和增量过程模型等。 1.瀑布过程模型 瀑布过程模型反映了人们早期对软件工程的认识水平,是人们所熟悉的一种线性思维的体现。 瀑布过程模型强调阶段的划分及其顺序性、各阶段工作及其文档的完备性,是一种严格线性的、按阶段顺序的、逐步细化的开发模式,如图1-1所示。 2.螺旋过程模型 螺旋过程模型的基本思路是,依据前一个版本的结果构造新的版本,这个不断重复迭代的过程形成了一个螺旋上升的路径,如图1-2所示。 3.增量过程模型 有些时候可能会用一种几乎连续的过程小幅度地推进项目,这就是增量过程模型,如图1-3所示。 4.快速原型过程模型 1.2 软件缺陷与软件故障 1. 什么是软件缺陷和软件故障 软件缺陷是存在于软件(文档、数据、程序)之中的那些不希望或不可接受的偏差。其结果是软件运行于某一特定条件时出现软件故障,这时称软件缺陷被激活。 软件故障是指软件运行过程中出现的一种不希望或不可接受的内部状态,此时若无适当措施(容错)加以及时处理,便产生软件失效。 2. 软件缺陷和软件故障案例 软件复杂性 交流不够、交流上有误解或者根本不进行交流 程序设计错误 需求变化 时间压力 代码文档贫乏 软件开发工具 1.3 软件质量与质量模型 软件质量是软件的生命,它直接影响软件的使用与维护。 通常软件质量由以下几方面进行评价。 ① 软件需求是衡量软件质量的基础,不符合需求的软件就不具备质量。设计的软件应在功能、性能等方面都符合要求,并能可靠地运行。 ② 软件结构良好,易读、易于理解,并易于修改、维护。 ③ 软件系统具有友好的用户界面,便于用户使用。 ④ 软件生存周期中各阶段文档齐全、规范,便于配置、管理。 软件的质量因素很多,如正确性、精确性、可靠性、容错性、性能、效率、易用性、可理解性、简洁性、可复用性、可扩充性、兼容性等。 软件质量因素也称为软件质量特性,反映了质量的本质。讨论一个软件的质量,问题最终要归结到定义软件的质量特性。
文档评论(0)