软件测试项目式学习一(认识软件生命周期与开发模型及软件质量)

简介: 软件测试项目式学习一(认识软件生命周期与开发模型及软件质量)

前言

本文分为以下内容:

1、软件的基本概念

2、软件的生命周期

3、软件的开发模型

4、软件的质量


一、软件的基本概念

什么是软件呢?   

软件一般指的是计算机软件,即计算机程序中的程序及其文档。

1、程序是指为了得到某种结果使计算机或具有信息处理能力的装置执行的代码化指令,可被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列,亦称为程序。

2、文档则是用来描述程序的需求、设计、组成、功能、开发、测试等内容的使用方法的文字资料和图表。

软件一般分为两大类:系统软件、应用软件

1、系统软件是指负责管理和控制计算机硬件及应用程序,包括操作系统、设备驱动程序、数据库管理系统等。如下图所示:

2、应用软件是指为了满足实际生活中的特定需求而开发的,种类繁多,功能各异的软件,比如:办公软件、图像音频处理软件、游戏软件、教育软件等。如下图所示:


二、软件的生命周期

什么是软件的生命周期?

1、软件和其他的产品一样,都有从“出生”到“死亡”的过程,这个过程便称为软件的生命周期。软件测试是软件生命周期中比较重要的一环。

2、软件生命周期分为三大阶段:定义阶段、开发阶段、运行(维护)阶段。其中又细分为以下六个阶段如图:


三、软件生存周期模型

什么是软件生存周期模型?

1、软件周期模型是描述软件开发过程中各种活动如何执行的模型。

2、常见模型有瀑布模型、演化模型、螺旋模型、喷泉模型。下面简单的介绍瀑布模型:

“瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。

从本质来讲,它是一个软件开发架构,开发过程是通过一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好 “返回”上一个阶段并进行适当的修改,开发进程从一个阶段“流动”到下一个阶段,这也是瀑布开发名称的由来。

瀑布模型是最早出现的软件开发模型,在软件工程中占有重要的地位,它提供了软件开发的基本框架。”——百度百科

瀑布模型如下图所示:

四、软件的质量

什么是软件的质量呢?

软件产品与其他产品一样,都是有质量要求的,软件质量关系着软件使用程度与使用寿命,一款高质量的软件更受用户欢迎,它除了满足客户的显式需求之外,往往还满足了客户隐式需求。

软件质量的三个层次:

(1)满足需求规定:软件产品符合开发者明确定义的目标,并且能可靠运行。

(2)满足用户需求:软件产品的需求是由用户产生的,软件最终的目的就是满足用户需求,解决用户的实际问题。

(3)满足用户隐式需求:除了满足用户的显式需求,软件产品如果满足用户的隐式需求,即潜在的可能需要在将来开发的功能,将会极大地提升用户满意度,这就意味着软件质量更高。——黑马程序员《软件测试》。

软件质量模型

ISO/IEC 9126:1991标准:功能性,可靠性,可使用性,效率性,可维护性,可移植性。

6个特性与27个子特性,如下图所示:

总结

本文我们了解了什么是软件,软件的生命周期贯穿软件“诞生”到“凋谢”,软件的开发模型,以及ISO/IEC 9126:1991标准的软件质量。下一篇笔者讲着重介绍什么是软件缺陷与软件测试相关概念。

目录
相关文章
|
7月前
|
人工智能 测试技术 项目管理
测试不再碎片化:AI智能体平台「项目资料套件」功能上线!
在实际项目中,需求文档分散、整理费时、测试遗漏等问题常困扰测试工作。霍格沃兹推出AI智能体测试平台全新功能——项目资料套件,可将多个关联文档打包管理,并一键生成测试用例,提升测试完整性与效率。支持套件创建、文档关联、编辑删除及用例生成,适用于复杂项目、版本迭代等场景,助力实现智能化测试协作,让测试更高效、更专业。
|
6月前
|
Java 测试技术 网络安全
Burp Suite Professional 2025.10 for Windows x64 - 领先的 Web 渗透测试软件
Burp Suite Professional 2025.10 for Windows x64 - 领先的 Web 渗透测试软件
282 0
Burp Suite Professional 2025.10 for Windows x64 - 领先的 Web 渗透测试软件
|
7月前
|
测试技术 UED 开发者
性能测试报告-用于项目的性能验证、性能调优、发现性能缺陷等应用场景
性能测试报告用于评估系统性能、稳定性和安全性,涵盖测试环境、方法、指标分析及缺陷优化建议,是保障软件质量与用户体验的关键文档。
|
7月前
|
存储 测试技术 API
数据驱动开发软件测试脚本
今天刚提交了我的新作《带着ChatGPT玩转软件开发》给出版社,在写作期间跟着ChatGPT学到许多新知识。下面分享数据驱动开发软件测试脚本。
274 0
|
9月前
|
敏捷开发 运维 数据可视化
DevOps看板工具中的协作功能:如何打破开发、测试与运维之间的沟通壁垒
在DevOps实践中,看板工具通过可视化任务管理和自动化流程,提升开发与运维团队的协作效率。它支持敏捷开发、持续交付,助力团队高效应对需求变化,实现跨职能协作与流程优化。
|
9月前
|
运维 jenkins 测试技术
"还在苦等开发部署环境?3步教你用Jenkins拿回测试主动权"
测试工程师最头疼的问题是什么?依赖开发部署环境! 开发延期→测试时间被压缩→紧急上线后BUG频出→测试背锅。传统流程中,测试被动等待部署,效率低下。而Jenkins自动化部署让测试人员自主搭建环境,实现: ✅ 随时触发测试,不再苦等开发 ✅ 部署效率提升10倍,抢回测试时间 ✅ 改善团队协作,减少互相甩锅 学习Jenkins部署能力,成为高效测试工程师,告别被动等待!
|
9月前
|
Java 测试技术 Spring
简单学Spring Boot | 博客项目的测试
本内容介绍了基于Spring Boot的博客项目测试实践,重点在于通过测试驱动开发(TDD)优化服务层代码,提升代码质量和功能可靠性。案例详细展示了如何为PostService类编写测试用例、运行测试并根据反馈优化功能代码,包括两次优化过程。通过TDD流程,确保每项功能经过严格验证,增强代码可维护性与系统稳定性。
339 0
|
9月前
|
人工智能 物联网 测试技术
智能化测试基础架构:软件质量保障的新纪元
本文介绍了智能化测试基础架构的核心构成与优势。该架构融合AI、领域工程与自动化技术,包含智能测试平台、测试智能体、赋能引擎和自动化工具链四部分,能自动生成用例、调度执行、分析结果,显著提升测试效率与覆盖率。其核心优势在于实现专家经验规模化、质量前移和快速适应业务变化,助力企业构建新一代质量保障体系。建议从构建知识图谱和试点关键领域智能体起步,逐步推进测试智能化转型。
|
9月前
|
人工智能 数据可视化 测试技术
UAT测试排程工具深度解析:让验收测试不再失控,项目稳稳上线
在系统交付节奏加快的背景下,“测试节奏混乱”已成为项目延期的主因之一。UAT测试排程工具应运而生,帮助团队结构化拆解任务、清晰分配责任、实时掌控进度,打通需求、测试、开发三方协作闭环,提升测试效率与质量。本文还盘点了2025年热门UAT工具,助力团队选型落地,告别靠表格和群聊推进测试的低效方式,实现有节奏、有章法的测试管理。
|
数据可视化 前端开发 测试技术
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。