软件质量保护与测试(第2版)学习总结第一章

简介: 本文是《软件质量保护与测试》(第2版)第一章的学习总结,概述了软件的特征、分类、软件工程的层次化技术、现代软件开发的变化,以及软件质量的概念和评价体系,包括黑盒、白盒和灰盒测试方法。

第一章 概述

像外行一样思考,像专家一样实践 ---金出武雄

1.1 软件特征

IEEE对软件的定义:软件是计算机程序、规程以及可能的相关文档和运行计算机系统需要的数据。数据即资源,相应地,软件包含4个部分,即计算机程序、规程、文档和软件系统运行所需的数据。

1、软件是由开发产生,而不是用传统方法制造的
2、软件不会像硬件那样有磨损
3、软件不能通过已有构件组装,只能自己定义

1.1.1 软件分类

计算机软件分为7大类:系统软件、应用软件、web应用软件、工程和科学软件、嵌入式软件、产品线软件、人工智能软件。

新的挑战:普适计算、网络资源、开源软件、新经济

1.1.2 层次化软件工程

1、软件过程、软件方法和软件工具

软件工程也是一种层次化的技术

                                         软件工程的层次图

软件工具的过程层是基础。过程将技术层结合在一起。方法层提供了软件在技术上的“如何做”。

工具层对过程层、方法层提供了自动、半自动的支持。

CASE 计算机辅助软件工程 集成了软件、硬件、数据库,形成了一个软件工程环境,类似于硬件的计算机辅助设计CAD或者计算机辅助工具CAE

                                             微软MSF的阶段和主要里程碑
2、软件工程视图

分布式和容错性是互联网的生命;简单性和模块化是软件工程的基石。

1.1.3 软件范型的转变

                                            软件范型的转变

1.1.4 现代软件开发

1、从传统软件开发到现代软件开发

                                                微软项目功能组的工作关系
2、团队与人员培养

1.2 软件质量

1.2.1 质量概念

软件结构方面、功能与性能方面、开发标准与文档方面

1.2.2 质量运动

1.2.3 软件质量概念

1. IEEE关于软件质量的定义

软件质量是:

  系统、部件或者过程满足规定需求的程度。

  系统、部件或者过程满足顾客或者用户需要或者期望的程度

该定义相对客观,强调了产品(或服务)和客户/社会需求的一致性。

2.ANSI关于软件质量的定义

软件产品满足用户给定需求的全部特性集合

软件具有期望的各种属性组合的程度

用户主观得出的软件是否满足其综合期望的程度

决定所用软件在使用中将满足其综合期望程度的软件合成特征

1.2.4 评价体系与标准

接下来就是测试方法:黑盒,白盒,灰盒。

其中黑盒和白盒是需要侧重理解的

目录
相关文章
|
26天前
|
SQL 安全 测试技术
软件测试的艺术:从错误中学习,提升产品质量
本文将探讨软件测试的重要性和如何通过测试来提高产品质量。我们将从软件测试的基本概念入手,逐步深入到不同的测试方法、工具和技术。同时,我们还将讨论如何建立有效的测试策略以及如何处理测试过程中发现的问题。
|
1天前
|
测试技术
软件质量保护与测试(第2版)学习总结第十章 黑盒测试
本文是《软件质量保护与测试》(第2版)第十章的学习总结,介绍了黑盒测试的基本概念和方法,包括等价类划分、边界值分析和因果图法,并通过具体例子展示了如何设计测试用例来验证软件的功能性需求。
10 1
软件质量保护与测试(第2版)学习总结第十章 黑盒测试
|
1天前
|
测试技术
软件质量保护与测试(第2版)学习总结第十一章 白盒测试
本文是《软件质量保护与测试》(第2版)第十一章的学习总结,详细讲解了白盒测试中的控制流测试技术,包括语句覆盖、判断覆盖、条件覆盖、判定-条件覆盖和路径覆盖等方法,并通过具体代码示例展示了如何设计测试用例来验证程序中的不同执行路径。
7 2
|
16天前
|
测试技术 数据安全/隐私保护 UED
软件测试的艺术:从错误中学习,提升用户体验
在数字化时代,软件已成为我们生活不可或缺的一部分。然而,软件的错误或缺陷往往会导致用户体验的下降,甚至引发严重的后果。因此,软件测试的重要性不言而喻。本文将探讨软件测试的核心价值,如何通过有效的测试策略和工具,从错误中学习,持续优化产品质量,提升用户体验。
30 2
|
1月前
|
Android开发
Android学习 —— 测试init.rc中的条件触发的处理顺序
Android学习 —— 测试init.rc中的条件触发的处理顺序
|
4月前
|
安全 测试技术
软件测试项目式学习二(认识软件测试及软件测试分类与案例分析)
软件测试项目式学习二(认识软件测试及软件测试分类与案例分析)
72 1
|
4月前
|
JSON 前端开发 测试技术
从零开始:学习使用 Postman 进行接口测试
在当前,API(应用程序接口)的使用变得越来越普遍。其中,HTTP/HTTPS API 是最常见的一种。无论是开发前端还是后端,测试 API 都是一个关键环节。Postman 是一种流行且强大的 API 测试工具,能够帮助开发人员轻松地进行接口测试和调试。
|
5月前
|
存储 网络协议 测试技术
【如何学习Python自动化测试】—— Cookie 处理
【如何学习Python自动化测试】—— Cookie 处理
|
5月前
|
测试技术 Python Windows
【如何学习Python自动化测试】—— 多层窗口定位
【如何学习Python自动化测试】—— 多层窗口定位
|
5月前
|
JavaScript 测试技术 Python
【如何学习Python自动化测试】—— 时间等待
【如何学习Python自动化测试】—— 时间等待