软件测试教案.doc

上传人:hw****26 文档编号:2416507 上传时间:2019-05-12 格式:DOC 页数:55 大小:1.66MB
下载 相关 举报
软件测试教案.doc_第1页
第1页 / 共55页
软件测试教案.doc_第2页
第2页 / 共55页
软件测试教案.doc_第3页
第3页 / 共55页
软件测试教案.doc_第4页
第4页 / 共55页
软件测试教案.doc_第5页
第5页 / 共55页
点击查看更多>>
资源描述

1、第一章 软件及其开发过程 教学目的 1、 理解软件的含义 2、了解软件开发过程 教学内容 1 1 软件的含义 1、软件概念 能够完成预定功能和性能的、可执行的指令 (计算机程序 ); 使得程序能够适当地操作信息的数据结构; 描述程序的操作和使用的文档。 软件 = 程序 + 数据 (库) + 文档 + 服务 2、软件组成 客户需求 - Customer Requirements 市场需求文档 - MRD (Marketing Requirement Document) 软件规格说明书 - Specifications 技术设计文档 Technical Design Docs 测试文档 Test

2、Documents 在线帮助 - Online help 产品发布注释 - Release Notes / Read Me 产品软件包 - Release packages 3、软件特征 软件 是逻辑的、知识性的产品集合,是对物理世界的一种抽象,或者是某种物理形态的虚拟化 。 软件是硬件的灵魂,硬件是软件的基础 软件,是智慧和知识的结晶 软件不会“磨损”,而是逐步完善 . 1 2 软件开发过程的特性 1 2 1 软件开发的基本过程 需求分析 : 根据客户的要求,清楚了解客户需求中的产品功能、特性、性能、界面和具体规格等,然后进行分析,确定软件产品所能达到的目标。 设计 : 根据需求分析的结果,

3、考虑如何在逻辑、程序上去实现所定义的产品功能、特性等,可以分为概要设计和详细设计,也可分为数据结构设计、软件体系结构设计、应用接口设计、模块设计、界面设计等。 编程 : 将设计转换成计算机可读的形式。 测试 : 对设计、编程进行验证和用户需求确认的过程 维护: 维持软件运行,修改软件缺陷、增强已有功能、增加新功能、升级等。 1 2 2 软件开发过程模型 瀑布模型 原型模型 快速应用开发 (RAD)模型 改进的 V模型 螺旋模型 增量模型和迭代模型 构件组装模型 并发模型 XP 模型 1 3 软件测试的重要性 1 3 1 软件所带来的悲剧 1、千年虫 (缺陷问题) 2、迪斯尼的圣诞节礼物(软件兼

4、容性问题) 3、美国航天局火星登陆事故( 未进行集成测试) 为什么会发生这些问题? 没有足够测试 缺乏测试平台 不正确的测试环境 缺少集成测试 缺少性能测试 缺少强度测试 缺少可靠性测试 1 3 2 测试的重要性 “ 程序测试是为了发现错误而执行程序的过程 ” 。测试的目的是发现程序中的错误,是为了证明程序有错,而不是证明程序无错。 在软件开发过程中,分析、设计与编码等工作都是建设性的,惟独测试是带有 “ 破坏性 ” ,测试可视为分析、设计和编码 3 个阶段的 “ 最终复审 ” ,在软件质量保证中具有重要地位。 第二章 软件测试的基本概念和方法 教学目的 1、理解软件测试的基本概念 2、理解软

5、件测试在软件开发过程中的重要性 3、理解软件测试的意义 4、理解软件测试的基本方法 和测试分类 教学内容 2 1 软件质量 软件质量就是客户满意度 2 1 1 软件质量的内涵 1、构成: 软件产品的质量,即满足使用要求的程序 软件开发过程的质量,即能否满足开发所带来的成本、时间、风险等要求 软件在其商业环境中所表现出的质量 即就品质的软件应该是相对的无产品缺陷或只有极少量的缺陷,能够准时递交给客户,所花费用在预算内,并且满足客户需求,是可维护的。 2、特性: 可 说明性、有效性、易用性。 广义的软件质量由产品质量、过程质量、商业环境质量三者决定。 2 2 软件缺陷( bug) 软件缺陷:计算机

