软件质量保护与测试(第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 评价体系与标准

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

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

目录
相关文章
|
7月前
|
测试技术 持续交付 UED
软件测试的艺术:确保质量的实战策略
在软件开发的舞台上,测试是那把确保每个功能如交响乐般和谐奏响的指挥棒。本文将深入探讨软件测试的重要性、基本类型以及如何设计高效的测试策略。我们将通过一个实际的代码示例,展示如何运用这些策略来提升软件质量和用户体验。
|
1月前
|
人工智能 安全 网络安全
Burp Suite Professional 2025.5 for macOS x64 & ARM64 - 领先的 Web 渗透测试软件
Burp Suite Professional 2025.5 for macOS x64 & ARM64 - 领先的 Web 渗透测试软件
93 3
|
1月前
|
安全 测试技术 Linux
Flawnter 5.9.1 (macOS, Linux, Windows) - 应用程序安全测试软件
Flawnter 5.9.1 (macOS, Linux, Windows) - 应用程序安全测试软件
81 2
Flawnter 5.9.1 (macOS, Linux, Windows) - 应用程序安全测试软件
|
1月前
|
人工智能 安全 网络安全
Burp Suite Professional 2025.5 for Windows x64 - 领先的 Web 渗透测试软件
Burp Suite Professional 2025.5 for Windows x64 - 领先的 Web 渗透测试软件
112 4
Burp Suite Professional 2025.5 for Windows x64 - 领先的 Web 渗透测试软件
|
7月前
|
安全 关系型数据库 测试技术
学习Python Web开发的安全测试需要具备哪些知识?
学习Python Web开发的安全测试需要具备哪些知识?
167 61
|
16天前
|
测试技术
软考软件测评师大题——案例分析之白盒测试
历年下午案例试题一固定考察白盒测试,主要包含三大核心问题:推导逻辑条件、绘制控制流图及计算环路复杂度、确定线性无关路径集合。内容涵盖覆盖层级标准(语句、分支、判定、条件覆盖等)、控制流图构建规范(顺序、分支、循环结构转换原则)、环路复杂度计算公式以及线性无关路径生成方法。通过典型题型示例解析,如代码路径分析与验证指标,帮助考生掌握解题思路和技巧。
|
16天前
|
测试技术
软考软件评测师——可靠性测试测试方法
软件可靠性是指软件在规定条件和时间内完成预定功能的能力,受运行环境、软件规模、内部结构、开发方法及可靠性投入等因素影响。失效概率指软件运行中出现失效的可能性,可靠度为不发生失效的概率,平均无失效时间(MTTF)体现软件可靠程度。案例分析显示,嵌入式软件需满足高可靠性要求,如机载软件的可靠度需达99.99%以上,通过定量指标评估其是否达标。
|
16天前
|
测试技术
软考软件评测师——黑盒测试测试方法
本内容系统介绍了黑盒测试的核心方法与实践技巧。主要包括:等价类划分法(有效/无效输入及划分原则)、边界值分析法(聚焦边界点选取测试数据)、决策表法(规则计算与表格优化)、边界值设计七原则(涵盖输入输出与隐藏边界)以及黑盒测试方法体系(多种测试方法概述)。特别详细讲解了场景法实践指南,通过模拟用户操作流程,区分基本流与备选流,并生成优化的测试用例矩阵,为全面覆盖功能测试提供指导。
|
16天前
|
安全 测试技术 持续交付
软考软件评测师——基于风险的测试技术
本文详细阐述了测试计划的核心要素与制定流程,涵盖测试范围界定、实施策略规划、资源配置及风险管理机制。通过风险识别方法论和评估模型,构建了完整的质量保障体系。同时,针对不同测试级别与类型提供具体配置建议,并提出技术选型原则与实施规范,确保测试活动高效有序开展,为项目成功奠定基础。内容结合实际经验,具有较强指导意义。
|
5月前
|
安全 测试技术
关于Courtney定律与软件测试(质量)
Courtney定律由Robert H. Courtney提出,涵盖系统安全与质量评估。第一定律强调特定环境对安全性和质量评论的重要性;第二定律指出安全或质量支出不应超过潜在损失,完美性需无限代价且零风险/缺陷不可实现;第三定律表明管理问题无技术解,技术问题有管理解。这些定律适用于安全及软件测试领域,指导合理资源分配和风险管理。
63 18