当前位置:文档之家› 01 软件测试基本概念

01 软件测试基本概念


Copyright© 2007 创智新程
2 软件测试的意义
ִ 如何理解测试是不可或缺的? 如何理解测试是不可或缺的?
ִ 如何确保开发活动的方向是正确的? 如何确保开发活动的方向是正确的?
ִ 测试中能提供哪些数据和事实起到预测的作用? 测试中能提供哪些数据和事实起到预测的作用?
Copyright© 2007 创智新程
测试数据量
待测软件输 出类型
如果待测软件输出的结果是 未经数字化的图象,震动, 声音等,机器识别起来有难 度,这会加大自动测试系统 的成本
Copyright© 2007 创智新程
4 软件测试的分类
ִ 压力测试
ִ 用户界面测试
ִ 文档测试
Copyright© 2007 创智新程
5 软件测试人员应具备的素质和学问
5 软件测试人员应具备的素质和学问
ִ 测试人员应该精通下面这五大学问: 测试人员应该精通下面这五大学问:
经济学 心理学 统计学 刑侦学 逻辑学
Copyright© 2007 创智新程
6 软件测试工具的介绍和选择
Copyright© 2007 创智新程
6 软件测试工具的介绍和选择
ִ 应用测试工具的目的
ִ Junit ִ LoadRunner ִ Cactus ִ JUnitEE
Copyright© 2007 创智新程
7 J2EE平台内的软件测试简介 J2EE平台内的软件测试简介
Copyright© 2007 创智新程
7 J2EE平台内的软件测试简介 平台内的软件测试简介
ִ J2EE平台内的软件测试 平台内的软件测试
Copyright© 2007 创智新程
4 软件测试的分类
Copyright© 2007 创智新程
4 软件测试的分类
从大的门类上说,测试能够分为白盒测试和黑盒测试。在白盒和黑 盒测试的大范畴之类,还有种类繁多的各种其他的测试形式。其中 包括自动测试;手工测试;压力测试;协议一致性测试;互操作性 测试;现场测试;用户界面测试;文档测试等等。对于不同的项目 和不同的阶段来说,往往需要用到不同的测试手段。没有哪类测试 是可以包罗万象的。测试人员需要平时积累这些测试手段的特点和 适用范围。
应用测试工具的目的很明确,一般而言,在测试过程中应用测试工具 主要为了以下几个目的: 提高软件测试效率和质量 减少软件测试的开销,降低了软件开发的成本 减少软件测试过程中的重复劳动 实现软件测试自动化 在软件测试中应用测试工具,可以发现正常测试中很难发现的 缺陷(例如软件中的内存方面的问题) 应用软件测试工具,能较好地模拟软件的运行环境,对软件各 方面性
严重问题的列表
一些关键问题的风险 评估
Copyright© 2007 创智新程
3 软件测试的原则
Copyright© 2007 创智新程
3 软件测试的原则
ִ 完全测试程序是不可能的 ִ 软件测试是有风险的行为 ִ 测试无法显示潜伏的软件缺陷 ִ 找到的软件缺陷越多,就说明软件缺陷越多 找到的软件缺陷越多, ִ 并非所有软件缺陷都能修复 ִ 软件测试一项讲究条理的技术专业
Copyright© 2007 创智新程
4 软件测试的分类
ִ 白盒测试
图1-3 项目进度与错误带来的损失
Copyright© 2007 创智新程
4 软件测试的分类
ִ 黑盒测试 ִ 自动化测试
表1-2自动测试与手工测试的应用场合 适合应用自动测试 不适合应用自动测试
待测软件成熟 适合软件比较稳定,功能比 度 较成熟的软件,比如:已经 上市的软件的版本升级测试 ,这时的软件没有大的功能 变动,测试变成了重复性的 纯体力劳动,最适合发挥自 动测试的长处
Copyright© 2007 创智新程
5 软件测试人员应具备的素质和学问
ִ 要做测试,测试人员首先要具备七大素质:
自信自尊,充分热爱测试; 尽职尽心,以质量为己任; 有大局观,不为名利所扰; 孜孜不倦,刻苦钻研技术; 悲观工作,不能悲观生活; 心细如发,绵密绝无破绽; 发散思维,习惯剑走偏锋。
Copyright© 2007 创智新程
测试用例通过 率和不通过率
软件成熟度的 变化趋势
Copyright© 2007 创智新程
2 软件测试的意义
今后可能的问题和成 熟度走向 与变化趋势相关的信息,尤其使用于当开发进行中 ,一些新的不稳定模块即将加入到软件基线中,那 么在预期的将来这些模块会带来新的问题,从而影 响软件的成熟度。 最实际地反映当前软件的风险在何处,尤其当讨论 产品是否可以上市的时候,这一内容尤为重要。管 理者需要这一数据来判断上市的风险是否可以忍受 。 有问题不一顶严重,问题严重但用户不见得关心, 这些信息需要借助测试人员的经验和判断,管理者 也会参考这些信息做出正确的决策。
开发阶段的软件,功能不 够完善,自动测试无法顺 利运行很长时间,效率无 法得到体现。此外开发阶 段如果设计有时变更,会 严重打乱自动测试的进度 ,测试工程师需要经常根 据测试的变动修改测试脚 本,非常浪费人力
Copyright© 2007 创智新程
4 软件测试的分类
待测软件测 试周期 测试的轮次越多越好,如 果某单一产品测试轮次不 够多,而其后续产品能继 承绝大多数的测试脚本, 也在适合之列 在大业务量测试时,有时 需要营造巨大的测试数据 或测试输入,这时设计和 应用自动测试工具是必须 的选择,例如,如果要在 实验室中模拟10000个用户 同时访问某服务器,自动 测试工具是唯一的选择 自动测试的核心重点是测 试结果和期望结果的自动 比较。所以软件的输出结 果必须是机器可识别的, 比如数字,文本等 产品单一,测试轮次很少, 没有后续产品,功能点无法 有效重用,这些都是不适合 自动测试的因素 相反的,对于数据量很小的 功能验证,与其花时间搭建 自动测试的环境,脚本,还 不如举手之劳的做了算了
2 软件测试的意义
Copyright© 2007 创智新程
2 软件测试的意义
测试有两个主要的作用,第一是确认在做一个正确的东西,正确当 然是需要有标准的,对软件测试来说,软件的特性说明书就是测试 的标准。当说明书有遗漏或忽略时,标准应该来源于大家约定俗成 或者高层人士的判断。
测试的第二个作用是确保开发活动的方向是正确的。同时为了保证 开发活动方向的正确,测试人员通过各种测试报告提供有用的数据 和事实来帮助项目管理者做出正确的判定。
ִ 要做测试,测试人员首先要具备七大素质: 自信自尊,充分热爱测试 尽职尽心,以质量为己任 有大局观,不为名利所扰 孜孜不倦,刻苦钻研技术
Copyright© 2007 创智新程
课堂小结
悲观工作,不能悲观生活 心细如发,绵密绝无破绽 发散思维,习惯剑走偏锋 ִ 测试人员应该精通下面这五大学问 : 经济学 心理学 统计学 刑侦学 逻辑学 ִ 软件测试工具分为白盒测试工具,黑盒测试工具,测试管理工具,其他测 试工具。
Copyright© 2007 创智新程
6 软件测试工具的介绍和选择
ִ 测试工具在测试过程中的应用
没有考虑到公司的实际情况,盲目引入测试工具 没有形成一个良好的使用测试工具的环境 没有进行有效的测试工具的培训
Copyright© 2007 创智新程
6 软件测试工具的介绍和选择
本教材主要介绍与J2EE应用程序测试相关的测试工具。
Copyright© 2007 创智新程
课堂小结
ִ 所谓软件测试,就是出于正常合理的目的,在特定的时间环境, 用事先制定 ִ 的标准衡量一种软件产品或特性是否符合预期。 ִ 测试有两个主要的作用,第一是确认在做一个正确的东西,正确 当然是需要有标准的,对软件测试来说,软件的特性说明书就是 测试的标准;测试的第二个作用是确保开发活动的方向是正确的 。 ִ 软件测试的原则:
Copyright© 2007 创智新程ຫໍສະໝຸດ 6 软件测试工具的介绍和选择
ִ 测试工具的分类
白盒测试工具
黑盒测试工具
测试管理工具
其他测试工具
Copyright© 2007 创智新程
6 软件测试工具的介绍和选择
ִ 分析评价测试工具的主要指标
功能 价格 报表功能 测试工具的集成能力 和操作系统及开发工具的兼容性 测试工具的易用性 测试工具的侧重点 测试工具的售后服务 测试工具引入的目的是测试自动化,引入工具需要考虑工具 引入的连续性和一致性
软件测试
Copyright©2007-2009 创智新程
Copyright© 2007 创智新程
软件测试教学内容安排
ִ 软件测试基本概念 ִ 白盒测试 ִ 黑盒测试 ִ 单元测试 ִ 系统测试 ִ 压力测试 ִ 软件测试计划与管理
Copyright© 2007 创智新程
第一课 软件测试基本概念
Copyright© 2007 创智新程
Copyright© 2007 创智新程
6 软件测试工具的介绍和选择
ִ 应用测试工具的目的(续) 应用测试工具的目的(
能作测试(如模拟生成成千上万的虚拟用户同时对软件作各种 操作, 以测试软件的性能),而这些人工测试往往难以做到 应用测试管理工具,对测试流程、测试用例、测试人员及软 件缺陷等 进行有效的、标准化的管理
2 软件测试的意义
表1-1软件测试报告的主要内容
报告元素
软件成熟度的 定量评估


通过一种算法得出一个定量的数字来标示当前软件的成熟 度,这种算法不同的软件有不同的定义方式,但总体来说 和问题的严重性,数量,出现频率,新模块的数量和规模 等等因素相关。 最简单一目了然的方式来了解当前软件的状况,通过率越 高不通过率越低,软件越稳定,但缺点是无法与那些测试 用例以外的问题相匹配;换句话说,测试用例即使是100% 通过,也不一定没有BUG的软件,因为有的BUG可能不 是依据测试用例来发现的。 通过变化趋势,我们能够看出软件变成熟的速率,可以帮 助管理者预测项目还需运行多久。
相关主题