`

第二章,软件测试技术(续)

阅读更多

   软件质量缺陷的原因

  • 缺乏或者没有进行沟通
  • 软件复杂度
  • 编程错误
  • 不断变更的需求
  • 时间的压力
  • 开发人员的压力
  • 缺乏文档的代码
  • 软件开发的工具

测试的原则

  1. 尽早并持续的测试
  2. 使用测试用例
  3. 避免自检
  4. 在设计测试用例时,应当包括合理的输入条件和不合理的输入条件
  5. 充分注意测试中的群集现象
  6. 应当对每个测试结果做全面检查
  7. 妥善保存测试产物

测试体系

  • 整个测试体系包括:测试过程、测试方法、测试工具、测试管理工具、测试用例库和缺陷库
  • 根据系统特性选择相应的测试方法
  • 未来高效的利用测试方法,要使用有效的工具
  • 通过测试灵活的组合各种测试方法,并有效管理
  • 为了有效的管理和改进测试过程,要采用测试管理工具
  • 测试过程的主要财富是“测试用例库”和缺陷库
  • 通过分析“缺陷库”可以有效的进行过程和改进,并评价一个软件的质量

可测试性

  • 可操作性
  • 可观察性
  • 可控制性
  • 可分解性
  • 简单性
  • 稳定性
  • 易理解性

一个好的测试的属性

  • 一个好的测试发现错误的可能性很高
  • 一个好的测试并不冗余
  • 一个好的测试应该是最佳品种
  • 一个好的测试既不会太简单,也不会太复杂

测试显示了什么

  • 一个成功的测试是指没有找到错误的测试,我们的目标是设计这样的测试,它们能够系统的揭示不同类型的错误,并且耗费最少时间与最小工作量
  • 显示了错误、与需求不一致、性能问题和质量的迹象

注意:测试无法说明错误不存在,它只能表示软件错误已经出现

 

谁来测试软件

开发人员:理解并构建系统,但是迫于交付计划的压力,只是进行少量的测试,开发人员一般负责进行单元和组件的测试

独立的测试人员:必须学习系统,但是被质量所驱动尽力的找到系统的缺陷,测试人员负责计划、设计、实施和评估测试,并对测试过程和测试资产进行管理

 

注意:我们每个人都不可能彻底的测试

 

测试用例的设计

“错误 潜伏在角落里,聚集在边界上”

目标:发现错误

标准:以一种完全的方式

约束:以最小的工作量和时间花费


软件测试的方法

(黑盒测试、白盒测试)

黑盒测试:若了解产品德特定功能,则构造测试,以证实各功能完全可执行,同时在各功能中寻找错误

白盒测试:若了解产品的内部构造,则构造测试,以确保“所有的齿轮吻合”,即内部操作依据规约执行,而且所有的内部构造被充分利用

 

白盒测试

它有时被称为玻璃盒测试,是一种测试用例设计方法,它使用程序设计的控制结构导出测试用例。

软件工程师使用它能够产生测试用例:

  1. 保证一个模块中的所有的独立路径至少被使用一次,
  2. 对所有的逻辑均需测试true和false
  3. 在上下边界及可操作范围内运行所有循环
  4. 检查内部数据结构以确保其有效性

白盒测试主要关注程序结构,通过分析程序中的关键结构设计测试用例

白盒测试的主要方法:语句覆盖方法、分支覆盖方法、逻辑覆盖方法

 

为什么要进行白盒测试呢?

  1. 逻辑错误和不正确假设与一条程序 路径被运行的可能性成反比
  2. 我们经常相信某逻辑路径不可能被执行,而事实上,它可能在正常的基础上被执行
  3. 印刷上的错误是随机的

白盒测试的方法

 

语句覆盖方法的步骤:

  • 程序结构化:将程序转化为流图
  • 环形复杂度计算:得到的是要覆盖所有语句,独立路径数量的上限N
  • 构造独立路径:构造N条独立路径
  • 确认分支点:针对每条独立路径,确认独立路径上的所有分支点
  • 构造执行条件:根据一条独立路径上的所有分支点集合确认路径执行条件集合
  • 编制用例:对这些路径和路径执行条件集合进行分析,编制用例

 

 

 

分享到:
评论

相关推荐

    软件测试技术--中国软件评测中心

    测试基础(续) 第一章 软件测试的发展 第二章 软件测试的定义 第三章 软件测试的模型 第四章 质量保证与测试 第五章 测试方法 第六章 测试策略 第七章 测试实施

    程序员编程艺术第一~二十七章集锦与总结(教你如何编程)by_July-带书签目录超清文字版

    第二章至第五章可能会涉及函数的使用和设计,包括函数的定义、参数传递、返回值以及模块化编程。理解如何组织代码并有效地复用是提高代码质量的关键。 第六章至第十章可能会讲解数据结构,如数组、链表、栈、队列和...

    程序员编程艺术第一~二十七章集锦与总结(教你如何编程)

    - **第二章:字符串是否包含及相关问题扩展** - **知识点**:字符串搜索算法、模式匹配算法。 - **应用场景**:文本搜索、模式识别等领域。 - **第三章:寻找最小的k个数** - **知识点**:排序算法、堆数据结构...

    电子商务网络技术第4章.ppt

    【电子商务网络技术】第四章主要探讨了五项网络工具的使用,分别是压缩管理工具 WinRAR、下载工具迅雷、上传工具 FlashFXP、网络会议工具 NetMeeting以及网络电话软件 Skype。下面将对其中的前两项工具进行详细阐述...

    协同管理软件-ioas标准版实施培训方案.docx

    ### 第二章 实施方案 2.1 项目实施组织 实施过程中,会成立一个由项目经理、业务分析师、技术专家和关键用户组成的项目团队。他们将负责项目的规划、执行和监控,确保项目按期完成。 2.2 项目实施阶段 通常包括...

    EDA课程初识及参考书籍.pdf

    第二章深入探讨可编程逻辑器件,如CPLD和FPGA的内部结构和应用,同时涵盖在系统编程和边界扫描测试技术。第三章专注于MAX+PLUSⅡ软件,学生将学习其特点和操作,包括原理图和VHDL语言的设计输入,编译,仿真,时序...

    {广告传媒}某市广播电视大学数据库应用设计报告.pdf

    第二章详细介绍了酒店管理系统的概念和应用优势。酒店管理不仅涵盖客房服务,还包括预订、财务管理等多个方面。通过管理系统,可以优化这些流程,提高服务质量,降低运营成本。报告还分析了当前市场的情况,强调了...

    JINI核心技术

    第二部分 Jini 的开发 第5章 Jini起步 65 5.1 运行Jini服务 65 5.2 按部署情况进行开发 66 5.2.1 运行多个HTTP服务器 67 5.2.2 警惕代码基问题 67 5.2.3 设置安全管理器 68 5.2.4 注意安全策略 68 5.2.5 注意...

    JINI 核心技术

    第二部分 Jini 的开发 第5章 Jini起步 65 5.1 运行Jini服务 65 5.2 按部署情况进行开发 66 5.2.1 运行多个HTTP服务器 67 5.2.2 警惕代码基问题 67 5.2.3 设置安全管理器 68 5.2.4 注意安全策略 68 5.2.5 注意...

    基于Android客户端的应用市场设计与实现论文

    第二章 需求分析与系统设计 ……(这部分将详细阐述系统需求分析、功能模块设计、界面布局设计等) 第三章 关键技术实现 ……(介绍所用技术,如Android SDK、网络通信、数据库设计、安全机制等) 第四章 系统...

    Nicolet-Antaris傅立叶近红外分析仪用户培训手册.docx

    #### 第二章:TQAnalyst光谱分析软件 ##### 第一节:TQAnalyst基本设置和常用功能介绍 - **功能概述**: - 数据导入/导出。 - 光谱预处理。 - 定量分析模型建立与验证。 - 模型优化与保存。 - **关键功能**: ...

    VisualFoxPro90程序设计基础第5章程序设计基础.pptx

    **标题与描述** 提供的信息显示这是一份关于《VisualFoxPro 9.0 程序设计基础》的教学材料,针对的是第五章——程序设计基础。这份材料由南京信息工程大学计算机与软件学院的刘生教授主讲。 **教学目的和要求**: -...

    pdf文档-This chapter describes how to install

    对于网络许可证选项的设置,请参阅第二章“网络安装程序”。 #### 二、MathWorks Release 14产品家族特性 MathWorks Release 14产品家族包含了多种功能强大的工具集,具体包括: - **计算**:支持高级数值计算...

    Java面试宝典和大学生面试宝典

    一个求职者就碰到两家公司问了同样的问题,第一次答 不出,回去没查,第二次又被问到,当然这是很郁闷的事情。  3.2 电话面试 电话面试主要是对简历上一些模糊信息的确认、之前经历的验证、 针对应聘职位简单技术...

    iBATIS实战

    第二部分 iBATIS基础知识 第3章 安装和配置iBATIS 44 3.1 获得一份iBATIS发布 45 3.1.1 二进制发布 45 3.1.2 从源代码构建 45 3.2 发布中包含的内容 47 3.3 依赖性 48 3.3.1 针对延迟加载的字节码增强 48 3.3.2 ...

    windows 2003 DHCP详解

    ### 第二章 DHCP服务的结构 #### 2.1 DHCP服务器 DHCP服务器负责为客户端分配IP地址和其他网络配置信息。在Windows Server 2003中,DHCP服务器需要运行相应的服务,并配置作用域和其他关键参数。 #### 2.2 DHCP...

    C#微软培训资料

    第二章 运行环境 全面了解.NET.12 2.1 .NET 结构.12 2.2 公用语言运行时环境与公用语言规范.13 2.3 开 发 工 具 .17 2.4 小 结 .19 第三章 编写第一个应用程序 .20 3.1 Welcome 程序 .20 3.2 代 码 分 ...

    高质量C++_C编程指南

    ### 第1章 文件结构 #### 1.1 版权和版本声明 - 每个源文件都应包含版权和版本声明,确保代码的合法性和追溯性。 #### 1.2 头文件结构 - 头文件应包括预处理器指令、全局变量声明、函数原型和类定义等,且需遵循...

    vc++ 开发实例源码包

    该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了上述功能,而且网速一般有几M/S。另外有只打开一个应用程序、CRichEdit的使用、最小到...

    vc++ 应用源码包_3

    该实例可进行局域网的聊天、一对多、多对一、和多对多的传送和续传,理论上这是我本人的实现目的,而且目前经测试已基本实现了上述功能,而且网速一般有几M/S。另外有只打开一个应用程序、CRichEdit的使用、最小到...

Global site tag (gtag.js) - Google Analytics