软件测试基础1汇总
软件测试基础
考核方式
• 笔试+闭卷 • 平时成绩:40%+期末考试成绩:60%
本书课程
• 第一部分• 第软五件部测分试综使述用测试文档
••第第一二部部分分软测•件试计测划基试测础综试工作• 第三部分 运用测试技术
•述第三部分 运• 用编写测和试跟技踪术测试•案配例置测试
• •第软四件部测分试背加•景强报告测发试现的问题• 兼容性测试
缺陷状态 缺陷通过一个跟踪修复过程的进展情况。
缺陷起源 缺陷引起的故障或事件第一次被检测到的阶段。
缺陷来源 引起缺陷的起因。
缺陷根源 发生错误的根本因素。
软件缺陷的严重程度(Severity)
严重等级
描述
A级 (Critical)
B级 (Major)
C级 (Minor)
D级 (Cosmetic)
E级 (Other)
程、测试、维护所有技能。
为什么要测试
• 测试就是为了让产品在交付给最终用户以后,在产 品生存周期(或提供有效服务的期限以内),不让 最终用户发现其所不能接受的现象。
• 良好的测试,可以有效的降低维护的成本。用户如 果满意你的产品,就不会一而再、再而三的要求改 进,维护的成本自然会下降。
什么是软件测试
软件缺陷和故障案例
软件缺陷和故障案例
• 案例1 美国迪斯尼公司的狮子王游戏软件bug 兼容性问题
• 案例2 美国航天局火星登陆事故 系统测试 衔接问题
• 案例3 跨世纪“千年虫”问题 • 案例4 爱国者导弹防御系统炸死自家人
系统时钟误差积累 • 上述所有实例中的软件问题在软件工程或软件测试
中都被称为软件缺陷或软件故障。
什么是软件缺陷
• 软件未达到产品说明书标明的功能; • 软件出现了产品说明书指明不会出现的错误; • 软件功能超出产品说明书指明范围; • 软件未达到产品说明书虽未指出但应达到的目
标; • 软件测试员认为软件难以理解、不易使用、运
行速度慢,或者最终用户认为不好;
软件缺陷的特征
• “看不到” ——软件的特殊性决定了缺陷不易看到
软件测试的目的
• 软件测试的目的是用来检验软件系统是否满 足了需求,并发现尽可能多的缺陷,而不是 为了说明软件中没有缺陷。
BUG的由来
• 所谓“(Bug)”,是指电脑系统的硬 件、系统软件(如操作系统)或应用软 件(如文字处理软件)出错。
• 与Bug相对应,人们将发现Bug并加以 纠正的过程叫做“Debug”,意即“捉 虫子”或“杀虫子”。
什么是软件测试
• G.J.Myers还给出了与测试相关的三个重要观点:
• 测试是为了证明程序有错,而不是证明程序无错误; • 一个好的测试用例是在于它能发现至今未发现的错误; • 一个成功的测试是发现了至今未发现的错误的测试。
• 综上所述得出软件测试的定义:
软件测试是贯穿整个软件开发生命周期、 对软件产品(包括阶段性产品)进行验 证和确认的活动过程。
• “看到但是抓不到” ——发现了缺陷,但不易找到问题发生的原因
所在
软件缺陷的处理
软件缺陷的属性
属性名称
描述
缺陷标识 标记某个缺陷的一组符号。每个缺陷必须有一个唯 一的标识
缺陷类型 根据缺陷的自然属性划分的缺陷种类。 缺陷严重程度 因缺陷引起的故障对软件产品的影响程度。
缺陷优先级 缺陷必须被修复的紧急程度。
• 带上X光眼镜检查软件 • 臭虫轰炸和Beta测试
第1章 软件测试背景
• 内容要点
• 引言与基本概念阐述 • 软件缺陷的来源与处理 • 软件缺陷的属性 • 当今测试人员所面临的挑战 • 优秀测试工程师应具备的素质 • 小结
本章教学目标
• 正确理解软件测试的背景、软件缺陷和故 障的概念
• 正确理解软件测试的概念、目的及意义 • 正确理解软件缺陷的判定及其属性 • 正确理解软件测试人员所面临的挑战与素
质要求 • 了解软件测试职业所存在的理解误区
引言
• 你真的懂测试吗
• 编程大师说:任何一个程序,无论它多么小,总存 在着错误。
• 你懂得如何测试吗? • 临时抱佛脚行吗?你以为有文档模板就会测试了吗? • 如果不懂得有效地进行测试,你不仅得不到功劳,
也没人欣赏你的苦劳,你拥有最多的将只是疲劳。 • 职业软件工程师应当掌握需求开发、系统设计、编
• •第软五件部开分发过使•程用评价测成试效文档 • 外国语言测试 ••第•第二软六件部部测分分试• 测的第软•试实六件软质基件部测础质分试量展软评望件判测•• 试易测展用试性文望测档试
• 检查产品说•明软书件测试员职业•指网导站测试
• 闭着眼睛测试软件
• 第四部分 加强测试
• 检查代码
• 自动测试和测试工具
严重错误:引起系统崩溃或挂起等导致主 要功能不能实现甚至系统不能继续运行的 错误; 一般严重错误:使系统不稳定、或破坏数 据、或产生错误结果的问题; 不严重错误:功能方面一般缺陷,系统性 能或响应时间变慢、产生错误的中间结果 但不影响最终结果等影响有限的错误; 。 轻微错误:较小错误;
合理化建议
软件缺陷的优先级(Priority)
• The process of executing a program or system with the intent of finding errors. ( Glenford J. Myers 对测试的定义 )
• 使用人工或自动的手段来运行或测定某个软件系统的 过程,其目的在于检验它是否满足规定的需求或弄清 预期结果与实际结果之间的差别。( IEEE 1983年对 测试的定义 )
优先级等级
高(Resolve Immediately)
中( Queue)
描述
缺陷必须被修复的紧急程度。
缺陷需要正常排队等待修复或列入软件发 布清单。
• 软件测试是在有限的时间内提供高质量软件的保证, 是一个完整正规的软件开发过程中非常重要的一个部 分。(《微软是怎样做测试的》——ATC ( Advanced Technology Center,微软亚洲工程院 ) 测试组相关负责人)
• Any activities aimed at evaluating an attribute or capability of a program or system. ( Bill Hetzel 1983年对测试的定义 )