软件测试的背景

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
选择的方式有三种:
使用鼠标指向并单击菜 单项, 利用热键 (Alt+E,然后Copy按C,粘 贴按 P), 或利用Windows 快捷键 Ctrl+C for Copy and Ctrl+V for Paste.
编写产品说明书的好处
确保最终产品符合客户要求以及正确计划
测试投入的唯一方法是在产品说明书中完
• 静态白盒测试——检查代码,在不执行的条件下 有条理地仔细审查软件设计、体系结构和代码, 从而找出软件缺陷的过程,有时称为结构分析。
动态测试(基于计算机的测试)
运行和使用软件以发现错误,即通常意义上的测试
(4)人工测试的好处

人工测试方法的正规性、精确性不如基于计算 机测试,但并不妨碍测试取得成功,相反可以 提高测试的功效和可靠性
《软件质量保证与测试》
第四章 检查产品说明书
(静态的黑盒测试)
主讲人: 廖雪花
大 纲
4.1 开始测试
4.2 对产品说明书进行高级审查
4.3 产品说明书的低层次测试技术
本章重点
什么是黑盒测试和白盒测试
静态测试和动态测试有何区别
审查产品说明书有哪些高级技术
在详细审查产品说明书时应注意哪些特殊
制和结构完全无关,而是将重点集中在发现程序不按其规范 正确运行的环境条件。
测试数据完全来源于软件规范,不需要了解程序的内部结构。
试 结构性测试

白盒测试的特点 白盒测试允许我们检查程序的内部结构,并从逻辑结构 中获取测试数据。 使用测试用例执行程序中所有可能的控制流路径。
整描述产品。
编写产品说明书的另一个好处是软件测试
员可以将其作为测试项目的书面材料,据
此可以在编写代码之前找出软件缺陷。
(1)软件测试的分类:
按照不同的分类方法,软件测试可分为以下几种类型。 按照开发阶段划分 按照开发阶段划分,软件测试可分为单元测试、 集成测试、系统测试和验收测试。 按照测试实施组织划分 按照测试实施组织划分,软件测试可分为开发方 测试、用户测试(β测试)和第三方测试。 按照测试技术划分 按照测试技术划分,软件测试可分为白盒测试和 黑盒测试,也可分为静态测试和动态测试。

(3)动态测试和静态测试
描述软件是如何被测试的另外两个术语是静
态测试(Static Testing)和动态测试 (Dynamic Testing) 静态测试:测试产品不运行的部分—只是检 查与审核

静态黑盒测试:测试产品规格说明
动态测试:通过运行软件进行测试

动态白盒测试:查看代码结构及其实现方式, 从而设计有针对性的测试用例并执行测试


错误发现得越早,改正错误成本越低,正确改 正错误可能性越大
程序员在开始基于计算机的测试时要经历一个 心理上的转变,改正早期发现的错误比改正后 期计算机执行发现的错误时失误更少 更容易定位以及发现由该错误引发的其他缺陷 (如连锁错误或类似错误)降低调试成本 通常会有效地查找出30%-70%的逻辑设计和 编码错误
的问题
4.1 开始测试

测试应该贯穿软件开发的全过程,从产品说明 书开始,我们就应该开始工作了。 回顾上一讲 “软件开发过程”中所介绍的4种 “软件开发模式”:大爆炸、边写边改、瀑布 和螺旋模式。 除大爆炸模式外,在其它每一种中,开发小组 都应该根据需求文档,编写一个产品规格说明, 用以定义该软件将是什么样的。
注意:进行白盒测试要冒一些风险,因为要适应代码操作
来定制测试,所以很容易形成偏见而无法进行客观测试。
黑盒测试与白盒测试的比较

