软件测试基础知识

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

制 设
软件
测试
计测试
测试
测试
测试
Beta测试
Alpha测试
测试
8
软件测试周期
获得Build 构建Build
设置环境
修正缺陷
软件测试周期
冒烟测试
记录缺陷 常规测试
回归测试
9
软件测试分类与测试方法
静态测试 动态测试 功能测试 界面测试 文档测试 手工测试 自动测试 常规测试 黑盒测试 白盒测试 冒烟测试 单元测试 集成测试 安装/卸载测试 兼容性测试 安全性测试 内部测试 外包测试 Alpha测试 易用性测试 跨平台测试 Beta测试 RTM测试
11
软件缺陷跟踪驱动软件开发
软件程序员 缺陷确认 项目管理人 员 缺陷报告 DTS 缺陷修正 DTS 软件测试人 员 编译新版本 Build发布 编译Build 软件代码 管理
Build编译人 员
回归测试
12
测试的启动与结束条件
测试启动条件
• 测试计划和测试用例准备完毕 • 错误跟踪工具设置完毕 • 被测试的Build已经可用 • 测试的软件和硬件环境已经准备就绪
回归测试
• Regression testing,测试由于修正缺陷 而更新的程序代码,彻底修正了上一个版 本的缺陷,而且没有引入新的软件缺陷 • 在通过冒烟测试后,在执行新的测试内 容前进行此项测试 • 回归测试可以采用手工测试或自动测试 • 执行原来所报告的缺陷步骤和方法,检 验软件缺陷是否被修正 • 完全回归测试是把所有修正的缺陷进行 验证。由于测试时间紧张,需要验证的缺 陷数量巨大,则可以进行部分回归测试 • 将测试用例按照测试优先级进行部分回 归测试 • 将严重性高的缺陷进行回归测试
10
系统测试 验收测试 国际化测试 本地化测试
软件缺陷特征与产生原因
缺陷特征: 缺陷特征:
•危害性:引起软件功能错误、甚至系统崩溃 •隐蔽性:某些类型的缺陷很难发现 •多样性:功能缺陷、界面缺陷、文档缺陷 •可重复性:按照一定的条件和步骤可以再现
产生原因: 产生原因:
1. 开发人员不太了解软件需求,不清楚应该“做什么”和“不做什么”,常常做不合需求的事 情; 2. 软件系统越来越复杂,开发人员不太可能精通所有的技术,不正确地使用技术,将产生Bug; 3. 软件设计文档不清楚,文档本身存在Bug,导致使用者产生更多的Bug; 4. 软件需求、设计说明书、程序经常发生变更,每次变更都可能产生新的Bug; 5. “人无完人”,任何人在编程时都可能犯错误,导致程序中的Bug; 6. 由于时间或资源紧张,开发人员迫于进度的压力,尤其是在软件发布最后期限来临之际; 7. 开发人员过于自信,喜欢说“没问题”,不真实的“没问题”将产生真正的问题。
冒烟测试
• 最初微软命名,Smoke testing,又称健 全性检查(Sanity check),模拟制作完 电路板后的通电检查。 • 获得新的Build后快速测试程序 。 • 确认Build可以安装、满足基本功能、可 以进行常规测试。 • 大规模测试展开前必须进行冒烟测试 • 保证Build的可测试性、降低测试成本、 提高测试效率、尽早发现和报告Build的问 题。 • 如果没有通过冒烟测试,需要重新构建 Build,然后再次执行冒烟测试 • 通过冒烟测试后,可以进行正常的软件 测试
测试结束条件
• 所有软件缺陷得到处理(最好目标: 0 缺陷) • 在规定的时间内连续运行软件没有产 生死机、系统崩溃和丢失数据的错误 • 完成了测试计划和测试用例指定的测 试工作 • 软件经过“项目管理组”讨论,认为 能达到客户的合理质量期望值 • 软件到了发布的截止日期
13
为什么需要冒烟测试与回归测试
•就事论事,用事实说话
测试经理
测试组长 测试工程师
•不指责、不嘲笑、不卖关子、不打小 报告、不搞人格攻击 •按时完成份内工作,报告测试进度, 提出测试存在的问题和改进方法
QA人员 市场销售
技术支持
•加强交流与沟通(项目会议、电话、 书面、口头交流) •软件测试人员是项目的服务员 •谦虚、热情、坚持原则、讲究方式
2
软件测试的概念和术语
软件质量(SW Quality):软件的功能和性能满足用户需要的程度 软件质量 : 软件Build:用于测试的软件中间版本程序。 软件 : 软件缺陷(SW Defect/bug/error):软件的功能/性能/界面/文档与软件需求文档和 软件缺陷 用户的需要不一致的现象 软件缺陷生命周期(SW defect lifecycle):报告、确认、修正、验证、关闭 软件缺陷生命周期 : 测试用例(Testcase):包含输入条件、执行步骤和测试期望的正确结果的文档 测试用例 : 缺陷跟踪系统( ):管理软件缺陷的整个生命周期的工具 缺陷跟踪系统(DTS): ): 静态测试与动态测试(Statistic testing and dynamic testing):不执行/执行程序进 静态测试与动态测试 : 行的测试 白盒测试与黑盒测试( ):测试软件代码 白盒测试与黑盒测试(White box testing and Black box testing): ): 结构的测试,不关心软件代码结构,以软件输入和输出来测试软件功能的测试。 回归测试与冒烟测试( 回归测试与冒烟测试(Regression testing and smoke testing):在新的软件Build ) 上验证修正的缺陷是否不再现,在大规模测试前,快速执行的基本功能测试。 软件里程碑( ):软件项目开发的各个关键过程。 软件里程碑(SW Milestone): ):
17
问题与思考: 问题与思考:
如何克服软件测试的局限性? 如何提高测试本身的质量和有效性?
5
软件测试的认识误区
思考与讨论 软件测试就是敲敲键盘,动动鼠标很容易,谁都能干 软件测试很难,无法保证测试有效性 软件开发完成后进行软件测试 软件发布后如果发现质量问题,那是软件测试人员的错 软件自动测试效率高,将取代软件手工测试 软件测试是测试人员的事情,与程序员无关 项目进度吃紧时少做些测试,时间富裕时多做测试 软件测试是没有前途的工作,只有程序员才是软件高手
6
软件测试流程
项目需求 项目分析 项目计划 项目启动会议 内部计划与进度
实施测试
测试版本传递
前期准备与设置
测Байду номын сангаас文档
里程碑测试 周期
测试管理 执行测试 测试项目报告 测试质量保证
最终提交
项目收尾审查 客户满意度调查
7
软件测试过程
创建测试计划 测试 软 件 测 试 过 程 构建测试环境 测 试 需 执行软件测试 分 析 测试 计 划 例 求 试 用 测 试 试 告 定 计 测 测 报 陷 行 测 试 缺 件 撰 执 写 正 软 修
14
软件测试与开发的阶段关系
PM/市场/用户 软件需求文档 软件验收测试 用户/测试人员
PM、架构师
软件设计规格
软件系统测试
测试人员
架构师
软件框架设计
软件集成测试
测试人员
高级程序员
软件详细设计
软件单元测试
程序/测试人员
程序员
软件编码
程序员
15
软件测试人际关系方法论
•换位思考,相互理解,相互尊重
项目经理
3
软件测试的目的与原则
目的: 目的: 寻找Bug 寻找软件的缺陷 跟踪修正软件缺陷 验证Bug 跟踪Bug 验证修正的软件缺陷 原则: 原则: 尽早进行软件测试,早期发现和报告软件缺陷 全程测试,测试过程贯穿于整个项目的生命周期 测试独立与开发,开发人员不能测试自己的软件 软件的缺陷驱动开发(基本代码完成后愈加明显)
软件测试基础知识
提要
软件测试概念和术语 软件测试的目的和原则 软件测试不能保证什么? 软件测试认识的几个误区 软件测试流程 软件测试过程 软件测试周期 软件测试分类与测试方法 软件缺陷特征与产生原因 软件缺陷跟踪驱动软件开发 测试的启动与结束条件 为什么需要冒烟测试与回归测试 软件测试与开发的阶段关系 软件测试人际关系方法论 当前软件测试界存在的主要问题
软件测试不能保证什么
测试的不彻底性
经过测试后的软件不能保证没有缺陷
不彻底 不完整 间接性
测试的不完整性
测试无法保证覆盖到每个应该测试的内容 不可能测试到软件的全部输入与响应 不可能测试到全部的程序分支的执行路径
测试作用的间接性
测试不能直接提高软件质量,软件质量的提高靠开发 测试靠早期发现缺陷,督促修正缺陷间接提高软件质量
16
当前软件测试界存在的主要问题
轻视软件测试的重要性,公司高层领导仅停留在口头重视层面 缺乏合适的软件测试人才(管理人才、技术人才、培训人才) 企业缺少充分的有效地软件测试培训(基础培训、项目和产品培训) 软件测试人员“跳槽”频繁,造成测试队伍不稳定,引起测试质量波动 软件测试工资待遇低、工作枯燥乏味、发展空间不大,很多人员不愿做 测试 缺乏有效的测试方法,测试的价值没有得到应有的体现 软件测试缺少计划性和组织性,流程不规范,责任不明确,相互推诿。
相关文档
最新文档