6、系 统或者程序中存在的任何一种破坏正常运行能力的问题、错误、或者隐藏的功能缺陷、瑕疵 。缺陷会导致软件产品在某种程序上不能满足用户的需要。 IEEE1983 OF IEEE Standard729 中对软件缺陷的定义: 从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题 从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背 软件缺陷的主要类型: 功能特性没有实现或部分实现 设计不合理,存在缺陷 实际结果和预期结果不一致 运行出错 数据结果不正确、精度不够 用户不能接受的其它问题,如存取时间长,界面不美观等。 软件缺陷严重性级别: 致命的( fatal) :致命的错

7、误,造成系统或应用程序崩溃、死机、系统悬挂,或造成数据丢失、主要功能完全缺失 严重的( critical):严重的错误,指功能或特性没有实现 ,主要功能部分缺失,次要功能完全缺失,或致命的错误声明。 一般的( major):不及严重的错误,不影响系统的基本使用,但没有很好地实现功能,没有达到预期的效果。 微小的( minor):小问题,对功能几乎没有影响 建议( suggestion) 软件缺陷的状态: 激 活状态 己修正状态 关闭或非渡海状态 2 2 2 软件缺陷的产生 技术问题 团队工作 软件本身 2 2 3 软件缺陷的构成 图 2-1软件缺陷构成示意图图 2-2软件缺陷存在不同阶段分布图

8、 2-3 软件缺陷随着时间带来越来越大的成本图 2-4 软件缺陷随着时间引起的成本曲线 2 3 软件测试的基本方法 2 3 1 软件测试的原则 P29 2 3 2 白盒测试和黑盒测试 根据测试是针对系统的内部结构还是针对具体实现算法的角度,分为白盒测试和黑盒测试 1、 黑盒测试( black-box-texting) (功能测试 /数据 驱动测试 ) 不管程序内部结构是什么,从用户出发,根据产品应该实现的实际功能和巳经定义好的产品规格验证产品所应该具有的功能是否实现,每个功能是不都能正常使用,是否满足用户的要求。 图 2-5 黑盒测试方法示意图 功能;用于软件确认测试 是否有不正确或遗漏了功能

9、 在接口上,能否正确地接受输入数据,能否产生正确的输出信息 访问外部信息是否有错 性能上是否满足要求 界面是否错误,是否不美观 初始化和终止错误 方法:等价类划分、边界值分析、错误推测法、因果图等 2、 白盒测试 ( white-box-texting) (结构测试 或逻辑驱动测试 ) 已知产品内部工作过程,清楚最终产生软件产品的计算机程序的结构和语句,按照程序内部的结构测试程序,测试程序内部的变量状态、逻辑结构、运行路径等,检验程序中的每条通路是否按规定正常进行。 功能:用于软件验证 方法:逻辑覆盖 (语句覆盖、判定覆盖、条件覆盖、判定 /条件覆盖、条件组合覆盖、路径覆盖) 、基本路径测试

10、、循环覆盖 等 思考:通过白盒测试的软件是否一定没有错误? 原则: 保证每个模块中所有独立路径至少被使用一次 对所有逻辑值均测试为真假值 在上下边界及可操作范围内运行所有循环 检查内部数据结构 以确保其有效性 2 3 3 静态和动态的方法 根据程序是否运行,测试可以分为静态和动态测试 静态测试:对模块的源泉代码进行研读,查找错误或悼念一些度量数据,并不需要对代码进行编译和仿真运行。 用人工检测 计算机辅助静态 分析 测试包括对软件产品的设计规格说明书的审查、对程序代码的阅读、审查 动态测试:通过观察代码运行时的动作,来提供执行跟踪、时间分析,以及测试覆盖度方面的信息。 2 3 4 验证和确认( verification而测试不足意味着让用户承担隐藏错误带来的危险 .同时反过来说 ,如果过度测试 ,则又会浪费许多宝贵的资源 . 找到一个最佳平 衡点。 测试范围的确立 优先级最高的需求功能 新功能和编码改动较大 (提高性能表现 )的旧功能 运用有效的测试技术去提高测试效果 经常容易出现问题部分的功能 一些经常被用户使用的功能和配置 测试持续阶段的确定 当测试任务明确后 ,测试计划将依赖于测试小组的人力资源而最终确定 . 通过 /失败的标准 单个的测试通过 /失败 测试用例 全部产品测试通过 /失败 每个阶段的通过 /失败 阶段通过 /失败的标准

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 建筑建材

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。