软件测试教案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章软件及其开发过程
[教学目的]
1、理解软件的含义
2、了解软件开发过程
[教学内容]
1.1软件的含义
1、软件概念
①能够完成预定功能和性能的、可执行的指令(计算机程序);
②使得程序能够适当地操作信息的数据结构;
③描述程序的操作和使用的文档。
④软件 = 程序 + 数据(库) + 文档 + 服务
2、软件组成
①客户需求 - Customer Requirements
②市场需求文档 - MRD (Marketing Requirement Document)
③软件规格说明书 - Specifications
④技术设计文档– Technical Design Docs
⑤测试文档 Test Documents
⑥在线帮助 - Online help
⑦产品发布注释 - Release Notes / Read Me
⑧产品软件包 - Release packages
3、软件特征
软件是逻辑的、知识性的产品集合,是对物理世界的一种抽象,或者是某种物理形态的虚拟化。
①软件是硬件的灵魂,硬件是软件的基础
②软件,是智慧和知识的结晶
③软件不会“磨损”,而是逐步完善 .
1.2软件开发过程的特性
1.2.1软件开发的基本过程
①需求分析:根据客户的要
求,清楚了解客户需求中的
产品功能、特性、性能、界
面和具体规格等,然后进行
分析,确定软件产品所能达
到的目标。
②设计:根据需求分析的结
果,考虑如何在逻辑、程序
上去实现所定义的产品功能、特性等,可以分为概要设计和详细设计,也可分为数据结构设计、软件体系结构设计、应用接口设计、模块设计、界面设计等。
③编程:将设计转换成计算机可读的形式。
④测试:对设计、编程进行验证和用户需求确认的过程
⑤维护:维持软件运行,修改软件缺陷、增强已有功能、增加新功能、升级等。1.2.2软件开发过程模型
瀑布模型原型模型快速应用开发(RAD)模型改进的V模型螺旋模型增量模型和迭代模型构件组装模型并发模型 XP模型
1.3软件测试的重要性
1.3.1软件所带来的悲剧
1、千年虫(缺陷问题)
2、迪斯尼的圣诞节礼物(软件兼容性问题)
3、美国航天局火星登陆事故(未进行集成测试)
为什么会发生这些问题?
没有足够测试缺乏测试平台不正确的测试环境缺少集成测试缺少性能测试缺少强度测试缺少可靠性测试……
1.3.2测试的重要性
“程序测试是为了发现错误而执行程序的过程”。测试的目的是发现程序中的错误,是为了证明程序有错,而不是证明程序无错。
在软件开发过程中,分析、设计与编码等工作都是建设性的,惟独测试是带有“破坏性”,测试可视为分析、设计和编码3个阶段的“最终复审”,在软件质量保证中具有重要
地位。第二章软件测试的基本概念和方法[教学目的]
1、理解软件测试的基本概念
2、理解软件测试在软件开发过程中的重要性
3、理解软件测试的意义
4、理解软件测试的基本方法和测试分类
[教学内容]
2.1软件质量
软件质量就是客户满意度
2.1.1软件质量的内涵
1、构成:
①软件产品的质量,即满足使用要求的程序
②软件开发过程的质量,即能否满足开发所带来的成本、时间、风险等要求
③软件在其商业环境中所表现出的质量
即就品质的软件应该是相对的无产品缺陷或只有极少量的缺陷,能够准时递交给客户,所花费用在预算内,并且满足客户需求,是可维护的。
2、特性:
可说明性、有效性、易用性。
广义的软件质量由产品质量、过程质量、商业环境质量三者决定。
2.2软件缺陷(bug)
软件缺陷:计算机系统或者程序中存在的任何一种破坏正常运行能力的问题、错误、或者隐藏的功能缺陷、瑕疵。缺陷会导致软件产品在某种程序上不能满足用户的需要。
IEEE1983 OF IEEE Standard729中对软件缺陷的定义:
从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题
从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背
软件缺陷的主要类型:
功能特性没有实现或部分实现设计不合理,存在缺陷实际结果和预期结果
不一致运行出错数据结果不正确、精度不够用户不能接受的其它问
题,如存取时间长,界面不美观等。
软件缺陷严重性级别:
①致命的(fatal):致命的错误,造成系统或应用程序崩溃、死机、系统悬挂,或造
成数据丢失、主要功能完全缺失
②严重的(critical):严重的错误,指功能或特性没有实现,主要功能部分缺失,
次要功能完全缺失,或致命的错误声明。
③一般的( major):不及严重的错误,不影响系统的基本使用,但没有很好地实现
功能,没有达到预期的效果。
④微小的( minor):小问题,对功能几乎没有影响
⑤建议(suggestion)
软件缺陷的状态:
①激活状态
②己修正状态
③关闭或非渡海状态
2.2.2软件缺陷的产生
①技术问题
②团队工作
③软件本身
2.2.3软件缺陷的构成
图2-1软件缺陷构成示意图
图2-2软件缺陷存在不同阶段分布