软件测试基础教程

  • 格式:ppt
  • 大小:967.50 KB
  • 文档页数:40

下载文档原格式

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

后才开始 软件测试能否确保软件质量 软件发布后出现了质量问题,这是测试人员的责任。 软件测试工作到底难不难?
10
1.3对软件测试的理解
软件测试工作是否也像设计工作那样具有开拓性和创
新性? 软件测试对于软件开发是建设性的,还是摧毁性的? 软件测试是测试人员的事,与开发人员无关。 软件测试与调试工作类似?
验证是指确定软件开发周期中的一个给定阶段的产品
是否达到在上一阶段确立的需求的过程。也就是说, 验证是要决定软件开发的每个阶段,每个步骤的产品 是否正确无误,并与其前面的开发阶段和开发步骤的 产品相一致。
29
验证和确认都属于测试活动。可以这样认为:
验证+确认=测试 验证和确认是不同级别的测试活动。
定期与测试员工进行正式交谈。
对员工的工作充分信任。 以员工期待的方式善待员工。
评价实事求是、以事论事。
规划和开展测试管理工作。
15
1.5 测试人员的职责
测试工程师的职责 制定测试计划。 设计与编写测试用例。 实施测试。 BUG跟踪。 测试报告与总结。 其他软件工程活动。
22
2.1软件测试模型
2.1.1 V模型
V模型主要应用于项目的测试工作中,它强调了测试
阶段与开发阶段的对应关系以及测试工作的及早准备 和进行。
23
确认/系统测试报告 需求分析 确认/系统测试计划(说明) 集成测试报告 概要设计 集成测试计划(说明) 详细设计 单元测试计划(说明) 编码 集成测试 确认/系统测试
32
3、按测试实施组织分类: α测试 β测试 第三方测试
33
4、按测试方法分类: 白盒测试 黑盒测试 灰盒测试
34
2.4 软件测试流程概述
2.4.1 软件开发流程概述
通常情况下编码、单元测试、集成测试这几个阶段是可
以重叠的,但是对于某一个模块而言还是按顺序发生的 。例如对于一个单元,必须是编码完成后才能进行单元 测试,必须是通过单元测试后才能和其他模块进行集成 测试,但是没必要等到所有单元都完成编码,编码阶段 结束后才开始单元测试,同样也没有必要等到所有单元 都通过单元测试后才开始集成测试。对于小的模块是顺 序的,但是对于开发阶段而言是可以重叠的。
6
1.1什么是软件测试
软件测试要发现软件的错误;
软件测试最终要以软件满足用户需求为目标。
7
1.2 软件测试的目的
软件测试最直接的目的是——发现软件中的缺陷,包括
需求、设计方面的缺陷和程序中包含的BUG。这里缺陷 是一种泛称,它可以指软件功能的错误,也可以指性能 低下,易用性差以及其他软件工作产品中的缺陷等等。
16
1.6 测试人员的素质要求
测试人员的技术素质要求
软件开发技术。
软件测试技术。 软件工程方面能力。 行业知识。
17
1.6 测试人员的素质要求
测试人员的非技术素质要求 沟通能力 移情能力。 自信心。 幽默感。 外交能力。 超强的记忆力。 足够的耐心。 怀疑精神。 自我督促。 洞察力。
测试活动可以是按照某个次序先后进行的,但也可能 是反复的。
25
测试准备就绪点 测试准备 测试执行 测试流程
其它流程(如设计流程)
图 2-2 h 模型示意图
26
软件测试采用h模型的三个理由为: 有利于测试的分工,从而降低成本,提高效率; 有利于认识到测试的复杂性,从而赢得重视和尊重;
有利于了解测试投入的去处,从而得到测试利益的公
37
模块 单元
模 块
模块 单元 测试
测试
设 计 信 息
软 件 需 求
各 种 环 境
集成的
确认的
模块 单元 测试
集成 测试
软件
确认 测试
软件
系统 测试
模块 单元 测试
已测模块
图 2-3 单元、集成、确认和系统测试步骤
38
测试周期的制定
测试计划
测试用例执行
测试报告
测试改进
测试说明
测试准备工作
BUG记录与跟踪
3
1.1什么是软件测试
广义的软件测试定义是:贯穿在整个开发各阶段的复
查、评估与检验活动,这远远超出了程序测试的范围, 可以统称为确认、验证与测试活动(V,V&T—— Validation, Verification and Testing)。
4
1.1什么是软件测试
狭义的测试定义为:软件测试是为了发现错误而执行