完全黑盒测试通常比完全白盒测试代价要高很 多(满足所有可能执行路径的测试用例只是白 盒测试的测试用例的子集)。
白盒测试可能不会暴露数据敏感错误,在该意 义上讲不如黑盒测试。 黑盒测试在发现算法错误、定位错误方面不如 白盒测试。 白盒测试与黑盒测试都不能保证能发现软件中 的全部错误。
软件测试技术
动态测试
在测试过 白盒测 黑盒测 在测试过 代 技 代 程中,选 试 试 程中,选 码 术 码 择足够的 走 择足够的 评 审 测试用例, 针对要求的程序功 查 测试用例, 开发组内部进行的,采用讲解、提问并使用 审 查 使得每一 功能 性能 Checklist 攻击 回归 路径 语句 分支 能,按照规范的流 使得程序 方式进行的查找错误的活动。一 测试 测试 测试 测试 覆盖 覆盖 覆盖 个可执行 程进行的测试。 中的每一 般有正式的计划、流程和结果报告。 语句至少 个分支判 开发组内部进行的,采用讲 被执行一 开发组、测试组和相关人员 (QA、产品经理等)联合进行 针对要求的程序功能以外的其他要求, 程序修改或者版本更新以后,为了确 针对要求的程序功能、性能、安全、配 断的每一 在测试过程中,选择足够的测试 解、讨论和模拟运行的方式 次。 的,采用讲解、提问并使用 Checklist方式进行的查找错 包括性能、安全、配置、负载等指标, 保以前正确的功能和其他指标仍旧正 置、负载等指标,基于破坏目的、按照 种可能结 用例,使得程序中的每一条可能 进行的查找错误的活动。 18 按照规范的流程进行的测试。 确,而重新进行的测试。 误的活动。一般有正式的计划、流程和结果报告。 经验进行的随机测试。 执行的路径都至少执行一次。 果都至少

产品说明书
是软件开发小组的一个协定。它对开发的
产品进行定义,给出产品的细节、如何做、 做什么、不能做什么。
编制产品说明书的必要性:
保证最终产品与预期的一致
作为测试的重要依据
可以提前发现错误
产品说明书
产品说明书通常是利用文字和图形描述产
品的书面文档。
说明书中对软件功能不但要描述其实现的
(2)黑盒测试和白盒测试
用于描述测试方式的两个常用术语是黑盒测试 (Black-Box )和白盒测试(White-Box )。下 图说明它们的差别:
黑盒测试—功能性测试或行为测试

黑盒测试是最常用的测试策略
数据驱动的测试 输入/输出驱动的测试 功能性测试/行为测试

黑盒测试的特点
将被测试的程序看作一个黑盒子,测试目标与程序的内部机
(3)动态测试和静态测试

静态黑盒测试:测试产品规格说明 无论产品说明书的格式如何,都可以利用静
态黑盒技术测试。产品说明书是书面文字文
档或图形文档,或者两者兼而有之。通过询 问软件的设计者和编制者甚至可以测试没有 写出来的产品说明书。
(3)静态测试和动态测试
静态测试(人工测试)
不运行程序进行测试,即检查和审阅 • 静态黑盒测试——检查产品说明书

测试技术
不实际运行程序,而是通过检 查和阅读等手段来发现错误并 评估代码质量的软件测试技术。 也称为静态分析技术。 在不知道程序内部结 构,只知道程序规格 的情况下采用的测试 技术或策略。
静态测试
实际运行程序,并通 过观察程序运行的实 际结果来发现错误的 软件测试技术。 在知道程序内部 结构的情况下采 用的测试技术或 策略。
操作,还应对其实现的方式、与其它功能 的关系等进行尽可能详细的说明。
产品说明书的样例可看参考书的1、2章。
例如
Windows 计算器程序的产品规格说 明中对“复制与粘贴”功能摘录如下:
计算器的功能说明
编辑菜单有两个选项:复制和粘贴。
复制功能是将数字输入框中显示的内容复
制到Windows的剪贴板中。粘贴功能是将 剪贴板中存储的数值粘贴到数字输入框中。
相关文档
最新文档