第一章 软件质量和测试的背景
1.1 软件特征与软件工程
软件的定义(IEEE)
-
软件是计算机程序、规程以及可能的相关文档和运行计算机系统需要的数据。
-
软件包含计算机程序、规程、文档和软件系统运行所必需的数据四个部分
计算机硬件vs计算机软件
- 软件是逻辑产品,而不是物理产品,所以, 软件具有和硬件完全不同的特征
软件具有与硬件完全不同的特征
- 软件是开发产生的,而不是用传统方法制造。
- 软件不会像硬件一样有磨损。
- 很多软件不能通过已有构件组装,只能自 己定义。
1.1.1 软件分类
当前的计算机软件分为七个大类
- 系统软件
- 应用软件
- Web应用软件
- 工程和科学软件
- 嵌入式软件
- 产品线软件
- 人工智能软件
新的挑战
- 普适计算
- 网络资源
- 开源软件
- 新经济
1.1.2 层次化软件工程
- 指将软件生命周期分解为若干个阶段,并在每个阶段中执行一定的活动来实现软件开发过程的工程化管理。
软件工程
- (1)将系统化的、规范的、可度量的方法 应用于软件的开发、运行和维护的过程,即将工程化 应用于软件中。
- (2)(1)中所述方法的研究
软件工程的视图
- 指从不同的角度出发,通过组织系统的各种元素(如代码、模块、接口、数据等)来描述、理解和分析软件系统的不同方面,以便更好地管理和开发软件。
三个视图
- 定义阶段针对“做什么”
- 开发阶段针对“如何做”
- 维护阶段针对“改变”
1.1.3 软件范型的转变
- 指随着软件工程的不断发展,软件范型也在不断变化。传统的软件开发模型如瀑布模型逐渐被敏捷开发、 DevOps等新型模型所取代。
1.1.4 现代软件开发
- 指在全球化、跨组织、分布式等背景下,以用户为中心、强调快速迭代、高质量和创新的软件开发方式。
1.2软件质量
1.2.1质量概念
- 指符合预期要求的特性和特征的总体体现。
1.2.2质量运动
- 指以质量为中心的全面管理和改进过程。
全面质量管理四个步骤
- 规划:确定质量目标和过程,建立质量保证体系。
- 实施:执行规划阶段确定的质量保证体系,进行过程控制、持续改进和培训等活动。
- 检测:监控和测量过程和产品,以确定它们是否符合质量标准和要求。
- 改进:通过分析检测结果和不断改进来提高产品和过程的质量,并寻求新的改进机会和方法。
1.2.3 软件质量概念
-
IEEE关于软件质量的定义:软件质量是
-
系统、部件或者过程满足规定需求的程度。
-
系统、部件或者过程满足顾客或者用户需要或期望的程度。文章来源:https://www.toymoban.com/news/detail-466061.html
该定义相对客观,强调了产品(或服务)和客户/社会需求的 一致性文章来源地址https://www.toymoban.com/news/detail-466061.html
6个主要特征
- 功能性:软件实现的功能达到要求的和隐含的用户需 求以及设计规范的程度,
- 可靠性:软件在指定条件和特定时间段内维持性能的 能力程度,
- 易使用性:用户使用该软件所付出的学习精力,
- 效率:在指定条件下,软件功能与所占用资源之间的 比值,
- 可维护性:当发现错误、运行环境改变或客户需求改 变时,程序能修改的容易程度,
- 可移植性:将软件从一种环境移入另一种环境的容易程度
软件质量保证和测试的关系
- 质量保证+测试=好的软件
1.2.4 软件质量评价体系与标准
- 指用于评估和衡量软件质量的标准、模型和框架等。
软件质量保证(SQA)
- 软件质量保证是一系列计划和活动,旨在确保软件产品和相关工作过程符合预期的标准和质量要求,并为提高软件质量提供方法和支持。
1.3 软件测试与可靠性概述
1.3.1 软件测试的意义
- 在于发现和修复软件缺陷,提高软件质量和可靠性。
1.3.2 软件测试的定义
- 软件测试是使用人工或自动手段来运行或测定某个系统的过程,检验它是否满足规定的需求或者弄清预期结果与实际结果之间的差别
1.3.3 软件测试方法
- 静态方法和动态方法
- 黑盒测试、白盒测试和灰盒测试
- 基于软件开发阶段的测试方法
1.3.4 软件测试自动化
- 指利用工具和技术实现自动化测试的过程。
- 白盒测试工具
- 功能测试工具
- 负载压力测试工具
- 测试管理工具
1.3.5 软件缺陷的修复费用
- 修复软件缺陷费用,随着时间越来越多
1.4软件质量保证与测试人才的特点
- 具备技术能力:软件质量保证和测试人员需要拥有良好的技术能力,包括软件开发技术、测试工具和方法等方面的知识。
- 注重细节:软件质量保证和测试人员需要注重细节,能够发现和记录问题,准确地描述问题并跟踪解决方案。
- 沟通协作:软件质量保证和测试人员需要良好的沟通协作能力,与开发人员、项目经理和其他相关人员合作,积极参与项目,及时反馈和解决问题。
- 分析判断:软件质量保证和测试人员需要具备敏锐的分析和判断能力,能够独立思考并快速找出问题的根本原因。
- 持续学习:软件质量保证和测试人员需要具备持续学习的意愿和能力,关注新的技术和工具,并且积极地将其应用到日常工作中,提高工作效率和质量。
- 责任心强:软件质量保证和测试人员需要具备强烈的责任心和敬业精神,能够承担自己的工作,保证项目质量和进度。
1.5本章小结
- 软件质量保证是建立一套有计划,有系统的方法,来向管 理层保证拟定出的标准、步骤、实践和方法能够正确地被 所有项目所采用。
- 软件测试是利用测试工具按照测试方案和流程对产品进行 功能和性能测试,甚至根据需要编写不同的测试工具,设 计和维护测试系统,对测试方案可能出现的问题进行分析和评估。
到了这里,关于【软件质量与软件测试 第一章】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!