30
2.3 软件测试分类
1、按要执行被测软件的角度分类: 按是否需要执行被测软件的角度,可分为静态测试和动 态测试,前者不利用计算机运行待测程序而应用其他手 段实现测试目的,如代码审核。而动态测试则通过运行 被测试软件来达到目的。
31
2、按开发阶段分类: 单元测试 集成测试 确认测试 系统测试 验收测试
40
书名:软件测试基础教程 ISBN: 978-7-111-48081-5 作者:牛红 出版社:机械工业出版社 本书配有电子课件
本章目录
1.1 什么软件测试
1.2 软件测试的目的 1.3 对软件测试的理解
1.4 软件测试的原则
1.5 测试人员的职责 1.6 测试人员的素质要求 1.7软件测试职业岗位分析
测试实施工作
测试总结
测试检查工作
测试改进工作
图2-4 软件测试周期示意图
39
测试阶段和测试周期的关系
测试阶段对应于开发生命周期的不同阶段,各测试阶段本身相对独立。在
软件的实际开发过程中,可以选择全部的测试阶段,也可以只选择几个测 试阶段,现在国内一些小的软件企业都只进行确认测试。
测试周期是针对测试活动定义的,每一个测试阶段都是一个相对独立的测
13
1.4软Baidu Nhomakorabea测试的原则
1.4.2测试管理方面
测试必须是有计划、有组织、有准备的。
严格执行测试计划并及时进行修订。 有效的BUG跟踪和管理。
由独立的第三方来完成测试工作。
14
1.5 测试人员的职责
测试经理/主管的职责
招聘最适合于工作的测试人员。 建立测试技术模型和培训机制。
程序的过程。软件测试是根据软件开发各阶段的规格 说明和程序的内部结构而精心设计一批测试用例,并 利用这些测试用例去运行程序,以发现程序错误的过 程。
5
1.1什么是软件测试
IEEE在1983年定义是:使用人工或自动手段来进行或
测定某个系统的过程,其目的在于检验它是否满足规 定的需求或是弄清预期结果与实际结果之间的差别。 “软件测试以检验是否满足需求为目标”。
正评判。
27
2.2 确认和验证
确认是指在软件开发过程结束时对软件进行评价以确
定它是否和软件需求相一致的过程。在软件产品开发 完成以后,为了对它在功能、性能、接口以及限制条 件等方面是否满足需求做出切实的评价,需要在开发 的初期,在软件需求规格说明书中明确地规定确认的 标准。
28
2.2 确认和验证
35
2.4 软件测试流程概述
2.4.2 软件测试流程概述
科学的软件测试流程主要包括: 测试阶段的划分; 测试周期的制定; 测试工作的质量。
36
一个好的测试过程的属性有: 整个测试过程被书面化; 测试过程是灵活、可变的; 每个人都同意遵循这个测试过程; 测试过程包含度量,该度量用于测量测试过程的有效性 ,也是修改测试过程和测试工作改进的基础; 测试过程要被主动管理。
试活动,所以每一个测试阶段都会是一个独立的周期。在V模型中,以确 认测试为例,在需求分析阶段,测试人员就开始了确认测试活动,首先要 制定确认测试计划,其次是根据需求规格说明书制定确认测试说明、设计 测试用例,最后在软件全部开发完成后根据测试说明进行确认测试,并编 写确认测试报告,在项目完成后编写测试总结。同样,单元测试和集成测 试也都会有相对独立的测试生命周期。
8
1.2 软件测试的目的
Glen Myers曾提出关于测试目标的规则: 测试是一个为了寻找错误而运行程序的过程。
一个好的测试用例是指很可能找到迄今为止尚未发现
的错误的用例。
一个成功的测试是指揭示了迄今为止尚未发现的错误
的测试。
9
1.3对软件测试的理解
需求-设计-编码-测试,软件测试工作在编码完成
单元测试报告 单元测试
图 2-1 V 模型示意图
24
2.1软件测试模型
2.1.2 h模型
h模型揭示了:
软件测试不仅仅指测试的执行,还包括很多其他的活
动。
软件测试是一个独立的过程,贯穿产品整个周期,与
其它流程并发的进行。 软件测试要尽早准备,尽早执行。
软件测试根据被测物的不同是分层次的。不同层次的
11
1.4软件测试的原则
1.4.1 测试技术和策略方面
1.4.2 测试管理方面
12
1.4软件测试的原则
1.4.1 测试技术和策略方面
测试工作要尽可能地找出关键性的错误。
把Pareto原则应用于软件测试。 100%测试覆盖率。
所有的测试都应追溯到用户需求。
应当尽早地和不断地进行软件测试。 总假定程序是有错误的。 彻底检查和仔细分析每一个测试结果。 不断提高测试策略和技巧。
18
1.7 软件测试职业岗位分析
工作起点高
发展空间大 职业寿命长
薪水待遇好
没有性别歧视
19
本章目录
2.1 软件测试模型
2.2 确认和验证 2.3 软件测试分类
2.4 软件测试流程概述
21
2.1软件测试模型
随着测试过程管理的发展,测试人员通过大量的实践
总结出了很多很好的测试过程模型。这些模型将测试 活动进行了抽象,并与开发活动进行了有机的结合, 是测试过程管理的重要依据。